Belle II Software  release-06-01-15
BKLMStatus.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
15 
17 #define BKLM_DECAYED_BIT 23
18 
20 #define BKLM_OUTOFTIME_BIT 24
21 
23 #define BKLM_ABOVETHRESHOLD_BIT 26
24 
26 #define BKLM_ONTRACK_BIT 27
27 
29 #define BKLM_GHOST_BIT 28
30 
32 #define BKLM_ONSTATRACK_BIT 29
33 
35 #define BKLM_DECAYED_MASK (1 << BKLM_DECAYED_BIT)
36 
38 #define BKLM_OUTOFTIME_MASK (1 << BKLM_OUTOFTIME_BIT)
39 
41 #define BKLM_ABOVETHRESHOLD_MASK (1 << BKLM_ABOVETHRESHOLD_BIT)
42 
44 #define BKLM_ONTRACK_MASK (1 << BKLM_ONTRACK_BIT)
45 
47 #define BKLM_GHOST_MASK (1 << BKLM_GHOST_BIT)
48 
50 #define BKLM_ONSTATRACK_MASK (1 << BKLM_ONSTATRACK_BIT)
51 
53 #define BKLM_STATUS_MASK (BKLM_DECAYED_MASK | BKLM_OUTOFTIME_MASK | BKLM_ONTRACK_MASK | BKLM_ABOVETHRESHOLD_MASK | BKLM_ONSTATRACK_MASK)
54 
55 namespace Belle2 {
64  class BKLMStatus {
65 
66  public:
67 
72  {
73  }
74 
79  {
80  }
81 
85  static int getMaximalStrip(int module)
86  {
87  return ((module & BKLM_MAXSTRIP_MASK) >> BKLM_MAXSTRIP_BIT) + 1;
88  }
89 
93  static void setMaximalStrip(int& module, int strip)
94  {
95  module = (module & (~BKLM_MAXSTRIP_MASK)) | ((strip - 1) << BKLM_MAXSTRIP_BIT);
96  }
97 
98  protected:
99 
101  static constexpr int BKLM_MAXSTRIP_BIT = 15;
102 
104  static constexpr int BKLM_MAXSTRIP_MASK = (63 << BKLM_MAXSTRIP_BIT);
105 
106  };
107 
109 }
BKLM hit status.
Definition: BKLMStatus.h:64
static constexpr int BKLM_MAXSTRIP_BIT
Bit position for maxStrip-1 [0..47].
Definition: BKLMStatus.h:101
static int getMaximalStrip(int module)
Get maximal strip number.
Definition: BKLMStatus.h:85
static void setMaximalStrip(int &module, int strip)
Set maximal strip number.
Definition: BKLMStatus.h:93
~BKLMStatus()
Destructor.
Definition: BKLMStatus.h:78
static constexpr int BKLM_MAXSTRIP_MASK
Bit mask for maxStrip-1 [0..47].
Definition: BKLMStatus.h:104
BKLMStatus()
Constructor.
Definition: BKLMStatus.h:71
Abstract base class for different kinds of events.