Belle II Software  release-05-01-25
BKLMStatus.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Leo Piilonen *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
17 
19 #define BKLM_DECAYED_BIT 23
20 
22 #define BKLM_OUTOFTIME_BIT 24
23 
25 #define BKLM_ABOVETHRESHOLD_BIT 26
26 
28 #define BKLM_ONTRACK_BIT 27
29 
31 #define BKLM_GHOST_BIT 28
32 
34 #define BKLM_ONSTATRACK_BIT 29
35 
37 #define BKLM_DECAYED_MASK (1 << BKLM_DECAYED_BIT)
38 
40 #define BKLM_OUTOFTIME_MASK (1 << BKLM_OUTOFTIME_BIT)
41 
43 #define BKLM_ABOVETHRESHOLD_MASK (1 << BKLM_ABOVETHRESHOLD_BIT)
44 
46 #define BKLM_ONTRACK_MASK (1 << BKLM_ONTRACK_BIT)
47 
49 #define BKLM_GHOST_MASK (1 << BKLM_GHOST_BIT)
50 
52 #define BKLM_ONSTATRACK_MASK (1 << BKLM_ONSTATRACK_BIT)
53 
55 #define BKLM_STATUS_MASK (BKLM_DECAYED_MASK | BKLM_OUTOFTIME_MASK | BKLM_ONTRACK_MASK | BKLM_ABOVETHRESHOLD_MASK | BKLM_ONSTATRACK_MASK)
56 
57 namespace Belle2 {
66  class BKLMStatus {
67 
68  public:
69 
74  {
75  }
76 
81  {
82  }
83 
87  static int getMaximalStrip(int module)
88  {
89  return ((module & BKLM_MAXSTRIP_MASK) >> BKLM_MAXSTRIP_BIT) + 1;
90  }
91 
95  static void setMaximalStrip(int& module, int strip)
96  {
97  module = (module & (~BKLM_MAXSTRIP_MASK)) | ((strip - 1) << BKLM_MAXSTRIP_BIT);
98  }
99 
100  protected:
101 
103  static constexpr int BKLM_MAXSTRIP_BIT = 15;
104 
106  static constexpr int BKLM_MAXSTRIP_MASK = (63 << BKLM_MAXSTRIP_BIT);
107 
108  };
109 
111 }
Belle2::BKLMStatus::setMaximalStrip
static void setMaximalStrip(int &module, int strip)
Set maximal strip number.
Definition: BKLMStatus.h:95
Belle2::BKLMStatus::getMaximalStrip
static int getMaximalStrip(int module)
Get maximal strip number.
Definition: BKLMStatus.h:87
Belle2::BKLMStatus::~BKLMStatus
~BKLMStatus()
Destructor.
Definition: BKLMStatus.h:80
Belle2::BKLMStatus::BKLMStatus
BKLMStatus()
Constructor.
Definition: BKLMStatus.h:73
Belle2::BKLMStatus::BKLM_MAXSTRIP_MASK
static constexpr int BKLM_MAXSTRIP_MASK
Bit mask for maxStrip-1 [0..47].
Definition: BKLMStatus.h:106
Belle2::BKLMStatus::BKLM_MAXSTRIP_BIT
static constexpr int BKLM_MAXSTRIP_BIT
Bit position for maxStrip-1 [0..47].
Definition: BKLMStatus.h:103
Belle2::BKLMStatus
BKLM hit status.
Definition: BKLMStatus.h:66
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19