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_
HcalChannelProperties::channelCoder
const HcalQIECoder * channelCoder
Definition: HcalChannelProperties.h:50
HcalChannelProperties::shape
const HcalQIEShape * shape
Definition: HcalChannelProperties.h:51
funct::false
false
Definition: Factorize.h:29
HcalChannelProperties::pedsAndGains
std::array< HcalPipelinePedestalAndGain, 4 > pedsAndGains
Definition: HcalChannelProperties.h:53
HcalPipelinePedestalAndGain.h
HcalChannelProperties::paramTs
const HcalRecoParam * paramTs
Definition: HcalChannelProperties.h:49
cms::cuda::assert
assert(be >=bs)
HcalChannelPropertiesVec
std::vector< HcalChannelProperties > HcalChannelPropertiesVec
Definition: HcalChannelProperties.h:57
HcalChannelProperties
Definition: HcalChannelProperties.h:18
HcalChannelProperties::taggedBadByDb
bool taggedBadByDb
Definition: HcalChannelProperties.h:54
HcalRecoParam
Definition: HcalRecoParam.h:16
HcalChannelProperties::HcalChannelProperties
HcalChannelProperties()
Definition: HcalChannelProperties.h:19
HcalCalibrations
Definition: HcalCalibrations.h:9
calib
Definition: CalibElectron.h:12
HcalChannelProperties::HcalChannelProperties
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)
Definition: HcalChannelProperties.h:27
HcalChannelProperties::calib
const HcalCalibrations * calib
Definition: HcalChannelProperties.h:48
HcalQIECoder
Definition: HcalQIECoder.h:20
HcalQIEShape
Definition: HcalQIEShape.h:17
HcalChannelProperties::siPMParameter
const HcalSiPMParameter * siPMParameter
Definition: HcalChannelProperties.h:52
HcalSiPMParameter
Definition: HcalSiPMParameter.h:7