Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:58:25

0001 #ifndef CalibMuon_DTCalibration_DTVDriftBaseAlgo_h
0002 #define CalibMuon_DTCalibration_DTVDriftBaseAlgo_h
0003 
0004 /** \class DTVDriftBaseAlgo
0005  *  Base class to define algorithm for vDrift computation 
0006  *
0007  *  \author A. Vilela Pereira
0008  */
0009 
0010 namespace edm {
0011   class EventSetup;
0012   class ParameterSet;
0013 }  // namespace edm
0014 
0015 class DTSuperLayerId;
0016 
0017 namespace dtCalibration {
0018 
0019   struct DTVDriftData {
0020   public:
0021     DTVDriftData(double vdrift_mean, double vdrift_resolution) : vdrift(vdrift_mean), resolution(vdrift_resolution) {}
0022 
0023     double vdrift;
0024     double resolution;
0025   };
0026 
0027   class DTVDriftBaseAlgo {
0028   public:
0029     DTVDriftBaseAlgo();
0030     virtual ~DTVDriftBaseAlgo();
0031 
0032     virtual void setES(const edm::EventSetup& setup) = 0;
0033     virtual DTVDriftData compute(const DTSuperLayerId&) = 0;
0034   };
0035 
0036 }  // namespace dtCalibration
0037 #endif