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