Back to home page

Project CMSSW displayed by LXR

 
 

    


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