CMS 3D CMS Logo

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