Belle II Software  release-08-01-10
ARICHHapdInfo.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 <string>
12 #include <TGraph.h>
13 #include <arich/dbobjects/ARICHHapdChipInfo.h>
14 
15 namespace Belle2 {
23  class ARICHHapdInfo: public TObject {
24  public:
25 
29  enum {c_NumberOfChips = 4,
30  };
31 
36  m_pulseHeight(NULL)
37  {
38  for (unsigned i = 0; i < 4; i++) m_HAPDChipInfo[i] = NULL;
39  }
40 
41 
45  ARICHHapdInfo(const std::string& serial, float qe400, float hv, int gb, float I, ARICHHapdChipInfo** HAPDChipInfo, TGraph* qe,
46  TGraph* pulseHeight): m_serial(serial), m_qe400(qe400), m_highVoltage(hv), m_guardBias(gb), m_current(I), m_quantumEfficiency(qe),
47  m_pulseHeight(pulseHeight)
48  {
49  for (unsigned i = 0; i < 4; i++) m_HAPDChipInfo[i] = HAPDChipInfo[i];
50  }
51 
56 
61  std::string getSerialNumber() const {return m_serial;}
62 
67  void setSerialNumber(const std::string& serial) {m_serial = serial; }
68 
73  float getQuantumEfficiency400() const {return m_qe400;}
74 
79  void setQuantumEfficiency400(float qe) {m_qe400 = qe;}
80 
85  float getHighVoltage() const {return m_highVoltage;}
86 
91  void setHighVoltage(float hv) {m_highVoltage = hv;}
92 
97  int getGuardBias() const {return m_guardBias;}
98 
103  void setGuardBias(int gb) {m_guardBias = gb;}
104 
109  float getCurrent() const {return m_current;}
110 
115  void setCurrent(float I) {m_current = I;}
116 
122  ARICHHapdChipInfo* getHapdChipInfo(unsigned int i) const;
123 
129  void setHapdChipInfo(unsigned int i, ARICHHapdChipInfo* chipInfo);
130 
135  TGraph* getQuantumEfficiency() const {return m_quantumEfficiency;}
136 
141  void setQuantumEfficiency(TGraph* qe) {m_quantumEfficiency = qe;}
142 
147  TGraph* getPulseHeightDistribution() const {return m_pulseHeight;}
148 
153  void setPulseHeightDistribution(TGraph* adc) {m_pulseHeight = adc;}
154 
155 
156  private:
157  std::string m_serial;
158  float m_qe400;
161  float m_current;
164  TGraph* m_pulseHeight;
167  };
169 } // end namespace Belle2
170 
Contains manufacturer data of one of the 4 photo sensors chips.
Contains manufacturer data of the photo sensor - HAPD.
Definition: ARICHHapdInfo.h:23
std::string getSerialNumber() const
Return HAPD Serial Number.
Definition: ARICHHapdInfo.h:61
void setSerialNumber(const std::string &serial)
Set HAPD Serial Number.
Definition: ARICHHapdInfo.h:67
void setHapdChipInfo(unsigned int i, ARICHHapdChipInfo *chipInfo)
Set HapdChipInfo of the chip i.
void setQuantumEfficiency(TGraph *qe)
Set Quantum Efficiency as a function of wavelength.
float getHighVoltage() const
Return operational High Voltage.
Definition: ARICHHapdInfo.h:85
void setQuantumEfficiency400(float qe)
Set quantum efficiency at 400 nm.
Definition: ARICHHapdInfo.h:79
float m_current
Current (A)
~ARICHHapdInfo()
Destructor.
Definition: ARICHHapdInfo.h:55
void setCurrent(float I)
Set Operational current.
TGraph * m_pulseHeight
Pulse height distribution.
@ c_NumberOfChips
number of HAPD Chips on the sensor
Definition: ARICHHapdInfo.h:29
void setGuardBias(int gb)
Set operational Guard Bias.
std::string m_serial
serial number of the sensor
ARICHHapdInfo(const std::string &serial, float qe400, float hv, int gb, float I, ARICHHapdChipInfo **HAPDChipInfo, TGraph *qe, TGraph *pulseHeight)
Constructor.
Definition: ARICHHapdInfo.h:45
TGraph * m_quantumEfficiency
Quantum Efficiency as a function of wavelength.
TGraph * getPulseHeightDistribution() const
Return pulse height distribution of one of the HAPD channels.
ARICHHapdInfo()
Default constructor.
Definition: ARICHHapdInfo.h:35
ClassDef(ARICHHapdInfo, 2)
ClassDef.
void setHighVoltage(float hv)
Set operational High Voltage.
Definition: ARICHHapdInfo.h:91
int getGuardBias() const
Return operational Guard Bias.
Definition: ARICHHapdInfo.h:97
int m_guardBias
guard HV (V)
float m_highVoltage
Operational high voltage.
ARICHHapdChipInfo * getHapdChipInfo(unsigned int i) const
Return HapdChipInfo of the chip i.
float m_qe400
quantum efficiency at 400 nm
ARICHHapdChipInfo * m_HAPDChipInfo[4]
HapdChipInfo id of the i-th chip in the sensor.
float getCurrent() const
Return Operational current.
float getQuantumEfficiency400() const
Return quantum efficiency at 400 nm.
Definition: ARICHHapdInfo.h:73
void setPulseHeightDistribution(TGraph *adc)
Set pulse height distribution of one of the HAPD channels.
TGraph * getQuantumEfficiency() const
Return Quantum Efficiency as a function of wavelength.
Abstract base class for different kinds of events.