CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/FastSimulation/MaterialEffects/interface/BremsstrahlungSimulator.h

Go to the documentation of this file.
00001 #ifndef BREMSSTRAHLUNGSIMULATOR_H
00002 #define BREMSSTRAHLUNGSIMULATOR_H
00003 
00004 #include "FastSimulation/MaterialEffects/interface/MaterialEffectsSimulator.h"
00005 
00023 class ParticlePropagator;
00024 class RandomEngine;
00025 
00026 class BremsstrahlungSimulator : public MaterialEffectsSimulator
00027 {
00028  public:
00029 
00031   BremsstrahlungSimulator(double photonEnergyCut, 
00032                           double photonFractECut,
00033                           const RandomEngine* engine); 
00034 
00036   ~BremsstrahlungSimulator() {}
00037 
00038  private:
00039   
00041   double photonEnergy;
00042 
00044   double photonFractE;
00045 
00047   double xmin;
00048 
00050   unsigned int poisson(double ymu);
00051 
00053   void compute(ParticlePropagator &Particle);
00054 
00056   XYZTLorentzVector brem(ParticlePropagator& p) const;
00057 
00059   double gbteth(const double ener,
00060                 const double partm,
00061                 const double efrac) const;
00062 
00063 };
00064 #endif