CMS 3D CMS Logo

HcalChannelProperties.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HcalRecAlgos_HcalChannelProperties_h_
2 #define RecoLocalCalo_HcalRecAlgos_HcalChannelProperties_h_
3 
4 #include <array>
5 #include <vector>
6 #include <cassert>
7 
9 
10 class HcalCalibrations;
11 class HcalRecoParam;
12 class HcalQIECoder;
13 class HcalQIEShape;
14 class HcalSiPMParameter;
15 
16 // Collection of HCAL channel information, for faster lookup of this
17 // information in reco. This struct does not own any pointers.
20  : calib(nullptr),
21  paramTs(nullptr),
22  channelCoder(nullptr),
23  shape(nullptr),
24  siPMParameter(nullptr),
26 
27  inline HcalChannelProperties(const HcalCalibrations* i_calib,
28  const HcalRecoParam* i_paramTs,
29  const HcalQIECoder* i_channelCoder,
30  const HcalQIEShape* i_shape,
31  const HcalSiPMParameter* i_siPMParameter,
32  const std::array<HcalPipelinePedestalAndGain, 4>& i_pedsAndGains,
33  const bool i_taggedBadByDb)
34  : calib(i_calib),
35  paramTs(i_paramTs),
36  channelCoder(i_channelCoder),
37  shape(i_shape),
38  siPMParameter(i_siPMParameter),
39  pedsAndGains(i_pedsAndGains),
40  taggedBadByDb(i_taggedBadByDb) {
41  assert(calib);
42  assert(paramTs);
44  assert(shape);
45  /* siPMParameter is allowed to be nullptr for QIE8 */
46  }
47 
53  std::array<HcalPipelinePedestalAndGain, 4> pedsAndGains;
55 };
56 
57 typedef std::vector<HcalChannelProperties> HcalChannelPropertiesVec;
58 
59 #endif // RecoLocalCalo_HcalRecAlgos_HcalChannelProperties_h_
const HcalSiPMParameter * siPMParameter
const HcalQIEShape * shape
const HcalRecoParam * paramTs
std::array< HcalPipelinePedestalAndGain, 4 > pedsAndGains
assert(be >=bs)
std::vector< HcalChannelProperties > HcalChannelPropertiesVec
const HcalCalibrations * calib
HcalChannelProperties(const HcalCalibrations *i_calib, const HcalRecoParam *i_paramTs, const HcalQIECoder *i_channelCoder, const HcalQIEShape *i_shape, const HcalSiPMParameter *i_siPMParameter, const std::array< HcalPipelinePedestalAndGain, 4 > &i_pedsAndGains, const bool i_taggedBadByDb)
const HcalQIECoder * channelCoder