Implementation of multiple scattering in the tracker layers. More...
Public Member Functions | |
void | interact (Particle &particle, const SimplifiedGeometry &layer, std::vector< std::unique_ptr< Particle > > &secondaries, const RandomEngineAndDistribution &random) override |
Perform the interaction. More... | |
MultipleScattering (const std::string &name, const edm::ParameterSet &cfg) | |
Constructor. More... | |
~MultipleScattering () 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 | |
XYZVector | orthogonal (const XYZVector &aVector) const |
Return an orthogonal vector. More... | |
Private Attributes | |
double | minPt_ |
Cut on minimum pT of particle. More... | |
double | radLenInCm_ |
Radiation length of material (usually silicon X0=9.360) More... | |
Implementation of multiple scattering in the tracker layers.
Computes the direction change by multiple scattering of a charged particle (assumes constant properties of material).
Definition at line 37 of file MultipleScattering.cc.
fastsim::MultipleScattering::MultipleScattering | ( | const std::string & | name, |
const edm::ParameterSet & | cfg | ||
) |
Constructor.
Definition at line 64 of file MultipleScattering.cc.
References edm::ParameterSet::getParameter(), minPt_, and radLenInCm_.
|
inlineoverride |
Default destructor.
Definition at line 44 of file MultipleScattering.cc.
References interact(), orthogonal(), and random.
|
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 74 of file MultipleScattering.cc.
References funct::abs(), fastsim::Particle::charge(), funct::cos(), delta, MillePedeFileConverter_cfg::e, Exception, RandomEngineAndDistribution::flatShoot(), RandomEngineAndDistribution::gaussShoot(), fastsim::SimplifiedGeometry::getGeomProperty(), fastsim::SimplifiedGeometry::getThickness(), fastsim::SimplifiedGeometry::isForward(), cmsBatch::log, M_PI, minPt_, fastsim::Particle::momentum(), orthogonal(), p2, fastsim::Particle::position(), radLenInCm_, funct::sin(), mathSSE::sqrt(), and theta().
Referenced by ~MultipleScattering().
Return an orthogonal vector.
Definition at line 172 of file MultipleScattering.cc.
References DEFINE_EDM_PLUGIN.
Referenced by interact(), and ~MultipleScattering().
|
private |
Cut on minimum pT of particle.
Definition at line 59 of file MultipleScattering.cc.
Referenced by interact(), and MultipleScattering().
|
private |
Radiation length of material (usually silicon X0=9.360)
Definition at line 60 of file MultipleScattering.cc.
Referenced by interact(), and MultipleScattering().