#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) |
MaterialEffects (const edm::ParameterSet &matEff, const RandomEngine *engine) | |
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 |
NuclearInteractionSimulator * | NuclearInteraction |
PairProductionSimulator * | PairProduction |
double | pTmin |
const RandomEngine * | random |
double | theEnergyLoss |
GlobalVector | theNormalVector |
double | theTECFudgeFactor |
double | theThickness |
Definition at line 50 of file MaterialEffects.h.
MaterialEffects::MaterialEffects | ( | const edm::ParameterSet & | matEff, |
const RandomEngine * | engine | ||
) |
Constructor.
Definition at line 25 of file MaterialEffects.cc.
References funct::A, Bremsstrahlung, EnergyLoss, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, analyzePatCOC_cfg::inputFile, j, MultipleScattering, MuonBremsstrahlung, NuclearInteraction, PairProduction, pTmin, random, theTECFudgeFactor, and Gflash::Z.
MaterialEffects::~MaterialEffects | ( | ) |
Default destructor.
Definition at line 216 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 76 of file MaterialEffects.h.
References theEnergyLoss.
Referenced by TrajectoryManager::createPSimHits().
|
inline |
Return the Energy Loss engine.
Definition at line 84 of file MaterialEffects.h.
References EnergyLoss.
Referenced by MuonSimHitProducer::applyMaterialEffects(), and CalorimetryManager::MuonMipSimulation().
void MaterialEffects::interact | ( | FSimEvent & | simEvent, |
const TrackerLayer & | layer, | ||
ParticlePropagator & | PP, | ||
unsigned | i | ||
) |
Steer the various interaction processes in the Tracker Material and update the FSimEvent
Definition at line 227 of file MaterialEffects.cc.
References abs, FBaseSimEvent::addSimTrack(), FBaseSimEvent::addSimVertex(), MaterialEffectsSimulator::beginDaughters(), FSimVertexType::BREM_VERTEX, Bremsstrahlung, RawParticle::charge(), MaterialEffectsSimulator::closestDaughterId(), MaterialEffectsSimulator::endDaughters(), EnergyLoss, TrackerLayer::layerNumber(), MultipleScattering, MuonBremsstrahlung, MaterialEffectsSimulator::nDaughters(), normalVector(), FSimVertexType::NUCL_VERTEX, NuclearInteraction, FSimVertexType::PAIR_VERTEX, PairProduction, RawParticle::pid(), FSimVertex::position(), pTmin, radLengths(), FSimTrack::setClosestDaughterId(), MaterialEffectsSimulator::setNormalVector(), theEnergyLoss, theNormalVector, theTECFudgeFactor, FBaseSimEvent::track(), MaterialEffectsSimulator::updateState(), FSimTrack::vertex(), and RawParticle::vertex().
Referenced by TrajectoryManager::reconstruct().
|
inline |
Return the Multiple Scattering engine.
Definition at line 79 of file MaterialEffects.h.
References MultipleScattering.
Referenced by MuonSimHitProducer::applyMaterialEffects().
|
inline |
Return the Muon Bremsstrahlung engine.
Definition at line 89 of file MaterialEffects.h.
References MuonBremsstrahlung.
Referenced by MuonSimHitProducer::applyMaterialEffects().
|
private |
The vector normal to the surface traversed.
Definition at line 455 of file MaterialEffects.cc.
References TrackerLayer::disk(), TrackerLayer::forward(), Plane::normalVector(), RawParticle::R(), RawParticle::X(), and RawParticle::Y().
Referenced by interact().
|
private |
The number of radiation lengths traversed.
Definition at line 414 of file MaterialEffects.cc.
References TrackerLayer::forward(), TrackerLayer::fudgeFactor(), TrackerLayer::fudgeMax(), TrackerLayer::fudgeMin(), TrackerLayer::fudgeNumber(), Surface::mediumProperties(), P, RawParticle::R(), MediumProperties::radLen(), TrackerLayer::surface(), theNormalVector, theThickness, and RawParticle::Z().
Referenced by interact().
void MaterialEffects::save | ( | ) |
Save nuclear interaction information.
Definition at line 463 of file MaterialEffects.cc.
References NuclearInteraction, and NuclearInteractionSimulator::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 73 of file MaterialEffects.h.
References theThickness.
Referenced by TrajectoryManager::createPSimHits().
|
private |
Definition at line 106 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), and ~MaterialEffects().
|
private |
Definition at line 110 of file MaterialEffects.h.
Referenced by energyLossSimulator(), interact(), MaterialEffects(), and ~MaterialEffects().
|
private |
Definition at line 109 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), multipleScatteringSimulator(), and ~MaterialEffects().
|
private |
Definition at line 108 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), muonBremsstrahlungSimulator(), and ~MaterialEffects().
|
private |
Definition at line 111 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), save(), and ~MaterialEffects().
|
private |
Definition at line 105 of file MaterialEffects.h.
Referenced by interact(), MaterialEffects(), and ~MaterialEffects().
|
private |
Definition at line 114 of file MaterialEffects.h.
Referenced by interact(), and MaterialEffects().
|
private |
Definition at line 124 of file MaterialEffects.h.
Referenced by MaterialEffects().
|
private |
Definition at line 117 of file MaterialEffects.h.
Referenced by energyLoss(), and interact().
|
private |
Definition at line 115 of file MaterialEffects.h.
Referenced by interact(), and radLengths().
|
private |
Definition at line 118 of file MaterialEffects.h.
Referenced by interact(), and MaterialEffects().
|
private |
Definition at line 116 of file MaterialEffects.h.
Referenced by radLengths(), and thickness().