00001 /* -*- C++ -*- */ 00002 #ifndef CastorUnpacker_h_included 00003 #define CastorUnpacker_h_included 1 00004 00005 #include "DataFormats/HcalDigi/interface/CastorDataFrame.h" 00006 #include "DataFormats/HcalDigi/interface/HcalCalibDataFrame.h" 00007 #include "DataFormats/HcalDigi/interface/HcalTriggerPrimitiveDigi.h" 00008 // #include "DataFormats/HcalDigi/interface/HcalHistogramDigi.h" 00009 #include "DataFormats/HcalDigi/interface/HcalUnpackerReport.h" 00010 #include "DataFormats/FEDRawData/interface/FEDRawData.h" 00011 #include "CondFormats/CastorObjects/interface/CastorElectronicsMap.h" 00012 #include <set> 00013 #include "EventFilter/CastorRawToDigi/interface/CastorRawCollections.h" 00014 00015 class CastorUnpacker { 00016 public: 00017 00019 CastorUnpacker(int sourceIdOffset, int beg, int end) ; 00020 void setExpectedOrbitMessageTime(int time) { expectedOrbitMessageTime_=time; } 00022 // void unpack(const FEDRawData& raw, const CastorElectronicsMap& emap, std::vector<HcalHistogramDigi>& histoDigis); 00023 void unpack(const FEDRawData& raw, const CastorElectronicsMap& emap, CastorRawCollections& conts, HcalUnpackerReport& report, bool silent=false); 00024 private: 00025 int sourceIdOffset_; 00026 int startSample_; 00027 int endSample_; 00028 int expectedOrbitMessageTime_; 00029 std::set<CastorElectronicsId> unknownIds_,unknownIdsTrig_; 00030 }; 00031 00032 #endif // CastorUnpacker_h_included