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 struct DTVDriftData { 00020 public: 00021 DTVDriftData(double vdrift_mean, double vdrift_resolution): 00022 vdrift(vdrift_mean), 00023 resolution(vdrift_resolution) {} 00024 00025 double vdrift; 00026 double resolution; 00027 }; 00028 00029 class DTVDriftBaseAlgo { 00030 public: 00031 DTVDriftBaseAlgo(); 00032 virtual ~DTVDriftBaseAlgo(); 00033 00034 virtual void setES(const edm::EventSetup& setup) = 0; 00035 virtual DTVDriftData compute(const DTSuperLayerId&) = 0; 00036 }; 00037 #endif