![]() |
|
|||
File indexing completed on 2024-04-06 12:11:16
0001 #ifndef PAIRPRODUCTIONSIMULATOR_H 0002 #define PAIRPRODUCTIONSIMULATOR_H 0003 0004 #include "FastSimulation/MaterialEffects/interface/MaterialEffectsSimulator.h" 0005 0006 /** 0007 * This class computes the probability for photons ( under the form 0008 * of a ParticlePropagator, i.e., a RawParticle) to convert into an 0009 * e+e- pair in the tracker layer. In case, it returns a list of 0010 * two RawParticle's (e+ and e-). The fraction of radiation lengths 0011 * traversed by the particle in this tracker layer is determined in 0012 * MaterialEffectsSimulator. 0013 * 0014 * This version (a la PDG) of a dE/dx generator replaces the buggy 0015 * GEANT3 Fortran -> C++ former version (up to FAMOS_0_8_0_pre7). 0016 * 0017 * \author Patrick Janot 0018 * $Date: 24-Dec-2003 0019 */ 0020 0021 class ParticlePropagator; 0022 class RandomEngineAndDistribution; 0023 0024 class PairProductionSimulator : public MaterialEffectsSimulator { 0025 public: 0026 /// Constructor 0027 PairProductionSimulator(double photonEnergyCut); 0028 0029 /// Default Destructor 0030 ~PairProductionSimulator() override {} 0031 0032 private: 0033 /// The minimal photon energy for possible conversion 0034 double photonEnergy; 0035 0036 /// Generate an e+e- pair according to the probability that it happens 0037 void compute(ParticlePropagator& Particle, RandomEngineAndDistribution const*) override; 0038 0039 /// A universal angular distribution - still from GEANT. 0040 double gbteth(double ener, double partm, double efrac, RandomEngineAndDistribution const*); 0041 }; 0042 #endif // PAIRPRODUCTIONSIMULATOR
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |