Belle II Software  release-08-01-10
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 
15 namespace Belle2 {
25  class ARICHHapdChipInfo: public TObject {
26  public:
27 
33  m_cutChannel(), m_badChannel() {};
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 
51  std::string getHapdSerial() const {return m_serial; };
52 
56  void setHapdSerial(const std::string& serial) {m_serial = serial; }
57 
61  std::string getChipLabel() const {return m_chip; };
62 
66  void setChipLabel(const std::string& chip) {m_chip = chip; }
67 
72  int getBiasVoltage() const {return m_biasVoltage;}
73 
78  void setBiasVoltage(int voltage) { m_biasVoltage = voltage; }
79 
84  int getGain() const {return m_gain;}
85 
90  void setGain(int gain) { m_gain = gain;}
91 
96  TGraph* getLeakCurrent() const {return m_leakCurrent;}
97 
102  void setLeakCurrent(TGraph* current) {m_leakCurrent = current;}
103 
108  TGraph* getBombardmentGain() const {return m_bombardmentGain;}
109 
114  void setBombardmentGain(TGraph* gain) {m_bombardmentGain = gain;}
115 
120  TGraph* getBombardmentCurrent(unsigned int i) const;
121 
126  void setBombardmentCurrent(std::vector<TGraph*> bcurrent);
127 
132  TGraph* getAvalancheGain() const {return m_avalancheGain;}
133 
138  void setAvalancheGain(TGraph* gain) {m_avalancheGain = gain;}
139 
140 
145  TGraph* getAvalancheCurrent(unsigned int i) const;
146 
151  void setAvalancheCurrent(std::vector<TGraph*> acurrent);
152 
157  TH2F* getBiasVoltage2D() const {return m_biasVoltage2D;}
158 
163  void setBiasVoltage2D(TH2F* h2d) { m_biasVoltage2D = h2d;}
164 
169  TH2F* getBiasCurrent2D() const {return m_biasCurrent2D;}
170 
175  void setBiasCurrent2D(TH2F* h2d) { m_biasCurrent2D = h2d;}
176 
181  int getChannelNumber() const {return m_channelId;}
182 
187  void setChannelNumber(int channel) {m_channelId = channel;}
188 
194  int getCutChannel(unsigned int i) const;
195 
200  void appendCutChannel(int channel) {m_cutChannel.push_back(channel); }
201 
206  void setCutChannel(const std::vector<int>& channels) {m_cutChannel = channels; }
207 
212  int getCutChannelsSize() const {return m_cutChannel.size();}
213 
219  int getBadChannel(unsigned int i) const;
220 
225  void appendBadChannel(int ichannel) { m_badChannel.push_back(ichannel); }
226 
231  void setBadChannel(const std::vector<int>& channels) {m_badChannel = channels; }
232 
237  int getBadChannelsSize() const {return m_badChannel.size();}
238 
239  private:
240  std::string m_serial;
241  std::string m_chip;
243  int m_gain;
244  TGraph* m_leakCurrent;
246  std::vector<TGraph*> m_bombardmentCurrent;
247  TGraph* m_avalancheGain;
248  std::vector<TGraph*> m_avalancheCurrent;
252  std::vector<int> m_cutChannel;
253  std::vector<int> m_badChannel;
257  };
259 } // end namespace Belle2
Contains manufacturer data of one of the 4 photo sensors chips.
std::vector< int > m_badChannel
List of bad (cut and dead channels) on the HAPD chip.
std::string getChipLabel() const
Return Chip label.
ClassDef(ARICHHapdChipInfo, 3)
ClassDef.
TGraph * getAvalancheGain() const
Return Avalanche Gain as a function of bias voltage.
int getGain() const
Return Chip Gain at Operational Voltage.
int getBadChannel(unsigned int i) const
Return a channel number from the list of cut 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
Return Avalanche Current as a function of bias voltage.
TH2F * getBiasCurrent2D() const
Return Bias Current as a function of the channel.
TGraph * getBombardmentGain() const
Return Bombardment Gain as a function of high 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
Return 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.
std::vector< int > m_cutChannel
List of cut channels on the HAPD chip.
int getChannelNumber() const
Return 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
Return 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
Return Hapd Serial number.
std::string m_serial
serial number of the sensor
TH2F * getBiasVoltage2D() const
Return Bias Voltage as a function of the channel.
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.
void appendBadChannel(int ichannel)
Add a channel number to the list of cut channels.
int getBiasVoltage() const
Return 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 * getBombardmentCurrent(unsigned int i) const
Return Bombardment Current as a function of high voltage.
TGraph * m_bombardmentGain
Bombardment Gain as a function of high voltage.
int getBadChannelsSize() const
Return size of the list of cut channels.
int m_gain
Total Gain at Operational Values.
TGraph * getLeakCurrent() const
Return Leakeage Current as a function of bias voltage.
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.