CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/RecoTBCalo/EcalTBTDCReconstructor/interface/EcalTBH2TDCRecInfoAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoTBCalo_EcalTBTDCReconstructor_EcalTBH2TDCRecInfoAlgo_HH
00002 #define RecoTBCalo_EcalTBTDCReconstructor_EcalTBH2TDCRecInfoAlgo_HH
00003 
00004 #include "TBDataFormats/EcalTBObjects/interface/EcalTBEventHeader.h"
00005 #include "TBDataFormats/HcalTBObjects/interface/HcalTBTiming.h"
00006 #include "TBDataFormats/EcalTBObjects/interface/EcalTBTDCRecInfo.h"
00007 
00008 #include <vector>
00009 
00010 class EcalTBH2TDCRecInfoAlgo {
00011 
00012  public:
00013   EcalTBH2TDCRecInfoAlgo() : tdcRangeErrorMessageAlreadyDisplayed_(false) {};
00014 
00015   struct EcalTBH2TDCRanges
00016   {
00017     std::pair<int,int> runRanges;
00018     double tdcZero;
00019   };
00020 
00021   explicit EcalTBH2TDCRecInfoAlgo(const std::vector<EcalTBH2TDCRanges>& tdcZero);
00022 
00023   ~EcalTBH2TDCRecInfoAlgo() 
00024     {
00025     };
00026 
00027   EcalTBTDCRecInfo reconstruct(const int& runNumber, const HcalTBTiming& TDCRawInfo) const;
00028 
00029  private:
00030 
00031   std::vector<EcalTBH2TDCRanges> tdcZeros_;
00032   mutable bool tdcRangeErrorMessageAlreadyDisplayed_;
00033   mutable int actualRun_;
00034   mutable int actualRange_;
00035 };
00036 
00037 #endif