CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/CalibTracker/SiStripAPVAnalysis/interface/TkPedestalCalculator.h

Go to the documentation of this file.
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