File indexing completed on 2024-04-06 11:59:39
0001 #ifndef Tracker_TkPedestalCalculator_h
0002 #define Tracker_TkPedestalCalculator_h
0003
0004 #include "CalibTracker/SiStripAPVAnalysis/interface/ApvAnalysis.h"
0005 #include "CalibTracker/SiStripAPVAnalysis/interface/TkStateMachine.h"
0006
0007
0008
0009 class TkPedestalCalculator {
0010 public:
0011 virtual ~TkPedestalCalculator() {}
0012
0013
0014 virtual ApvAnalysis::PedestalType pedestal() const = 0;
0015 virtual ApvAnalysis::PedestalType rawNoise() const = 0;
0016
0017
0018 TkStateMachine* status() { return &theStatus; }
0019
0020 virtual void resetPedestals() = 0;
0021 virtual void setPedestals(ApvAnalysis::PedestalType&) = 0;
0022
0023 virtual void setNoise(ApvAnalysis::PedestalType&) {}
0024
0025
0026 virtual void updateStatus() = 0;
0027
0028
0029
0030
0031
0032
0033 virtual void updatePedestal(ApvAnalysis::RawSignalType& in) = 0;
0034
0035
0036
0037
0038 virtual void newEvent() {}
0039
0040 protected:
0041 TkStateMachine theStatus;
0042 };
0043
0044 #endif