test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalUnpacker.h
Go to the documentation of this file.
1 /* -*- C++ -*- */
2 #ifndef HcalUnpacker_h_included
3 #define HcalUnpacker_h_included 1
4 
19 #include <set>
20 
21 class HcalUnpacker {
22 public:
23 
24  struct Collections {
25  Collections();
26  std::vector<HBHEDataFrame>* hbheCont;
27  std::vector<HODataFrame>* hoCont;
28  std::vector<HFDataFrame>* hfCont;
29  std::vector<HcalCalibDataFrame>* calibCont;
30  std::vector<ZDCDataFrame>* zdcCont;
31  std::vector<HcalTriggerPrimitiveDigi>* tpCont;
32  std::vector<HOTriggerPrimitiveDigi>* tphoCont;
33  std::vector<HcalTTPDigi>* ttp;
37 
38  };
39 
41  HcalUnpacker(int sourceIdOffset, int beg, int end) : sourceIdOffset_(sourceIdOffset), startSample_(beg), endSample_(end), expectedOrbitMessageTime_(-1), mode_(0) { }
43  HcalUnpacker(int sourceIdOffset) : sourceIdOffset_(sourceIdOffset), startSample_(-1), endSample_(-1), expectedOrbitMessageTime_(-1), mode_(0) { }
45  void unpack(const FEDRawData& raw, const HcalElectronicsMap& emap, std::vector<HcalHistogramDigi>& histoDigis);
46  void unpack(const FEDRawData& raw, const HcalElectronicsMap& emap, Collections& conts, HcalUnpackerReport& report, bool silent=false);
47  void setMode(int mode) { mode_=mode; }
48 private:
49  void unpackVME(const FEDRawData& raw, const HcalElectronicsMap& emap, Collections& conts, HcalUnpackerReport& report, bool silent=false);
50  void unpackUTCA(const FEDRawData& raw, const HcalElectronicsMap& emap, Collections& conts, HcalUnpackerReport& report, bool silent=false);
51  void unpackUMNio(const FEDRawData& raw, int slot, Collections& colls);
52 
53 
56  int endSample_;
58  int mode_;
59  std::set<HcalElectronicsId> unknownIds_,unknownIdsTrig_;
60 };
61 
62 #endif // HcalUnpacker_h_included
std::set< HcalElectronicsId > unknownIds_
Definition: HcalUnpacker.h:59
int sourceIdOffset_
number to subtract from the source id to get the dcc id
Definition: HcalUnpacker.h:54
int endSample_
last sample from fed raw data to copy (if present)
Definition: HcalUnpacker.h:56
int startSample_
first sample from fed raw data to copy
Definition: HcalUnpacker.h:55
void unpackUTCA(const FEDRawData &raw, const HcalElectronicsMap &emap, Collections &conts, HcalUnpackerReport &report, bool silent=false)
std::vector< HcalTTPDigi > * ttp
Definition: HcalUnpacker.h:33
std::vector< HFDataFrame > * hfCont
Definition: HcalUnpacker.h:28
HcalUMNioDigi * umnio
Definition: HcalUnpacker.h:36
std::vector< HBHEDataFrame > * hbheCont
Definition: HcalUnpacker.h:26
std::vector< HOTriggerPrimitiveDigi > * tphoCont
Definition: HcalUnpacker.h:32
tuple report
Definition: zeeHLT_cff.py:9
int expectedOrbitMessageTime_
Expected orbit bunch time (needed to evaluate time differences)
Definition: HcalUnpacker.h:57
void unpackVME(const FEDRawData &raw, const HcalElectronicsMap &emap, Collections &conts, HcalUnpackerReport &report, bool silent=false)
std::vector< HcalTriggerPrimitiveDigi > * tpCont
Definition: HcalUnpacker.h:31
#define end
Definition: vmac.h:37
std::set< HcalElectronicsId > unknownIdsTrig_
Recorded to limit number of times a log message is generated.
Definition: HcalUnpacker.h:59
void setExpectedOrbitMessageTime(int time)
Definition: HcalUnpacker.h:44
void setMode(int mode)
Definition: HcalUnpacker.h:47
HcalUnpacker(int sourceIdOffset, int beg, int end)
for normal data
Definition: HcalUnpacker.h:41
void unpack(const FEDRawData &raw, const HcalElectronicsMap &emap, std::vector< HcalHistogramDigi > &histoDigis)
std::vector< HcalCalibDataFrame > * calibCont
Definition: HcalUnpacker.h:29
std::vector< HODataFrame > * hoCont
Definition: HcalUnpacker.h:27
QIE11DigiCollection * qie11
Definition: HcalUnpacker.h:35
QIE10DigiCollection * qie10
Definition: HcalUnpacker.h:34
std::vector< ZDCDataFrame > * zdcCont
Definition: HcalUnpacker.h:30
void unpackUMNio(const FEDRawData &raw, int slot, Collections &colls)
HcalUnpacker(int sourceIdOffset)
For histograms, no begin and end.
Definition: HcalUnpacker.h:43