00001 #ifndef Tracker_TkPedestalCalculator_h 00002 #define Tracker_TkPedestalCalculator_h 00003 00004 #include "CalibTracker/SiStripAPVAnalysis/interface/ApvAnalysis.h" 00005 #include "CalibTracker/SiStripAPVAnalysis/interface/TkStateMachine.h" 00009 class TkPedestalCalculator{ 00010 public: 00011 00012 virtual ~TkPedestalCalculator() {} 00014 // virtual ApvAnalysis::PedestalType pedestal() const = 0 ; 00015 virtual ApvAnalysis::PedestalType pedestal() const =0; 00016 virtual ApvAnalysis::PedestalType rawNoise() const=0; 00017 00019 TkStateMachine* status() {return &theStatus;} 00020 00021 virtual void resetPedestals() = 0; 00022 virtual void setPedestals (ApvAnalysis::PedestalType&) = 0; 00023 00024 virtual void setNoise( ApvAnalysis::PedestalType &) {} 00025 00027 virtual void updateStatus() = 0 ; 00028 00029 // 00030 // Actions 00031 // 00032 00034 virtual void updatePedestal (ApvAnalysis::RawSignalType& in) = 0 ; 00035 00039 virtual void newEvent(){} 00040 00041 protected: 00042 00043 TkStateMachine theStatus; 00044 00045 }; 00046 00047 #endif