#include <MaterialEffectsSimulator.h>
Public Types | |
typedef std::vector < RawParticle > ::const_iterator | RHEP_const_iter |
Public Member Functions | |
RHEP_const_iter | beginDaughters () const |
Returns const iterator to the beginning of the daughters list. More... | |
int | closestDaughterId () |
The id of the closest charged daughter (filled for nuclear interactions only) More... | |
double | eMass () const |
Electron mass in GeV/c2. More... | |
RHEP_const_iter | endDaughters () const |
Returns const iterator to the end of the daughters list. More... | |
double | excitE () const |
Mean excitation energy (in GeV) More... | |
MaterialEffectsSimulator (double A=28.0855, double Z=14.0000, double density=2.329, double radLen=9.360) | |
unsigned | nDaughters () const |
Returns the number of daughters. More... | |
XYZVector | orthogonal (const XYZVector &) const |
A vector orthogonal to another one (because it's not in XYZTLorentzVector) More... | |
double | radLenIncm () const |
One radiation length in cm. More... | |
double | rho () const |
Density in g/cm3. More... | |
void | setNormalVector (const GlobalVector &normal) |
Sets the vector normal to the surface traversed. More... | |
double | theA () const |
A. More... | |
double | theZ () const |
Z. More... | |
void | updateState (ParticlePropagator &myTrack, double radlen, RandomEngineAndDistribution const *) |
Compute the material effect (calls the sub class) More... | |
virtual | ~MaterialEffectsSimulator () |
Protected Attributes | |
std::vector< RawParticle > | _theUpdatedState |
double | A |
double | density |
double | radLen |
double | radLengths |
int | theClosestChargedDaughterId |
GlobalVector | theNormalVector |
double | Z |
Private Member Functions | |
virtual void | compute (ParticlePropagator &Particle, RandomEngineAndDistribution const *)=0 |
Overloaded in all material effects updtators. More... | |
double | radiationLength () const |
Returns the fraction of radiation lengths traversed. More... | |
This is the generic class for Material Effects in the tracker material, from which FamosPairProductionSimulator, FamosBremsstrahlungSimulator, FamosEnergyLossSimulator and FamosMultipleScatteringSimulator inherit. It determines the fraction of radiation lengths traversed by the particle in this tracker layer, defines the tracker layer characteristics (hmmm, 100% Silicon, very crude, but what can we do?) and returns a list of new RawParticles if needed.
Definition at line 25 of file MaterialEffectsSimulator.h.
typedef std::vector<RawParticle>::const_iterator MaterialEffectsSimulator::RHEP_const_iter |
Definition at line 29 of file MaterialEffectsSimulator.h.
MaterialEffectsSimulator::MaterialEffectsSimulator | ( | double | A = 28.0855 , |
double | Z = 14.0000 , |
||
double | density = 2.329 , |
||
double | radLen = 9.360 |
||
) |
Definition at line 9 of file MaterialEffectsSimulator.cc.
References _theUpdatedState.
|
virtual |
Definition at line 16 of file MaterialEffectsSimulator.cc.
References _theUpdatedState.
|
inline |
Returns const iterator to the beginning of the daughters list.
Definition at line 60 of file MaterialEffectsSimulator.h.
References _theUpdatedState.
Referenced by MaterialEffects::interact().
|
inline |
The id of the closest charged daughter (filled for nuclear interactions only)
Definition at line 75 of file MaterialEffectsSimulator.h.
References theClosestChargedDaughterId.
Referenced by MaterialEffects::interact().
|
privatepure virtual |
Overloaded in all material effects updtators.
Implemented in MuonBremsstrahlungSimulator, NuclearInteractionSimulator, BremsstrahlungSimulator, EnergyLossSimulator, PairProductionSimulator, and MultipleScatteringSimulator.
Referenced by updateState().
|
inline |
Electron mass in GeV/c2.
Definition at line 53 of file MaterialEffectsSimulator.h.
Referenced by PairProductionSimulator::compute(), and EnergyLossSimulator::compute().
|
inline |
Returns const iterator to the end of the daughters list.
Definition at line 63 of file MaterialEffectsSimulator.h.
References _theUpdatedState.
Referenced by MaterialEffects::interact().
|
inline |
Mean excitation energy (in GeV)
Definition at line 51 of file MaterialEffectsSimulator.h.
References theZ().
Referenced by EnergyLossSimulator::compute().
|
inline |
Returns the number of daughters.
Definition at line 66 of file MaterialEffectsSimulator.h.
References _theUpdatedState.
Referenced by MaterialEffects::interact().
A vector orthogonal to another one (because it's not in XYZTLorentzVector)
Definition at line 35 of file MaterialEffectsSimulator.cc.
References x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
Referenced by MultipleScatteringSimulator::compute(), and NuclearInteractionSimulator::compute().
|
inlineprivate |
Returns the fraction of radiation lengths traversed.
Definition at line 83 of file MaterialEffectsSimulator.h.
References radLengths.
|
inline |
One radiation length in cm.
Definition at line 49 of file MaterialEffectsSimulator.h.
References radLen.
Referenced by MultipleScatteringSimulator::compute(), and EnergyLossSimulator::compute().
|
inline |
Density in g/cm3.
Definition at line 47 of file MaterialEffectsSimulator.h.
References density.
Referenced by EnergyLossSimulator::compute().
|
inline |
Sets the vector normal to the surface traversed.
Definition at line 69 of file MaterialEffectsSimulator.h.
References theNormalVector.
Referenced by MuonSimHitProducer::applyMaterialEffects(), and MaterialEffects::interact().
|
inline |
A.
Functions to return atomic properties of the material Here the tracker material is assumed to be 100% Silicon
Definition at line 43 of file MaterialEffectsSimulator.h.
References A.
Referenced by EnergyLossSimulator::compute(), and NuclearInteractionSimulator::compute().
|
inline |
Z.
Definition at line 45 of file MaterialEffectsSimulator.h.
References Z.
Referenced by EnergyLossSimulator::compute(), excitE(), PairProductionSimulator::gbteth(), BremsstrahlungSimulator::gbteth(), and MuonBremsstrahlungSimulator::gbteth().
void MaterialEffectsSimulator::updateState | ( | ParticlePropagator & | myTrack, |
double | radlen, | ||
RandomEngineAndDistribution const * | random | ||
) |
Compute the material effect (calls the sub class)
Definition at line 21 of file MaterialEffectsSimulator.cc.
References _theUpdatedState, compute(), radLengths, and theClosestChargedDaughterId.
Referenced by MuonSimHitProducer::applyMaterialEffects(), MaterialEffects::interact(), and CalorimetryManager::MuonMipSimulation().
|
protected |
Definition at line 88 of file MaterialEffectsSimulator.h.
Referenced by beginDaughters(), PairProductionSimulator::compute(), BremsstrahlungSimulator::compute(), NuclearInteractionSimulator::compute(), MuonBremsstrahlungSimulator::compute(), endDaughters(), MaterialEffectsSimulator(), nDaughters(), updateState(), and ~MaterialEffectsSimulator().
|
protected |
Definition at line 93 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and theA().
|
protected |
Definition at line 95 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and rho().
|
protected |
Definition at line 96 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and radLenIncm().
|
protected |
Definition at line 90 of file MaterialEffectsSimulator.h.
Referenced by MultipleScatteringSimulator::compute(), PairProductionSimulator::compute(), EnergyLossSimulator::compute(), BremsstrahlungSimulator::compute(), NuclearInteractionSimulator::compute(), MuonBremsstrahlungSimulator::compute(), radiationLength(), and updateState().
|
protected |
Definition at line 100 of file MaterialEffectsSimulator.h.
Referenced by closestDaughterId(), NuclearInteractionSimulator::compute(), and updateState().
|
protected |
Definition at line 98 of file MaterialEffectsSimulator.h.
Referenced by MultipleScatteringSimulator::compute(), and setNormalVector().
|
protected |
Definition at line 94 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), BeamSpotObj.BeamSpot::Reset(), and theZ().