Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:10:20

0001 /* -*- C++ -*- */
0002 #ifndef CastorCtdcUnpacker_h_included
0003 #define CastorCtdcUnpacker_h_included 1
0004 
0005 #include "DataFormats/HcalDigi/interface/CastorDataFrame.h"
0006 #include "DataFormats/HcalDigi/interface/HcalCalibDataFrame.h"
0007 #include "DataFormats/HcalDigi/interface/HcalTriggerPrimitiveDigi.h"
0008 #include "DataFormats/HcalDigi/interface/HcalUnpackerReport.h"
0009 #include "DataFormats/FEDRawData/interface/FEDRawData.h"
0010 #include "CondFormats/CastorObjects/interface/CastorElectronicsMap.h"
0011 #include <set>
0012 #include "EventFilter/CastorRawToDigi/interface/CastorRawCollections.h"
0013 
0014 class CastorCtdcUnpacker {
0015 public:
0016   /// for normal data
0017   CastorCtdcUnpacker(int sourceIdOffset, int beg, int end);
0018   void unpack(const FEDRawData& raw,
0019               const CastorElectronicsMap& emap,
0020               CastorRawCollections& conts,
0021               HcalUnpackerReport& report);
0022 
0023 private:
0024   int sourceIdOffset_;  ///< number to subtract from the source id to get the dcc id
0025   int startSample_;     ///< first sample from fed raw data to copy
0026   int endSample_;       ///< last sample from fed raw data to copy (if present)
0027   std::set<CastorElectronicsId> unknownIds_,
0028       unknownIdsTrig_;  ///< Recorded to limit number of times a log message is generated
0029 };
0030 
0031 #endif  // CastorCtdcUnpacker_h_included