File indexing completed on 2024-09-07 04:37:55
0001 #ifndef RecoTBCalo_EcalTBTDCReconstructor_EcalTBTDCRecInfoAlgo_HH
0002 #define RecoTBCalo_EcalTBTDCReconstructor_EcalTBTDCRecInfoAlgo_HH
0003
0004 #include "TBDataFormats/EcalTBObjects/interface/EcalTBEventHeader.h"
0005 #include "TBDataFormats/EcalTBObjects/interface/EcalTBTDCRawInfo.h"
0006 #include "TBDataFormats/EcalTBObjects/interface/EcalTBTDCRecInfo.h"
0007
0008 #include <vector>
0009
0010 class EcalTBTDCRecInfoAlgo {
0011 public:
0012 EcalTBTDCRecInfoAlgo() : tdcRangeErrorMessageAlreadyDisplayed_(false) {}
0013
0014 struct EcalTBTDCRanges {
0015 std::pair<int, int> runRanges;
0016 std::vector<double> tdcMin;
0017 std::vector<double> tdcMax;
0018 };
0019
0020 explicit EcalTBTDCRecInfoAlgo(const std::vector<EcalTBTDCRanges>& tdcRanges);
0021
0022 ~EcalTBTDCRecInfoAlgo() {}
0023
0024 EcalTBTDCRecInfo reconstruct(const EcalTBTDCRawInfo& TDCRawInfo,
0025 const EcalTBEventHeader& eventHeader,
0026 bool use2004OffsetConvention) const;
0027
0028 private:
0029 std::vector<EcalTBTDCRanges> tdcRanges_;
0030 mutable bool tdcRangeErrorMessageAlreadyDisplayed_;
0031 mutable int actualRun_;
0032 mutable int actualRange_;
0033 };
0034
0035 #endif