#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 MaterialEffects_cfi::A, MaterialEffects_cfi::bremEnergy, MaterialEffects_cfi::bremEnergyFraction, Bremsstrahlung, fastSimProducer_cff::density, MaterialEffects_cfi::distAlgo, MaterialEffects_cfi::distCut, EnergyLoss, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GeV, MaterialEffects_cfi::hadronEnergies, MaterialEffects_cfi::hadronMasses, MaterialEffects_cfi::hadronNames, bJpsiMuMuTrigSettings_cff::hadronPMin, MaterialEffects_cfi::hadronTypes, mps_fire::i, dtResolutionTest_cfi::inputFile, dqmiolumiharvest::j, MaterialEffects_cfi::lengthRatio, MultipleScattering, MuonBremsstrahlung, NuclearInteraction, PairProduction, MaterialEffects_cfi::photonEnergy, MaterialEffects_cfi::pionEnergy, pTmin, fastSimProducer_cff::radLen, MaterialEffects_cfi::ratios, AlCaHLTBitMon_QueryRunRegistry::string, theTECFudgeFactor, use_hardcoded, and DOFs::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.
Referenced by TrajectoryManager::createPSimHits().
|
inline |
Return the Energy Loss engine.
Definition at line 80 of file MaterialEffects.h.
References MaterialEffects_cfi::EnergyLoss.
Referenced by MuonSimHitProducer::applyMaterialEffects(), and 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, DQMScaleToClient_cfi::factor, 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 MaterialEffects_cfi::MultipleScattering.
Referenced by MuonSimHitProducer::applyMaterialEffects().
|
inline |
Return the Muon Bremsstrahlung engine.
Definition at line 83 of file MaterialEffects.h.
References MaterialEffects_cfi::MuonBremsstrahlung.
Referenced by MuonSimHitProducer::applyMaterialEffects().
|
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 DQMScaleToClient_cfi::factor, 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 Vispa.Main.TabController.TabController::allowClose(), Vispa.Main.TabController.TabController::checkModificationTimestamp(), and TrajectoryManager::reconstruct().
|
inline |
Return the thickness of the current layer.
Definition at line 71 of file MaterialEffects.h.
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 interact(), MaterialEffects(), and ~MaterialEffects().
|
private |
Definition at line 97 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), and ~MaterialEffects().
|
private |
Definition at line 96 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), 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 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().
|
private |
Definition at line 111 of file MaterialEffects.h.
Referenced by interact(), and MaterialEffects().