00001 #ifndef EVENTFILTER_HCALRAWTODIGI_HCALPACKER_H 00002 #define EVENTFILTER_HCALRAWTODIGI_HCALPACKER_H 1 00003 00004 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h" 00005 #include "DataFormats/FEDRawData/interface/FEDRawData.h" 00006 #include "CondFormats/HcalObjects/interface/HcalElectronicsMap.h" 00007 00014 class HcalPacker { 00015 public: 00016 struct Collections { 00017 Collections(); 00018 const HBHEDigiCollection* hbhe; 00019 const HODigiCollection* hoCont; 00020 const HFDigiCollection* hfCont; 00021 const HcalCalibDigiCollection* calibCont; 00022 const ZDCDigiCollection* zdcCont; 00023 const HcalTrigPrimDigiCollection* tpCont; 00024 }; 00025 00026 void pack(int fedid, int dccnumber, 00027 int nl1a, int orbitn, int bcn, 00028 const Collections& inputs, 00029 const HcalElectronicsMap& emap, 00030 FEDRawData& output); 00031 private: 00032 int findSamples(const DetId& did, const Collections& inputs, 00033 unsigned short* buffer, int &presamples); 00034 }; 00035 00036 #endif