CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/TrackingTools/MaterialEffects/interface/VolumeEnergyLossEstimator.h

Go to the documentation of this file.
00001 #ifndef _CR_VOLUMEENERGYLOSSESTIMATOR_H_
00002 #define _CR_VOLUMEENERGYLOSSESTIMATOR_H_
00003 
00008 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00009 #include "DataFormats/TrajectorySeed/interface/PropagationDirection.h"
00010 #include "TrackingTools/MaterialEffects/interface/VolumeMaterialEffectsEstimator.h"
00011 
00012 class VolumeMaterialEffectsEstimate;
00013 class VolumeMediumProperties;
00014 
00015 class VolumeEnergyLossEstimator : public VolumeMaterialEffectsEstimator
00016 {
00017 public:
00019   VolumeEnergyLossEstimator ( float mass ) :
00020     VolumeMaterialEffectsEstimator(mass) {}
00021   
00022   virtual ~VolumeEnergyLossEstimator () {}
00023 
00025   virtual VolumeMaterialEffectsEstimate estimate (const TrajectoryStateOnSurface refTSOS,
00026                                                   double pathLength,
00027                                                   const VolumeMediumProperties& medium) const;
00028 
00029   virtual VolumeEnergyLossEstimator* clone()  const;
00030 
00031 private:
00032   void computeBetheBloch (const LocalVector& localP, double pathLength,
00033                           const VolumeMediumProperties& medium,
00034                           double& deltaP, double& deltaCov00) const;
00035   void computeElectrons (const LocalVector& localP, double pathLength,
00036                          const VolumeMediumProperties& medium,
00037                          double& deltaP, double& deltaCov00) const;
00038 };
00039 
00040 #endif