Computes the probability for photons to convert into an e+e- pair in the tracker layer. More...
Public Member Functions | |
void | interact (fastsim::Particle &particle, const SimplifiedGeometry &layer, std::vector< std::unique_ptr< fastsim::Particle > > &secondaries, const RandomEngineAndDistribution &random) override |
Perform the interaction. More... | |
PairProduction (const std::string &name, const edm::ParameterSet &cfg) | |
Constructor. More... | |
~PairProduction () override | |
Default destructor. More... | |
Public Member Functions inherited from fastsim::InteractionModel | |
const std::string | getName () |
Return (unique) name of this interaction. More... | |
InteractionModel (std::string name) | |
Constructor. More... | |
virtual void | registerProducts (edm::ProducerBase &producer) const |
In case interaction produces and stores content in the event (e.g. TrackerSimHits). More... | |
virtual void | storeProducts (edm::Event &iEvent) |
In case interaction produces and stores content in the event (e.g. TrackerSimHits). More... | |
virtual | ~InteractionModel () |
Default destructor. More... | |
Private Member Functions | |
double | gbteth (double ener, double partm, double efrac, const RandomEngineAndDistribution &random) const |
A universal angular distribution. More... | |
Private Attributes | |
double | minPhotonEnergy_ |
Cut on minimum energy of photons. More... | |
double | Z_ |
Atomic number of material (usually silicon Z=14) More... | |
Computes the probability for photons to convert into an e+e- pair in the tracker layer.
In case, it returns a list of two Secondaries (e+ and e-).
Definition at line 34 of file PairProduction.cc.
fastsim::PairProduction::PairProduction | ( | const std::string & | name, |
const edm::ParameterSet & | cfg | ||
) |
Constructor.
Definition at line 68 of file PairProduction.cc.
References edm::ParameterSet::getParameter(), minPhotonEnergy_, and Z_.
|
inlineoverride |
Default destructor.
Definition at line 41 of file PairProduction.cc.
References gbteth(), interact(), and random.
|
private |
A universal angular distribution.
ener | |
partm | |
efrac | |
random | The Random Engine. |
Definition at line 182 of file PairProduction.cc.
References beta, edmIntegrityCheck::d, DEFINE_EDM_PLUGIN, RandomEngineAndDistribution::flatShoot(), cmsBatch::log, M_PI, and Z_.
Referenced by interact(), and ~PairProduction().
|
overridevirtual |
Perform the interaction.
particle | The particle that interacts with the matter. |
layer | The detector layer that interacts with the particle. |
secondaries | Particles that are produced in the interaction (if any). |
random | The Random Engine. |
Implements fastsim::InteractionModel.
Definition at line 78 of file PairProduction.cc.
References funct::cos(), fastsim::Constants::eMass, RandomEngineAndDistribution::flatShoot(), gbteth(), fastsim::SimplifiedGeometry::getThickness(), cmsBatch::log, M_PI, SiStripPI::max, minPhotonEnergy_, fastsim::Particle::momentum(), fastsim::Particle::pdgId(), fastsim::Particle::position(), funct::sin(), and mathSSE::sqrt().
Referenced by ~PairProduction().
|
private |
Cut on minimum energy of photons.
Definition at line 63 of file PairProduction.cc.
Referenced by interact(), and PairProduction().
|
private |
Atomic number of material (usually silicon Z=14)
Definition at line 64 of file PairProduction.cc.
Referenced by gbteth(), and PairProduction().