00001 #ifndef CalibMuon_DTCalibration_DTVDriftBaseAlgo_h 00002 #define CalibMuon_DTCalibration_DTVDriftBaseAlgo_h 00003 00012 namespace edm { 00013 class EventSetup; 00014 class ParameterSet; 00015 } 00016 00017 class DTSuperLayerId; 00018 00019 namespace dtCalibration { 00020 00021 struct DTVDriftData { 00022 public: 00023 DTVDriftData(double vdrift_mean, double vdrift_resolution): 00024 vdrift(vdrift_mean), 00025 resolution(vdrift_resolution) {} 00026 00027 double vdrift; 00028 double resolution; 00029 }; 00030 00031 class DTVDriftBaseAlgo { 00032 public: 00033 DTVDriftBaseAlgo(); 00034 virtual ~DTVDriftBaseAlgo(); 00035 00036 virtual void setES(const edm::EventSetup& setup) = 0; 00037 virtual DTVDriftData compute(const DTSuperLayerId&) = 0; 00038 }; 00039 00040 } // namespace 00041 #endif