#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 (const RandomEngine *engine, 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) |
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 |
const RandomEngine * | random |
int | theClosestChargedDaughterId |
GlobalVector | theNormalVector |
double | Z |
Private Member Functions | |
virtual void | compute (ParticlePropagator &Particle)=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 23 of file MaterialEffectsSimulator.h.
typedef std::vector<RawParticle>::const_iterator MaterialEffectsSimulator::RHEP_const_iter |
Definition at line 27 of file MaterialEffectsSimulator.h.
MaterialEffectsSimulator::MaterialEffectsSimulator | ( | const RandomEngine * | engine, |
double | A = 28.0855 , |
||
double | Z = 14.0000 , |
||
double | density = 2.329 , |
||
double | radLen = 9.360 |
||
) |
Definition at line 10 of file MaterialEffectsSimulator.cc.
References _theUpdatedState, and random.
|
virtual |
Definition at line 19 of file MaterialEffectsSimulator.cc.
References _theUpdatedState.
|
inline |
Returns const iterator to the beginning of the daughters list.
Definition at line 59 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 74 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 52 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 62 of file MaterialEffectsSimulator.h.
References _theUpdatedState.
Referenced by MaterialEffects::interact().
|
inline |
Mean excitation energy (in GeV)
Definition at line 50 of file MaterialEffectsSimulator.h.
References theZ().
Referenced by EnergyLossSimulator::compute().
|
inline |
Returns the number of daughters.
Definition at line 65 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 37 of file MaterialEffectsSimulator.cc.
References vdt::x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
Referenced by MultipleScatteringSimulator::compute(), and NuclearInteractionSimulator::compute().
|
inlineprivate |
Returns the fraction of radiation lengths traversed.
Definition at line 82 of file MaterialEffectsSimulator.h.
References radLengths.
|
inline |
One radiation length in cm.
Definition at line 48 of file MaterialEffectsSimulator.h.
References radLen.
Referenced by MultipleScatteringSimulator::compute(), and EnergyLossSimulator::compute().
|
inline |
Density in g/cm3.
Definition at line 46 of file MaterialEffectsSimulator.h.
References density.
Referenced by EnergyLossSimulator::compute().
|
inline |
Sets the vector normal to the surface traversed.
Definition at line 68 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 42 of file MaterialEffectsSimulator.h.
References A.
Referenced by EnergyLossSimulator::compute(), and NuclearInteractionSimulator::compute().
|
inline |
Z.
Definition at line 44 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 | ||
) |
Compute the material effect (calls the sub class)
Definition at line 24 of file MaterialEffectsSimulator.cc.
References _theUpdatedState, compute(), radLengths, and theClosestChargedDaughterId.
Referenced by MuonSimHitProducer::applyMaterialEffects(), MaterialEffects::interact(), and CalorimetryManager::MuonMipSimulation().
|
protected |
Definition at line 87 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 92 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and theA().
|
protected |
Definition at line 94 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and rho().
|
protected |
Definition at line 95 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and radLenIncm().
|
protected |
Definition at line 89 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 99 of file MaterialEffectsSimulator.h.
Referenced by BremsstrahlungSimulator::brem(), MuonBremsstrahlungSimulator::brem(), MultipleScatteringSimulator::compute(), PairProductionSimulator::compute(), NuclearInteractionSimulator::compute(), PairProductionSimulator::gbteth(), BremsstrahlungSimulator::gbteth(), MuonBremsstrahlungSimulator::gbteth(), MaterialEffectsSimulator(), NuclearInteractionSimulator::NuclearInteractionSimulator(), BremsstrahlungSimulator::poisson(), and MuonBremsstrahlungSimulator::poisson().
|
protected |
Definition at line 101 of file MaterialEffectsSimulator.h.
Referenced by closestDaughterId(), NuclearInteractionSimulator::compute(), and updateState().
|
protected |
Definition at line 97 of file MaterialEffectsSimulator.h.
Referenced by MultipleScatteringSimulator::compute(), and setNormalVector().
|
protected |
Definition at line 93 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), BeamSpotObj.BeamSpot::Reset(), and theZ().