#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 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 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, NuclearInteractionFTFSimulator, BremsstrahlungSimulator, EnergyLossSimulator, PairProductionSimulator, and MultipleScatteringSimulator.
Referenced by save(), and updateState().
|
inline |
Electron mass in GeV/c2.
Definition at line 53 of file MaterialEffectsSimulator.h.
References updateState().
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 51 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 35 of file MaterialEffectsSimulator.cc.
Referenced by MultipleScatteringSimulator::compute(), NuclearInteractionSimulator::compute(), and setNormalVector().
|
inlineprivate |
Returns the fraction of radiation lengths traversed.
Definition at line 85 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 Lepton.Lepton::absIsoFromEA(), Muon.Muon::absIsoWithFSR(), and EnergyLossSimulator::compute().
|
inlinevirtual |
Used by NuclearInteractionSimulator to save last sampled event.
Reimplemented in NuclearInteractionSimulator.
Definition at line 77 of file MaterialEffectsSimulator.h.
References compute().
Referenced by Vispa.Main.TabController.TabController::allowClose(), Vispa.Main.TabController.TabController::checkModificationTimestamp(), and MaterialEffects::save().
|
inline |
Sets the vector normal to the surface traversed.
Definition at line 68 of file MaterialEffectsSimulator.h.
References orthogonal(), and 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(), eMass(), MaterialEffects::interact(), and CalorimetryManager::MuonMipSimulation().
|
protected |
Definition at line 89 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 94 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and theA().
|
protected |
Definition at line 96 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and rho().
|
protected |
Definition at line 97 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), and radLenIncm().
|
protected |
Definition at line 91 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 101 of file MaterialEffectsSimulator.h.
Referenced by closestDaughterId(), NuclearInteractionFTFSimulator::compute(), NuclearInteractionSimulator::compute(), NuclearInteractionFTFSimulator::saveDaughter(), and updateState().
|
protected |
Definition at line 99 of file MaterialEffectsSimulator.h.
Referenced by MultipleScatteringSimulator::compute(), and setNormalVector().
|
protected |
Definition at line 95 of file MaterialEffectsSimulator.h.
Referenced by MuonBremsstrahlungSimulator::compute(), BeamSpotObj.BeamSpot::Reset(), and theZ().