CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/TrackingTools/MaterialEffects/interface/CombinedMaterialEffectsUpdator.h

Go to the documentation of this file.
00001 #ifndef _CR_COMBINEDMATERIALEFFECTSUPDATOR_H_
00002 #define _CR_COMBINEDMATERIALEFFECTSUPDATOR_H_
00003 
00013 #include "TrackingTools/MaterialEffects/interface/MultipleScatteringUpdator.h"
00014 #include "TrackingTools/MaterialEffects/interface/EnergyLossUpdator.h"
00015 #include "TrackingTools/MaterialEffects/interface/MaterialEffectsUpdator.h"
00016 
00017 class CombinedMaterialEffectsUpdator : public MaterialEffectsUpdator
00018 {  
00019  public:
00020  virtual CombinedMaterialEffectsUpdator* clone() const {
00021     return new CombinedMaterialEffectsUpdator(*this);
00022  }
00023 
00024 public:
00029   CombinedMaterialEffectsUpdator(double mass, double ptMin = -1. ) :
00030     MaterialEffectsUpdator(mass),
00031     theMSUpdator(mass, ptMin),
00032     theELUpdator(mass) {}
00033 
00034  private:
00035   // here comes the actual computation of the values
00036   virtual void compute (const TrajectoryStateOnSurface&, const PropagationDirection) const;
00037   
00038  private:
00039   // objects used for calculations of multiple scattering and energy loss
00040   MultipleScatteringUpdator theMSUpdator;
00041   EnergyLossUpdator theELUpdator;
00042 };
00043 
00044 #endif