CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/TrackingTools/MaterialEffects/interface/VolumeMaterialEffectsEstimator.h

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