Belle II Software  release-05-02-19
ARICHHapdInfo.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Rok Pestotnik, Manca Mrvar *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <TObject.h>
13 #include <string>
14 #include <TGraph.h>
15 #include <arich/dbobjects/ARICHHapdChipInfo.h>
16 
17 namespace Belle2 {
25  class ARICHHapdInfo: public TObject {
26  public:
27 
31  enum {c_NumberOfChips = 4,
32  };
33 
38  m_pulseHeight(NULL)
39  {
40  for (unsigned i = 0; i < 4; i++) m_HAPDChipInfo[i] = NULL;
41  }
42 
43 
47  ARICHHapdInfo(const std::string& serial, float qe400, float hv, int gb, float I, ARICHHapdChipInfo** HAPDChipInfo, TGraph* qe,
48  TGraph* pulseHeight): m_serial(serial), m_qe400(qe400), m_highVoltage(hv), m_guardBias(gb), m_current(I), m_quantumEfficiency(qe),
49  m_pulseHeight(pulseHeight)
50  {
51  for (unsigned i = 0; i < 4; i++) m_HAPDChipInfo[i] = HAPDChipInfo[i];
52  }
53 
57  ~ARICHHapdInfo() {};
58 
63  std::string getSerialNumber() const {return m_serial;}
64 
69  void setSerialNumber(const std::string& serial) {m_serial = serial; }
70 
75  float getQuantumEfficiency400() const {return m_qe400;}
76 
81  void setQuantumEfficiency400(float qe) {m_qe400 = qe;}
82 
87  float getHighVoltage() const {return m_highVoltage;}
88 
93  void setHighVoltage(float hv) {m_highVoltage = hv;}
94 
99  int getGuardBias() const {return m_guardBias;}
100 
105  void setGuardBias(int gb) {m_guardBias = gb;}
106 
111  float getCurrent() const {return m_current;}
112 
117  void setCurrent(float I) {m_current = I;}
118 
124  ARICHHapdChipInfo* getHapdChipInfo(unsigned int i) const;
125 
131  void setHapdChipInfo(unsigned int i, ARICHHapdChipInfo* chipInfo);
132 
137  TGraph* getQuantumEfficiency() const {return m_quantumEfficiency;}
138 
143  void setQuantumEfficiency(TGraph* qe) {m_quantumEfficiency = qe;}
144 
149  TGraph* getPulseHeightDistribution() const {return m_pulseHeight;}
150 
155  void setPulseHeightDistribution(TGraph* adc) {m_pulseHeight = adc;}
156 
157 
158  private:
159  std::string m_serial;
160  float m_qe400;
161  float m_highVoltage;
162  int m_guardBias;
163  float m_current;
165  TGraph* m_quantumEfficiency;
166  TGraph* m_pulseHeight;
169  };
171 } // end namespace Belle2
172 
Belle2::ARICHHapdChipInfo
Contains manufacturer data of one of the 4 photo sensors chips.
Definition: ARICHHapdChipInfo.h:35
Belle2::ARICHHapdInfo::ARICHHapdInfo
ARICHHapdInfo()
Default constructor.
Definition: ARICHHapdInfo.h:45
Belle2::ARICHHapdInfo::m_qe400
float m_qe400
quantum efficiency at 400 nm
Definition: ARICHHapdInfo.h:168
Belle2::ARICHHapdInfo::ClassDef
ClassDef(ARICHHapdInfo, 2)
ClassDef.
Belle2::ARICHHapdInfo::getGuardBias
int getGuardBias() const
Return operational Guard Bias.
Definition: ARICHHapdInfo.h:107
Belle2::ARICHHapdInfo::m_guardBias
int m_guardBias
guard HV (V)
Definition: ARICHHapdInfo.h:170
Belle2::ARICHHapdInfo::getQuantumEfficiency
TGraph * getQuantumEfficiency() const
Return Quantum Efficiency as a function of wavelength.
Definition: ARICHHapdInfo.h:145
Belle2::ARICHHapdInfo::m_current
float m_current
Current (A)
Definition: ARICHHapdInfo.h:171
Belle2::ARICHHapdInfo::setQuantumEfficiency400
void setQuantumEfficiency400(float qe)
Set quantum efficiency at 400 nm.
Definition: ARICHHapdInfo.h:89
Belle2::ARICHHapdInfo::setGuardBias
void setGuardBias(int gb)
Set operational Guard Bias.
Definition: ARICHHapdInfo.h:113
Belle2::ARICHHapdInfo::setHighVoltage
void setHighVoltage(float hv)
Set operational High Voltage.
Definition: ARICHHapdInfo.h:101
Belle2::ARICHHapdInfo::setCurrent
void setCurrent(float I)
Set Operational current.
Definition: ARICHHapdInfo.h:125
Belle2::ARICHHapdInfo::setSerialNumber
void setSerialNumber(const std::string &serial)
Set HAPD Serial Number.
Definition: ARICHHapdInfo.h:77
Belle2::ARICHHapdInfo::getCurrent
float getCurrent() const
Return Operational current.
Definition: ARICHHapdInfo.h:119
Belle2::ARICHHapdInfo::getPulseHeightDistribution
TGraph * getPulseHeightDistribution() const
Return pulse height distribution of one of the HAPD channels.
Definition: ARICHHapdInfo.h:157
Belle2::ARICHHapdInfo::c_NumberOfChips
@ c_NumberOfChips
number of HAPD Chips on the sensor
Definition: ARICHHapdInfo.h:39
Belle2::ARICHHapdInfo::setHapdChipInfo
void setHapdChipInfo(unsigned int i, ARICHHapdChipInfo *chipInfo)
Set HapdChipInfo of the chip i.
Definition: ARICHHapdInfo.cc:24
Belle2::ARICHHapdInfo::m_quantumEfficiency
TGraph * m_quantumEfficiency
Quantum Efficiency as a function of wavelength.
Definition: ARICHHapdInfo.h:173
Belle2::ARICHHapdInfo::~ARICHHapdInfo
~ARICHHapdInfo()
Destructor.
Definition: ARICHHapdInfo.h:65
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHHapdInfo::m_pulseHeight
TGraph * m_pulseHeight
Pulse height distribution.
Definition: ARICHHapdInfo.h:174
Belle2::ARICHHapdInfo::getQuantumEfficiency400
float getQuantumEfficiency400() const
Return quantum efficiency at 400 nm.
Definition: ARICHHapdInfo.h:83
Belle2::ARICHHapdInfo::getSerialNumber
std::string getSerialNumber() const
Return HAPD Serial Number.
Definition: ARICHHapdInfo.h:71
Belle2::ARICHHapdInfo::getHapdChipInfo
ARICHHapdChipInfo * getHapdChipInfo(unsigned int i) const
Return HapdChipInfo of the chip i.
Definition: ARICHHapdInfo.cc:17
Belle2::ARICHHapdInfo::m_highVoltage
float m_highVoltage
Operational high voltage.
Definition: ARICHHapdInfo.h:169
Belle2::ARICHHapdInfo::setQuantumEfficiency
void setQuantumEfficiency(TGraph *qe)
Set Quantum Efficiency as a function of wavelength.
Definition: ARICHHapdInfo.h:151
Belle2::ARICHHapdInfo::m_HAPDChipInfo
ARICHHapdChipInfo * m_HAPDChipInfo[4]
HapdChipInfo id of the i-th chip in the sensor.
Definition: ARICHHapdInfo.h:172
Belle2::ARICHHapdInfo
Contains manufacturer data of the photo sensor - HAPD.
Definition: ARICHHapdInfo.h:33
Belle2::ARICHHapdInfo::setPulseHeightDistribution
void setPulseHeightDistribution(TGraph *adc)
Set pulse height distribution of one of the HAPD channels.
Definition: ARICHHapdInfo.h:163
Belle2::ARICHHapdInfo::m_serial
std::string m_serial
serial number of the sensor
Definition: ARICHHapdInfo.h:167
Belle2::ARICHHapdInfo::getHighVoltage
float getHighVoltage() const
Return operational High Voltage.
Definition: ARICHHapdInfo.h:95