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