CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch1/src/FastSimulation/MaterialEffects/interface/EnergyLossSimulator.h

Go to the documentation of this file.
00001 #ifndef ENERGYLOSSSIMULATOR_H
00002 #define ENERGYLOSSSIMULATOR_H
00003 
00004 #include "FastSimulation/MaterialEffects/interface/MaterialEffectsSimulator.h"
00005 
00023 class RandomEngine;
00024 class LandauFluctuationGenerator;
00025 
00026 class EnergyLossSimulator : public MaterialEffectsSimulator
00027 {
00028  public:
00029 
00031   EnergyLossSimulator(const RandomEngine* engine,
00032                       double A, double Z, double density, double radLen);
00033 
00035   ~EnergyLossSimulator();
00036 
00038   inline double mostLikelyLoss() const { return mostProbableLoss; }
00039 
00041   inline const XYZTLorentzVector& deltaMom() const { return deltaP; }
00042 
00043  private:
00045   LandauFluctuationGenerator* theGenerator;
00046 
00048   void compute(ParticlePropagator &Particle);
00049 
00051   double mostProbableLoss;
00052 
00054   XYZTLorentzVector deltaP;
00055 
00056 };
00057 
00058 #endif