Belle II Software development
ARICHModulesInfo.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
11#include <vector>
12#include <TObject.h>
13
14// number of HAPDs in ARICH
15#define N_HAPDS 420
16
17//number of channels per HAPD
18#define N_CHANNELS 144
19
20namespace Belle2 {
27
33 class ARICHModulesInfo : public TObject {
34
35 public:
36
39
46 double getChannelQE(unsigned modId, unsigned chNo) const;
47
54 void setChannelQE(unsigned modId, unsigned chId, double qe);
55
62 void addModule(unsigned modId, std::vector<float>& qeList, bool active);
63
69 bool isInstalled(unsigned modId) const;
70
76 bool isActive(unsigned modId) const;
77
81 void print() const;
82
83 private:
84
85 std::vector<uint8_t> m_ChannelQE;
87 bool m_active[N_HAPDS];
88 bool m_installed[N_HAPDS];
92 };
93
95} // namespace
The Class for information on HAPD modules installed in ARICH.
bool m_installed[N_HAPDS]
array of installed HAPDs
void setChannelQE(unsigned modId, unsigned chId, double qe)
Set channel quantum efficiency.
ARICHModulesInfo()
Default constructor.
double getChannelQE(unsigned modId, unsigned chNo) const
Get channel quantum efficiency.
bool isInstalled(unsigned modId) const
Check if module is installed.
ClassDef(ARICHModulesInfo, 1)
ClassDef, must be the last term before the closing {}.
bool isActive(unsigned modId) const
Check if module is active.
void print() const
Dump data.
bool m_active[N_HAPDS]
array of active HAPDs
std::vector< uint8_t > m_ChannelQE
Channel QE at 400nm.
void addModule(unsigned modId, std::vector< float > &qeList, bool active)
Add installed module.
Abstract base class for different kinds of events.