CMS 3D CMS Logo

CSCDigiToRaw.h
Go to the documentation of this file.
1 #ifndef EventFilter_CSCDigiToRaw_h
2 #define EventFilter_CSCDigiToRaw_h
3 
18 
21 class CSCChamberMap;
22 
23 class CSCDigiToRaw {
24 public:
26  explicit CSCDigiToRaw(const edm::ParameterSet& pset);
27 
29  void createFedBuffers(const CSCStripDigiCollection& stripDigis,
30  const CSCWireDigiCollection& wireDigis,
31  const CSCComparatorDigiCollection& comparatorDigis,
32  const CSCALCTDigiCollection& alctDigis,
33  const CSCCLCTDigiCollection& clctDigis,
34  const CSCCLCTPreTriggerCollection& preTriggers,
35  const CSCCorrelatedLCTDigiCollection& correlatedLCTDigis,
36  FEDRawDataCollection& fed_buffers,
37  const CSCChamberMap* theMapping,
38  edm::Event& e,
39  uint16_t theFormatVersion = 2005,
40  bool usePreTriggers = true,
41  bool packEverything = false) const;
42 
43 private:
46 
47  using ChamberDataMap = std::map<CSCDetId, CSCEventData>;
50  const uint16_t formatVersion_;
51  };
52 
53  // specialized because it reverses strip direction
54  void add(const CSCStripDigiCollection& stripDigis,
55  const CSCCLCTPreTriggerCollection& preTriggers,
57  bool usePreTriggers,
58  bool packEverything) const;
59  void add(const CSCWireDigiCollection& wireDigis,
60  const CSCALCTDigiCollection& alctDigis,
62  bool packEverything) const;
63  // may require CLCTs to read out comparators. Doesn't add CLCTs.
64  void add(const CSCComparatorDigiCollection& comparatorDigis,
65  const CSCCLCTDigiCollection& clctDigis,
67  bool packEverything) const;
68  void add(const CSCALCTDigiCollection& alctDigis, FindEventDataInfo&) const;
69  void add(const CSCCLCTDigiCollection& clctDigis, FindEventDataInfo&) const;
70  void add(const CSCCorrelatedLCTDigiCollection& corrLCTDigis, FindEventDataInfo&) const;
72  CSCEventData& findEventData(const CSCDetId& cscDetId, FindEventDataInfo&) const;
73 
74  const int alctWindowMin_;
75  const int alctWindowMax_;
76  const int clctWindowMin_;
77  const int clctWindowMax_;
80 };
81 
82 #endif
const int clctWindowMin_
Definition: CSCDigiToRaw.h:76
const int clctWindowMax_
Definition: CSCDigiToRaw.h:77
std::map< CSCDetId, CSCEventData > ChamberDataMap
Definition: CSCDigiToRaw.h:47
CSCEventData & findEventData(const CSCDetId &cscDetId, FindEventDataInfo &) const
pick out the correct data object for this chamber
const int preTriggerWindowMin_
Definition: CSCDigiToRaw.h:78
const int preTriggerWindowMax_
Definition: CSCDigiToRaw.h:79
CSCDigiToRaw(const edm::ParameterSet &pset)
Constructor.
const CSCChamberMap * theElectronicsMap
Definition: CSCDigiToRaw.h:49
void createFedBuffers(const CSCStripDigiCollection &stripDigis, const CSCWireDigiCollection &wireDigis, const CSCComparatorDigiCollection &comparatorDigis, const CSCALCTDigiCollection &alctDigis, const CSCCLCTDigiCollection &clctDigis, const CSCCLCTPreTriggerCollection &preTriggers, const CSCCorrelatedLCTDigiCollection &correlatedLCTDigis, FEDRawDataCollection &fed_buffers, const CSCChamberMap *theMapping, edm::Event &e, uint16_t theFormatVersion=2005, bool usePreTriggers=true, bool packEverything=false) const
Take a vector of digis and fill the FEDRawDataCollection.
const int alctWindowMin_
Definition: CSCDigiToRaw.h:74
FindEventDataInfo(const CSCChamberMap *map, uint16_t version)
Definition: CSCDigiToRaw.h:45
const int alctWindowMax_
Definition: CSCDigiToRaw.h:75
void add(const CSCStripDigiCollection &stripDigis, const CSCCLCTPreTriggerCollection &preTriggers, FindEventDataInfo &, bool usePreTriggers, bool packEverything) const