![]() |
|
|||
File indexing completed on 2024-04-06 12:11:16
0001 #ifndef ENERGYLOSSSIMULATOR_H 0002 #define ENERGYLOSSSIMULATOR_H 0003 0004 #include "FastSimulation/MaterialEffects/interface/MaterialEffectsSimulator.h" 0005 0006 /** 0007 * This class computes the most probable energy loss by ionization, 0008 * from a charged particle (under the form of a ParticlePropagator, 0009 * i.e., a RawParticle) in the tracker layer, smears it with Landau 0010 * fluctuations and returns the RawParticle with modified energy. 0011 * The tracker material is assumed to be 100% Si - crude approximation - 0012 * and the fraction of radiation lengths traversed by the particle 0013 * in this tracker layer is determined in MaterialEffectsSimulator. 0014 * 0015 * This version (a la PDG) of a dE/dx generator replaces the buggy 0016 * GEANT3 Fortran -> C++ former version (up to FAMOS_0_8_0_pre7). 0017 * 0018 * \author Patrick Janot 0019 * $Date: 8-Jan-2004 0020 */ 0021 0022 class RandomEngineAndDistribution; 0023 class LandauFluctuationGenerator; 0024 0025 class EnergyLossSimulator : public MaterialEffectsSimulator { 0026 public: 0027 /// Constructor 0028 EnergyLossSimulator(double A, double Z, double density, double radLen); 0029 0030 /// Default Destructor 0031 ~EnergyLossSimulator() override; 0032 0033 /// Return most probable energy loss 0034 inline double mostLikelyLoss() const { return mostProbableLoss; } 0035 0036 /// Returns the actual energy lost 0037 inline const XYZTLorentzVector& deltaMom() const { return deltaP; } 0038 0039 private: 0040 /// The Landau Fluctuation generator 0041 LandauFluctuationGenerator* theGenerator; 0042 0043 /// The real dE/dx generation and particle update 0044 void compute(ParticlePropagator& Particle, RandomEngineAndDistribution const*) override; 0045 0046 /// The most probable enery loss 0047 double mostProbableLoss; 0048 0049 /// The actual energy loss 0050 XYZTLorentzVector deltaP; 0051 }; 0052 0053 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |