Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:55

0001 #ifndef RecoTBCalo_EcalTBTDCReconstructor_EcalTBH2TDCRecInfoAlgo_HH
0002 #define RecoTBCalo_EcalTBTDCReconstructor_EcalTBH2TDCRecInfoAlgo_HH
0003 
0004 #include "TBDataFormats/EcalTBObjects/interface/EcalTBEventHeader.h"
0005 #include "TBDataFormats/HcalTBObjects/interface/HcalTBTiming.h"
0006 #include "TBDataFormats/EcalTBObjects/interface/EcalTBTDCRecInfo.h"
0007 
0008 #include <vector>
0009 
0010 class EcalTBH2TDCRecInfoAlgo {
0011 public:
0012   EcalTBH2TDCRecInfoAlgo() : tdcRangeErrorMessageAlreadyDisplayed_(false) {}
0013 
0014   struct EcalTBH2TDCRanges {
0015     std::pair<int, int> runRanges;
0016     double tdcZero;
0017   };
0018 
0019   explicit EcalTBH2TDCRecInfoAlgo(const std::vector<EcalTBH2TDCRanges>& tdcZero);
0020 
0021   ~EcalTBH2TDCRecInfoAlgo() {}
0022 
0023   EcalTBTDCRecInfo reconstruct(const int& runNumber, const HcalTBTiming& TDCRawInfo) const;
0024 
0025 private:
0026   std::vector<EcalTBH2TDCRanges> tdcZeros_;
0027   mutable bool tdcRangeErrorMessageAlreadyDisplayed_;
0028   mutable int actualRun_;
0029   mutable int actualRange_;
0030 };
0031 
0032 #endif