Belle II Software development
ARICHHapdChipInfo.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#include <TObject.h>
11#include <TH2F.h>
12#include <TGraph.h>
13#include <vector>
14
15namespace Belle2 {
24 class ARICHHapdChipInfo: public TObject {
25
26 public:
27
34
38 explicit ARICHHapdChipInfo(const std::string& serial): m_serial(serial), m_chip(""), m_biasVoltage(0), m_gain(0),
39 m_leakCurrent(NULL),
42
47
52 std::string getHapdSerial() const {return m_serial; };
53
58 void setHapdSerial(const std::string& serial) {m_serial = serial; }
59
64 std::string getChipLabel() const {return m_chip; };
65
70 void setChipLabel(const std::string& chip) {m_chip = chip; }
71
76 int getBiasVoltage() const {return m_biasVoltage;}
77
82 void setBiasVoltage(int voltage) { m_biasVoltage = voltage; }
83
88 int getGain() const {return m_gain;}
89
94 void setGain(int gain) { m_gain = gain;}
95
100 TGraph* getLeakCurrent() const {return m_leakCurrent;}
101
106 void setLeakCurrent(TGraph* current) {m_leakCurrent = current;}
107
112 TGraph* getBombardmentGain() const {return m_bombardmentGain;}
113
118 void setBombardmentGain(TGraph* gain) {m_bombardmentGain = gain;}
119
124 TGraph* getBombardmentCurrent(unsigned int i) const;
125
130 void setBombardmentCurrent(std::vector<TGraph*> bcurrent);
131
136 TGraph* getAvalancheGain() const {return m_avalancheGain;}
137
142 void setAvalancheGain(TGraph* gain) {m_avalancheGain = gain;}
143
148 TGraph* getAvalancheCurrent(unsigned int i) const;
149
154 void setAvalancheCurrent(std::vector<TGraph*> acurrent);
155
160 TH2F* getBiasVoltage2D() const {return m_biasVoltage2D;}
161
166 void setBiasVoltage2D(TH2F* h2d) { m_biasVoltage2D = h2d;}
167
172 TH2F* getBiasCurrent2D() const {return m_biasCurrent2D;}
173
178 void setBiasCurrent2D(TH2F* h2d) { m_biasCurrent2D = h2d;}
179
185 int getChannelNumber() const {return m_channelId;}
186
192 void setChannelNumber(int channel) {m_channelId = channel;}
193
199 int getCutChannel(unsigned int i) const;
200
205 void appendCutChannel(int channel) {m_cutChannel.push_back(channel); }
206
211 void setCutChannel(const std::vector<int>& channels) {m_cutChannel = channels; }
212
217 int getCutChannelsSize() const {return m_cutChannel.size();}
218
224 int getBadChannel(unsigned int i) const;
225
230 void appendBadChannel(int channel) { m_badChannel.push_back(channel); }
231
236 void setBadChannel(const std::vector<int>& channels) {m_badChannel = channels; }
237
242 int getBadChannelsSize() const {return m_badChannel.size();}
243
244 private:
245 std::string m_serial;
246 std::string m_chip;
248 int m_gain;
251 std::vector<TGraph*> m_bombardmentCurrent;
253 std::vector<TGraph*> m_avalancheCurrent;
257 std::vector<int> m_cutChannel;
258 std::vector<int> m_badChannel;
262 };
264} // end namespace Belle2
Contains manufacturer data of one of the 4 photo sensors chips.
TH2F * getBiasCurrent2D() const
Get bias current as a function of the channel.
std::vector< int > m_badChannel
List of bad (cut and dead channels) on the HAPD chip.
std::string getChipLabel() const
Get chip label.
ClassDef(ARICHHapdChipInfo, 3)
ClassDef.
int getGain() const
Get chip gain at operational voltage.
int getBadChannel(unsigned int i) const
Get a channel number from the list of bad channels.
void setBombardmentCurrent(std::vector< TGraph * > bcurrent)
Set bombardment current as a function of high voltage.
void setGain(int gain)
Set chip gain at operational voltage.
TGraph * getAvalancheCurrent(unsigned int i) const
Get avalanche current as a function of bias voltage.
TGraph * getAvalancheGain() const
Get avalanche Gain as a function of bias voltage.
void setChipLabel(const std::string &chip)
Set Chip label.
int m_biasVoltage
chip bias voltage
void setHapdSerial(const std::string &serial)
Set HAPD serial number.
int getCutChannelsSize() const
Get size of the list of cut channels.
void setBiasCurrent2D(TH2F *h2d)
Set bias current as a function of the channel.
TGraph * m_avalancheGain
Avalanche Gain as a function of bias voltage.
void setCutChannel(const std::vector< int > &channels)
Set the list of cut channels.
void appendBadChannel(int channel)
Add a channel number to the list of bad channels.
TH2F * getBiasVoltage2D() const
Get bias voltage as a function of the channel.
std::vector< int > m_cutChannel
List of cut channels on the HAPD chip.
int getChannelNumber() const
Get channel number for the bombardment and avalanche measurements information.
int m_channelId
Channel Number for the Bombardment and Avalanche measurements information.
std::string m_chip
chip label
int getCutChannel(unsigned int i) const
Get a channel number from the list of cut channels.
TGraph * m_leakCurrent
Leakege Current as a function of bias voltage.
ARICHHapdChipInfo()
Default constructor.
TH2F * m_biasVoltage2D
Bias Voltage as a function of the channel.
void setBiasVoltage(int voltage)
Set chip bias voltage.
std::vector< TGraph * > m_avalancheCurrent
Avalanche Current as a function of bias voltage.
void setLeakCurrent(TGraph *current)
Set leakeage current as a function of bias voltage.
std::string getHapdSerial() const
Get HAPD Serial number.
std::string m_serial
serial number of the sensor
void setBombardmentGain(TGraph *gain)
Set bombardment gain as a function of high voltage.
void setAvalancheGain(TGraph *gain)
Set avalanche Gain as a function of bias voltage.
void setBadChannel(const std::vector< int > &channels)
Set the list of bad channels.
TH2F * m_biasCurrent2D
Bias Current as a function of the channel.
ARICHHapdChipInfo(const std::string &serial)
Constructor.
int getBiasVoltage() const
Get chip bias Voltage.
void setBiasVoltage2D(TH2F *h2d)
Set bias voltage as a function of the channel.
std::vector< TGraph * > m_bombardmentCurrent
Bombardment Current as a function of high voltage.
TGraph * getLeakCurrent() const
Get leakeage current as a function of bias voltage.
TGraph * getBombardmentGain() const
Get bombardment gain as a function of high voltage.
TGraph * getBombardmentCurrent(unsigned int i) const
Get bombardment current as a function of high voltage.
TGraph * m_bombardmentGain
Bombardment Gain as a function of high voltage.
int getBadChannelsSize() const
Get size of the list of cut channels.
int m_gain
Total Gain at Operational Values.
void setAvalancheCurrent(std::vector< TGraph * > acurrent)
Set avalanche current as a function of bias voltage.
void appendCutChannel(int channel)
Add a channel number to the list of cut channels.
void setChannelNumber(int channel)
Set channel number for the bombardment and avalanche measurements information.
Abstract base class for different kinds of events.