Belle II Software  release-05-02-19
KLMChannelStatus.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* ROOT headers. */
14 #include <TObject.h>
15 
16 /* C++ headers. */
17 #include <cstdint>
18 #include <map>
19 
20 namespace Belle2 {
29  class KLMChannelStatus : public TObject {
30 
31  public:
32 
36  enum ChannelStatus {
37 
39  c_Unknown,
40 
42  c_Normal,
43 
45  c_Dead,
46 
48  c_Hot,
49 
52 
53  };
54 
59 
64 
69  enum ChannelStatus getChannelStatus(uint16_t channel) const;
70 
76  void setChannelStatus(uint16_t channel, enum ChannelStatus status);
77 
82  void setStatusAllChannels(enum ChannelStatus status);
83 
88  int getActiveStripsInModule(uint16_t module) const;
89 
93  bool operator==(KLMChannelStatus& status);
94 
99  unsigned int newNormalChannels(KLMChannelStatus& status);
100 
101  private:
102 
104  std::map<uint16_t, enum ChannelStatus> m_ChannelStatus;
105 
108 
109  };
110 
112 }
Belle2::KLMChannelStatus::ClassDef
ClassDef(Belle2::KLMChannelStatus, 1)
Class version.
Belle2::KLMChannelStatus::c_Undetermined
@ c_Undetermined
Undetermined (used during calibration).
Definition: KLMChannelStatus.h:59
Belle2::KLMChannelStatus::c_Hot
@ c_Hot
Hot channel (large background).
Definition: KLMChannelStatus.h:56
Belle2::KLMChannelStatus
KLM channel status.
Definition: KLMChannelStatus.h:37
Belle2::KLMChannelStatus::newNormalChannels
unsigned int newNormalChannels(KLMChannelStatus &status)
Number of new channels with status c_Normal that have a different status in another channel-status da...
Definition: KLMChannelStatus.cc:109
Belle2::KLMChannelStatus::ChannelStatus
ChannelStatus
Channel status.
Definition: KLMChannelStatus.h:44
Belle2::KLMChannelStatus::operator==
bool operator==(KLMChannelStatus &status)
Operator ==.
Definition: KLMChannelStatus.cc:91
Belle2::KLMChannelStatus::c_Dead
@ c_Dead
Dead channel (no signal).
Definition: KLMChannelStatus.h:53
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::KLMChannelStatus::KLMChannelStatus
KLMChannelStatus()
Constructor.
Definition: KLMChannelStatus.cc:23
Belle2::KLMChannelStatus::setChannelStatus
void setChannelStatus(uint16_t channel, enum ChannelStatus status)
Set channel status.
Definition: KLMChannelStatus.cc:40
Belle2::KLMChannelStatus::m_ChannelStatus
std::map< uint16_t, enum ChannelStatus > m_ChannelStatus
Channel data.
Definition: KLMChannelStatus.h:112
Belle2::KLMChannelStatus::c_Unknown
@ c_Unknown
Unknown status (no data).
Definition: KLMChannelStatus.h:47
Belle2::KLMChannelStatus::getActiveStripsInModule
int getActiveStripsInModule(uint16_t module) const
Get number of active strips in the specified KLM module.
Definition: KLMChannelStatus.cc:60
Belle2::KLMChannelStatus::setStatusAllChannels
void setStatusAllChannels(enum ChannelStatus status)
Set staus for all channels.
Definition: KLMChannelStatus.cc:53
Belle2::KLMChannelStatus::~KLMChannelStatus
~KLMChannelStatus()
Destructor.
Definition: KLMChannelStatus.cc:27
Belle2::KLMChannelStatus::c_Normal
@ c_Normal
Normally operating channel.
Definition: KLMChannelStatus.h:50
Belle2::KLMChannelStatus::getChannelStatus
enum ChannelStatus getChannelStatus(uint16_t channel) const
Get channel status.
Definition: KLMChannelStatus.cc:32