CMS 3D CMS Logo

HFRecHitAuxSetter.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HcalRecAlgos_HFRecHitAuxSetter_h_
2 #define RecoLocalCalo_HcalRecAlgos_HFRecHitAuxSetter_h_
3 
6 
7 //
8 // Set rechit "auxiliary words" for the dual-anode HF reco
9 //
11 {
12  // We will store up to three 8-bit ADC values
13  static const unsigned MASK_ADC = 0xffffff;
14  static const unsigned OFF_ADC = 0;
15 
16  // Which byte is used by the sample of interest.
17  // Normally 0, 1, or 2. Value of 3 means that
18  // something went wrong, and SOI was not stored
19  // in the HFPreRecHit.
20  static const unsigned MASK_SOI = 0x3;
21  static const unsigned OFF_SOI = 24;
22 
23  // CAPID for the sample of interest.
24  // Will be correct only if the SOI value
25  // is less than 3.
26  static const unsigned MASK_CAPID = 0x3;
27  static const unsigned OFF_CAPID = 26;
28 
29  // Anode status value. It is assumed that
30  // the possible anode status values are
31  // defined in the HFAnodeStatus.h header.
32  static const unsigned MASK_STATUS = 0xf;
33  static const unsigned OFF_STATUS = 28;
34 
35  // Main function for setting the aux words.
36  //
37  // "soiPhase" argument tells us the byte into
38  // which the sample of interest should be placed
39  // in the aux word. "soiPhase" should be 0, 1, or 2.
40  // The number of presamples stored will normally
41  // be equal "soiPhase" and the number of postsamples
42  // (2 - soiPhase).
43  //
44  static void setAux(const HFPreRecHit& prehit,
45  const unsigned anodeStates[2],
46  unsigned soiPhase,
47  HFRecHit* rechit);
48 };
49 
50 #endif // RecoLocalCalo_HcalRecAlgos_HFRecHitAuxSetter_h_
static const unsigned OFF_CAPID
static const unsigned OFF_STATUS
static const unsigned MASK_STATUS
static const unsigned OFF_SOI
static const unsigned MASK_ADC
static const unsigned MASK_CAPID
static const unsigned MASK_SOI
static void setAux(const HFPreRecHit &prehit, const unsigned anodeStates[2], unsigned soiPhase, HFRecHit *rechit)
static const unsigned OFF_ADC