CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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);
42 
43 private:
45 
46  // specialized because it reverses strip direction
47  void add(const CSCStripDigiCollection& stripDigis,
48  const CSCCLCTPreTriggerCollection& preTriggers);
49  void add(const CSCWireDigiCollection& wireDigis,
50  const CSCALCTDigiCollection & alctDigis);
51  // may require CLCTs to read out comparators. Doesn't add CLCTs.
52  void add(const CSCComparatorDigiCollection & comparatorDigis,
53  const CSCCLCTDigiCollection & clctDigis);
54  void add(const CSCALCTDigiCollection & alctDigis);
55  void add(const CSCCLCTDigiCollection & clctDigis);
56  void add(const CSCCorrelatedLCTDigiCollection & corrLCTDigis);
58  CSCEventData & findEventData(const CSCDetId & cscDetId);
59 
60  std::map<CSCDetId, CSCEventData> theChamberDataMap;
68  uint16_t formatVersion_;
71 };
72 
73 
74 
75 
76 #endif
void add(const CSCStripDigiCollection &stripDigis, const CSCCLCTPreTriggerCollection &preTriggers)
uint16_t formatVersion_
Definition: CSCDigiToRaw.h:68
bool usePreTriggers_
Definition: CSCDigiToRaw.h:69
bool packEverything_
Definition: CSCDigiToRaw.h:70
int clctWindowMin_
Definition: CSCDigiToRaw.h:64
int alctWindowMax_
Definition: CSCDigiToRaw.h:63
const CSCChamberMap * theElectronicsMap
Definition: CSCDigiToRaw.h:61
int alctWindowMin_
Definition: CSCDigiToRaw.h:62
CSCDigiToRaw(const edm::ParameterSet &pset)
Constructor.
int clctWindowMax_
Definition: CSCDigiToRaw.h:65
void beginEvent(const CSCChamberMap *electronicsMap)
int preTriggerWindowMin_
Definition: CSCDigiToRaw.h:66
int preTriggerWindowMax_
Definition: CSCDigiToRaw.h:67
std::map< CSCDetId, CSCEventData > theChamberDataMap
Definition: CSCDigiToRaw.h:60
CSCEventData & findEventData(const CSCDetId &cscDetId)
pick out the correct data object for this chamber
EcalElectronicsMapping const * electronicsMap(0)
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)
Take a vector of digis and fill the FEDRawDataCollection.