CMS 3D CMS Logo

HGCalTriggerCellBestChoiceCodecImpl.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_L1THGCal_HGCalTriggerCellBestChoiceCodecImpl_h__
2 #define __L1Trigger_L1THGCal_HGCalTriggerCellBestChoiceCodecImpl_h__
3 
4 
9 
10 #include <array>
11 #include <vector>
12 
13 
15 {
16  typedef std::vector<l1t::HGCalTriggerCell> trigger_cell_list; // list of trigger cell
17  trigger_cell_list payload;
18 
19  void reset()
20  {
21  payload.clear();
22  }
23 };
24 
25 
26 
28 {
29  public:
31 
33 
34  std::vector<bool> encode(const data_type&, const HGCalTriggerGeometryBase&) const ;
35  data_type decode(const std::vector<bool>&, const uint32_t, const HGCalTriggerGeometryBase&) const;
36 
37  void linearize(const std::vector<HGCDataFrame<HGCalDetId,HGCSample>>&,
38  std::vector<std::pair<HGCalDetId, uint32_t > >&);
39 
40  void triggerCellSums(const HGCalTriggerGeometryBase& ,
41  const std::vector<std::pair<HGCalDetId, uint32_t > >&,
42  data_type&);
43  void bestChoiceSelect(data_type&);
44 
45  // Retrieve parameters
46  size_t nCellsInModule() const {return nCellsInModule_;}
47  size_t nData() const {return nData_;}
48  size_t dataLength() const {return dataLength_;}
49  double linLSB() const {return linLSB_;}
50  double adcsaturation() const {return adcsaturation_;}
51  uint32_t adcnBits() const {return adcnBits_;}
52  double tdcsaturation() const {return tdcsaturation_;}
53  uint32_t tdcnBits() const {return tdcnBits_;}
54  double tdcOnsetfC() const {return tdcOnsetfC_;}
55  uint32_t triggerCellTruncationBits() const {return triggerCellTruncationBits_;}
56  uint32_t triggerCellSaturationBits() const {return triggerCellSaturationBits_;}
57 
58 
59  private:
60  size_t nData_;
61  size_t dataLength_;
63  double linLSB_;
65  uint32_t adcnBits_;
66  double tdcsaturation_ ;
67  uint32_t tdcnBits_ ;
68  double tdcOnsetfC_ ;
69  double adcLSB_;
70  double tdcLSB_;
73 
74 };
75 
76 #endif
bool decode(bool &, std::string const &)
Definition: types.cc:62
def encode(args, files)
HGCalTriggerCellBestChoiceDataPayload data_type
std::vector< l1t::HGCalTriggerCell > trigger_cell_list