Back to home page

Project CMSSW displayed by LXR

 
 

    


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 /** \class HcalPacker
0009   *  
0010   * \author J. Mans - Minnesota
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