CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/RecoTBCalo/EcalTBTDCReconstructor/interface/EcalTBTDCRecInfoAlgo.h

Go to the documentation of this file.
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