#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... | |
virtual void | save () |
Used by NuclearInteractionSimulator to save last sampled event. 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 27 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 14 of file MaterialEffectsSimulator.cc.
References _theUpdatedState.
|
inline |
Returns const iterator to the beginning of the daughters list.
Definition at line 54 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 69 of file MaterialEffectsSimulator.h.
References theClosestChargedDaughterId.
Referenced by MaterialEffects::interact().
|
privatepure virtual |
Overloaded in all material effects updtators.
Implemented in MuonBremsstrahlungSimulator, NuclearInteractionSimulator, NuclearInteractionFTFSimulator, BremsstrahlungSimulator, EnergyLossSimulator, PairProductionSimulator, and MultipleScatteringSimulator.
Referenced by updateState().
|
inline |
Electron mass in GeV/c2.
Definition at line 48 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 57 of file MaterialEffectsSimulator.h.
References _theUpdatedState.
Referenced by MaterialEffects::interact().
|
inline |
Mean excitation energy (in GeV)
Definition at line 46 of file MaterialEffectsSimulator.h.
References theZ().
Referenced by EnergyLossSimulator::compute().
|
inline |
Returns the number of daughters.
Definition at line 60 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 30 of file MaterialEffectsSimulator.cc.
Referenced by MultipleScatteringSimulator::compute(), and NuclearInteractionSimulator::compute().
|
inlineprivate |
Returns the fraction of radiation lengths traversed.
Definition at line 79 of file MaterialEffectsSimulator.h.
References radLengths.
|
inline |
One radiation length in cm.
Definition at line 44 of file MaterialEffectsSimulator.h.
References radLen.
Referenced by MultipleScatteringSimulator::compute(), and EnergyLossSimulator::compute().
|
inline |
Density in g/cm3.
Definition at line 42 of file MaterialEffectsSimulator.h.
References density.
Referenced by Lepton.Lepton::absIsoFromEA(), Muon.Muon::absIsoWithFSR(), and EnergyLossSimulator::compute().
|
inlinevirtual |
Used by NuclearInteractionSimulator to save last sampled event.
Reimplemented in NuclearInteractionSimulator.
Definition at line 72 of file MaterialEffectsSimulator.h.
Referenced by MaterialEffects::save().
|
inline |
Sets the vector normal to the surface traversed.
Definition at line 63 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 38 of file MaterialEffectsSimulator.h.
References A.
Referenced by EnergyLossSimulator::compute(), and NuclearInteractionSimulator::compute().
|
inline |
Z.
Definition at line 40 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 19 of file MaterialEffectsSimulator.cc.
References _theUpdatedState, compute(), radLengths, and theClosestChargedDaughterId.
Referenced by MuonSimHitProducer::applyMaterialEffects(), MaterialEffects::interact(), and CalorimetryManager::MuonMipSimulation().
|
protected |
Definition at line 82 of file MaterialEffectsSimulator.h.
Referenced by beginDaughters(), PairProductionSimulator::compute(), BremsstrahlungSimulator::compute(), NuclearInteractionFTFSimulator::compute(), NuclearInteractionSimulator::compute(), MuonBremsstrahlungSimulator::compute(), endDaughters(), MaterialEffectsSimulator(), nDaughters(), NuclearInteractionFTFSimulator::saveDaughter(), updateState(), and ~MaterialEffectsSimulator().
|
protected |
Definition at line 87 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and theA().
|
protected |
Definition at line 89 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and rho().
|
protected |
Definition at line 90 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and radLenIncm().
|
protected |
Definition at line 84 of file MaterialEffectsSimulator.h.
Referenced by MultipleScatteringSimulator::compute(), PairProductionSimulator::compute(), EnergyLossSimulator::compute(), BremsstrahlungSimulator::compute(), NuclearInteractionFTFSimulator::compute(), NuclearInteractionSimulator::compute(), MuonBremsstrahlungSimulator::compute(), radiationLength(), and updateState().
|
protected |
Definition at line 94 of file MaterialEffectsSimulator.h.
Referenced by closestDaughterId(), NuclearInteractionFTFSimulator::compute(), NuclearInteractionSimulator::compute(), NuclearInteractionFTFSimulator::saveDaughter(), and updateState().
|
protected |
Definition at line 92 of file MaterialEffectsSimulator.h.
Referenced by MultipleScatteringSimulator::compute(), and setNormalVector().
|
protected |
Definition at line 88 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), BeamSpotObj.BeamSpot::Reset(), and theZ().