#include <MaterialEffects.h>
Public Member Functions | |
double | energyLoss () const |
Return the energy loss by ionization in the current layer. More... | |
EnergyLossSimulator * | energyLossSimulator () const |
Return the Energy Loss engine. More... | |
void | interact (FSimEvent &simEvent, const TrackerLayer &layer, ParticlePropagator &PP, unsigned i, RandomEngineAndDistribution const *) |
MaterialEffects (const edm::ParameterSet &matEff) | |
Constructor. More... | |
MultipleScatteringSimulator * | multipleScatteringSimulator () const |
Return the Multiple Scattering engine. More... | |
MuonBremsstrahlungSimulator * | muonBremsstrahlungSimulator () const |
Return the Muon Bremsstrahlung engine. More... | |
void | save () |
Save nuclear interaction information. More... | |
double | thickness () const |
Return the thickness of the current layer. More... | |
~MaterialEffects () | |
Default destructor. More... | |
Private Member Functions | |
GlobalVector | normalVector (const TrackerLayer &layer, ParticlePropagator &myTrack) const |
The vector normal to the surface traversed. More... | |
double | radLengths (const TrackerLayer &layer, ParticlePropagator &myTrack) |
The number of radiation lengths traversed. More... | |
Private Attributes | |
BremsstrahlungSimulator * | Bremsstrahlung |
EnergyLossSimulator * | EnergyLoss |
MultipleScatteringSimulator * | MultipleScattering |
MuonBremsstrahlungSimulator * | MuonBremsstrahlung |
MaterialEffectsSimulator * | NuclearInteraction |
PairProductionSimulator * | PairProduction |
double | pTmin |
double | theEnergyLoss |
GlobalVector | theNormalVector |
double | theTECFudgeFactor |
double | theThickness |
bool | use_hardcoded |
Definition at line 51 of file MaterialEffects.h.
MaterialEffects::MaterialEffects | ( | const edm::ParameterSet & | matEff | ) |
Constructor.
Definition at line 26 of file MaterialEffects.cc.
References funct::A, Bremsstrahlung, HLT_FULL_cff::distCut, EnergyLoss, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GeV, mps_fire::i, writeEcalDQMStatus::inputFile, dqmiolumiharvest::j, MultipleScattering, MuonBremsstrahlung, NuclearInteraction, PairProduction, pTmin, plotFactory::ratios, AlCaHLTBitMon_QueryRunRegistry::string, theTECFudgeFactor, use_hardcoded, and BeamSpotPI::Z.
MaterialEffects::~MaterialEffects | ( | ) |
Default destructor.
Definition at line 197 of file MaterialEffects.cc.
References Bremsstrahlung, EnergyLoss, MultipleScattering, MuonBremsstrahlung, NuclearInteraction, and PairProduction.
|
inline |
Return the energy loss by ionization in the current layer.
Definition at line 74 of file MaterialEffects.h.
References theEnergyLoss.
Referenced by TrajectoryManager::createPSimHits().
|
inline |
Return the Energy Loss engine.
Definition at line 80 of file MaterialEffects.h.
References EnergyLoss.
Referenced by CalorimetryManager::MuonMipSimulation().
void MaterialEffects::interact | ( | FSimEvent & | simEvent, |
const TrackerLayer & | layer, | ||
ParticlePropagator & | PP, | ||
unsigned | i, | ||
RandomEngineAndDistribution const * | random | ||
) |
Steer the various interaction processes in the Tracker Material and update the FSimEvent
Definition at line 213 of file MaterialEffects.cc.
References funct::abs(), FBaseSimEvent::addSimTrack(), FBaseSimEvent::addSimVertex(), MaterialEffectsSimulator::beginDaughters(), FSimVertexType::BREM_VERTEX, Bremsstrahlung, RawParticle::charge(), MaterialEffectsSimulator::closestDaughterId(), RawParticle::E(), MaterialEffectsSimulator::endDaughters(), EnergyLoss, TrackerLayer::layerNumber(), MultipleScattering, MuonBremsstrahlung, MaterialEffectsSimulator::nDaughters(), normalVector(), FSimVertexType::NUCL_VERTEX, NuclearInteraction, FSimVertexType::PAIR_VERTEX, PairProduction, BaseParticlePropagator::particle(), RawParticle::pid(), FSimVertex::position(), RawParticle::Pt(), pTmin, radLengths(), FSimTrack::setClosestDaughterId(), MaterialEffectsSimulator::setNormalVector(), theEnergyLoss, theNormalVector, theTECFudgeFactor, FBaseSimEvent::track(), MaterialEffectsSimulator::updateState(), use_hardcoded, FSimTrack::vertex(), and RawParticle::vertex().
Referenced by TrajectoryManager::reconstruct().
|
inline |
Return the Multiple Scattering engine.
Definition at line 77 of file MaterialEffects.h.
References MultipleScattering.
|
inline |
Return the Muon Bremsstrahlung engine.
Definition at line 83 of file MaterialEffects.h.
References MuonBremsstrahlung.
|
private |
The vector normal to the surface traversed.
Definition at line 416 of file MaterialEffects.cc.
References TrackerLayer::disk(), TrackerLayer::forward(), BaseParticlePropagator::particle(), RawParticle::R(), RawParticle::X(), and RawParticle::Y().
Referenced by interact().
|
private |
The number of radiation lengths traversed.
Definition at line 381 of file MaterialEffects.cc.
References TrackerLayer::forward(), TrackerLayer::fudgeFactor(), TrackerLayer::fudgeMax(), TrackerLayer::fudgeMin(), TrackerLayer::fudgeNumber(), Surface::mediumProperties(), BaseParticlePropagator::particle(), RawParticle::Px(), RawParticle::Py(), RawParticle::Pz(), RawParticle::R(), MediumProperties::radLen(), TrackerLayer::surface(), theNormalVector, theThickness, and RawParticle::Z().
Referenced by interact().
void MaterialEffects::save | ( | ) |
Save nuclear interaction information.
Definition at line 421 of file MaterialEffects.cc.
References NuclearInteraction, and MaterialEffectsSimulator::save().
Referenced by TrajectoryManager::reconstruct().
|
inline |
Return the thickness of the current layer.
Definition at line 71 of file MaterialEffects.h.
References theThickness.
Referenced by TrajectoryManager::createPSimHits().
|
private |
Definition at line 94 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), and ~MaterialEffects().
|
private |
Definition at line 98 of file MaterialEffects.h.
Referenced by energyLossSimulator(), interact(), MaterialEffects(), and ~MaterialEffects().
|
private |
Definition at line 97 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), multipleScatteringSimulator(), and ~MaterialEffects().
|
private |
Definition at line 96 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), muonBremsstrahlungSimulator(), and ~MaterialEffects().
|
private |
Definition at line 99 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), save(), and ~MaterialEffects().
|
private |
Definition at line 93 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), and ~MaterialEffects().
|
private |
Definition at line 102 of file MaterialEffects.h.
Referenced by interact(), and MaterialEffects().
|
private |
Definition at line 105 of file MaterialEffects.h.
Referenced by energyLoss(), and interact().
|
private |
Definition at line 103 of file MaterialEffects.h.
Referenced by interact(), and radLengths().
|
private |
Definition at line 106 of file MaterialEffects.h.
Referenced by interact(), and MaterialEffects().
|
private |
Definition at line 104 of file MaterialEffects.h.
Referenced by radLengths(), and thickness().
|
private |
Definition at line 111 of file MaterialEffects.h.
Referenced by interact(), and MaterialEffects().