Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:59:39

0001 #ifndef Tracker_TkCommonModeCalculator_H
0002 #define Tracker_TkCommonModeCalculator_H
0003 
0004 #include "CalibTracker/SiStripAPVAnalysis/interface/ApvAnalysis.h"
0005 #include "CalibTracker/SiStripAPVAnalysis/interface/TkCommonMode.h"
0006 /**
0007  * The abstract class for common mode subtraction.
0008  */
0009 class TkCommonModeCalculator {
0010 public:
0011   virtual ~TkCommonModeCalculator() {}
0012   /** Return CM-subtracted data in APV */
0013   virtual ApvAnalysis::PedestalType doIt(const ApvAnalysis::PedestalType&) = 0;
0014   virtual void setCM(TkCommonMode*) = 0;
0015   virtual void setCM(const std::vector<float>&) = 0;
0016   /** Get CM value */
0017   virtual TkCommonMode* commonMode() = 0;
0018   /** Tell CM calculator that a new event is available */
0019   virtual void newEvent() {}
0020   /** Get Slope */
0021   virtual float getCMSlope() = 0;
0022 };
0023 
0024 #endif