00001 #ifndef RecoTBCalo_EcalTBTDCReconstructor_EcalTBTDCRecInfoAlgo_HH 00002 #define RecoTBCalo_EcalTBTDCReconstructor_EcalTBTDCRecInfoAlgo_HH 00003 00004 #include "TBDataFormats/EcalTBObjects/interface/EcalTBEventHeader.h" 00005 #include "TBDataFormats/EcalTBObjects/interface/EcalTBTDCRawInfo.h" 00006 #include "TBDataFormats/EcalTBObjects/interface/EcalTBTDCRecInfo.h" 00007 00008 #include <vector> 00009 00010 00011 class EcalTBTDCRecInfoAlgo { 00012 00013 00014 public: 00015 00016 00017 EcalTBTDCRecInfoAlgo() : tdcRangeErrorMessageAlreadyDisplayed_(false) {}; 00018 00019 struct EcalTBTDCRanges 00020 { 00021 std::pair<int,int> runRanges; 00022 std::vector<double> tdcMin; 00023 std::vector<double> tdcMax; 00024 }; 00025 00026 explicit EcalTBTDCRecInfoAlgo(const std::vector<EcalTBTDCRanges>& tdcRanges); 00027 00028 ~EcalTBTDCRecInfoAlgo() 00029 { 00030 }; 00031 00032 EcalTBTDCRecInfo reconstruct(const EcalTBTDCRawInfo& TDCRawInfo,const EcalTBEventHeader& eventHeader, bool use2004OffsetConvention) const; 00033 00034 private: 00035 00036 std::vector<EcalTBTDCRanges> tdcRanges_; 00037 mutable bool tdcRangeErrorMessageAlreadyDisplayed_; 00038 mutable int actualRun_; 00039 mutable int actualRange_; 00040 }; 00041 00042 #endif