DTVDriftBaseAlgo

DTVDriftData

Macros

Line Code
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