1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#ifndef CalibMuon_DTCalibration_DTVDriftBaseAlgo_h
#define CalibMuon_DTCalibration_DTVDriftBaseAlgo_h
/** \class DTVDriftBaseAlgo
* Base class to define algorithm for vDrift computation
*
* \author A. Vilela Pereira
*/
namespace edm {
class EventSetup;
class ParameterSet;
} // namespace edm
class DTSuperLayerId;
namespace dtCalibration {
struct DTVDriftData {
public:
DTVDriftData(double vdrift_mean, double vdrift_resolution) : vdrift(vdrift_mean), resolution(vdrift_resolution) {}
double vdrift;
double resolution;
};
class DTVDriftBaseAlgo {
public:
DTVDriftBaseAlgo();
virtual ~DTVDriftBaseAlgo();
virtual void setES(const edm::EventSetup& setup) = 0;
virtual DTVDriftData compute(const DTSuperLayerId&) = 0;
};
} // namespace dtCalibration
#endif
|