File indexing completed on 2024-04-06 12:10:42
0001 #ifndef EVENTFILTER_HCALRAWTODIGI_HCALPACKER_H
0002 #define EVENTFILTER_HCALRAWTODIGI_HCALPACKER_H 1
0003
0004 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
0005 #include "DataFormats/FEDRawData/interface/FEDRawData.h"
0006 #include "CondFormats/HcalObjects/interface/HcalElectronicsMap.h"
0007
0008
0009
0010
0011
0012 class HcalPacker {
0013 public:
0014 struct Collections {
0015 Collections();
0016 const HBHEDigiCollection* hbhe;
0017 const HODigiCollection* hoCont;
0018 const HFDigiCollection* hfCont;
0019 const HcalCalibDigiCollection* calibCont;
0020 const ZDCDigiCollection* zdcCont;
0021 const HcalTrigPrimDigiCollection* tpCont;
0022 };
0023
0024 void pack(int fedid,
0025 int dccnumber,
0026 int nl1a,
0027 int orbitn,
0028 int bcn,
0029 const Collections& inputs,
0030 const HcalElectronicsMap& emap,
0031 FEDRawData& output) const;
0032
0033 private:
0034 int findSamples(const DetId& did,
0035 const Collections& inputs,
0036 unsigned short* buffer,
0037 int& presamples,
0038 bool& zsUS,
0039 bool& zsMP) const;
0040 };
0041
0042 #endif