CMS 3D CMS Logo

HcalRecoParam.h
Go to the documentation of this file.
1 #ifndef HcalRecoParam_h
2 #define HcalRecoParam_h
3 
14 
15 #include <boost/cstdint.hpp>
16 
18  public:
19  HcalRecoParam():mId(0), mParam1(0), mParam2(0) {}
20 
21  HcalRecoParam(unsigned long fId, unsigned int fParam1, unsigned int fParam2):
22  mId(fId), mParam1(fParam1), mParam2(fParam2) {}
23 
24  uint32_t rawId () const {return mId;}
25 
26  unsigned int param1() const {return mParam1;}
27  unsigned int param2() const {return mParam2;}
28 
29  bool correctForPhaseContainment() const {return mParam1&0x1;}
30  bool correctForLeadingEdge() const {return (mParam1>>1)&0x1;}
31  float correctionPhaseNS() const {return ((mParam1>>2)&0xFF)/4.-32.;}
32  unsigned int firstSample() const {return (mParam1<10)?(mParam1):((mParam1>>10)&0xF);}
33  unsigned int samplesToAdd() const {return (mParam1<10)?(mParam2):((mParam1>>14)&0xF);}
34  unsigned int pulseShapeID() const {return (mParam1>>18)&0x1FF;}
35 
36  bool useLeakCorrection () const {return mParam2&0x1;}
37  unsigned int leakCorrectionID () const {return (mParam2>>1)&0xF;}
38  bool correctForTimeslew () const {return (mParam2>>5)&0x1;}
39  unsigned int timeslewCorrectionID () const {return (mParam2>>6)&0xF;}
40  bool correctTiming () const {return (mParam2>>10)&0x1;}
41  unsigned int firstAuxTS () const { return (mParam2>>11)&0xF;}
42  unsigned int specialCaseID () const {return (mParam2>>15)&0xF;}
43  unsigned int noiseFlaggingID () const {return (mParam2>>19)&0xF;}
44  unsigned int pileupCleaningID () const {return (mParam2>>23)&0xF;}
45  unsigned int packingScheme () const {return (mParam2>>27)&0xF;}
46 
47  private:
48  uint32_t mId;
49  uint32_t mParam1;
50  uint32_t mParam2;
51 
53 };
54 
55 #endif
unsigned int firstSample() const
Definition: HcalRecoParam.h:32
unsigned int param2() const
Definition: HcalRecoParam.h:27
unsigned int pileupCleaningID() const
Definition: HcalRecoParam.h:44
uint32_t mId
Definition: HcalRecoParam.h:48
bool correctForPhaseContainment() const
Definition: HcalRecoParam.h:29
unsigned int noiseFlaggingID() const
Definition: HcalRecoParam.h:43
unsigned int leakCorrectionID() const
Definition: HcalRecoParam.h:37
uint32_t mParam2
Definition: HcalRecoParam.h:50
unsigned int specialCaseID() const
Definition: HcalRecoParam.h:42
uint32_t rawId() const
Definition: HcalRecoParam.h:24
unsigned int param1() const
Definition: HcalRecoParam.h:26
bool correctForTimeslew() const
Definition: HcalRecoParam.h:38
bool correctTiming() const
Definition: HcalRecoParam.h:40
unsigned int samplesToAdd() const
Definition: HcalRecoParam.h:33
float correctionPhaseNS() const
Definition: HcalRecoParam.h:31
unsigned int pulseShapeID() const
Definition: HcalRecoParam.h:34
HcalRecoParam(unsigned long fId, unsigned int fParam1, unsigned int fParam2)
Definition: HcalRecoParam.h:21
#define COND_SERIALIZABLE
Definition: Serializable.h:38
unsigned int packingScheme() const
Definition: HcalRecoParam.h:45
unsigned int firstAuxTS() const
Definition: HcalRecoParam.h:41
bool correctForLeadingEdge() const
Definition: HcalRecoParam.h:30
unsigned int timeslewCorrectionID() const
Definition: HcalRecoParam.h:39
uint32_t mParam1
Definition: HcalRecoParam.h:49
bool useLeakCorrection() const
Definition: HcalRecoParam.h:36