Belle II Software  release-05-01-25
ARICHSimulationPar.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Luka Santelj *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <TObject.h>
14 #include <vector>
15 
16 namespace Belle2 {
21 
26  class ARICHSimulationPar : public TObject {
27 
28  public:
29 
31  ARICHSimulationPar() {};
32 
38  double getQE(double e) const;
39 
44  double getColEff() const {return (double)m_colEff;}
45 
49  double getQEScaling() const {return (double)m_qeScale;}
50 
54  double getWindowAbsorbtion() const {return (double)m_windowAbsorbtion;}
55 
59  double getChipNegativeCrosstalk() const {return (double)m_chipNegativeCrosstalk;}
60 
64  double getNBkgHits() const {return (double)m_nBkgHits;}
65 
72  void setQECurve(float lambdaFirst, float lambdaStep, const std::vector<float>& qe);
73 
78  void setNBkgHits(float nbkg) { m_nBkgHits = nbkg;}
79 
84  void setQEScaling(double qescale) { m_qeScale = (float)qescale;}
85 
90  void setWindowAbsorbtion(double abs) { m_windowAbsorbtion = (float)abs;}
91 
96  void setChipNegativeCrosstalk(double cross) { m_chipNegativeCrosstalk = (float)cross;}
97 
102  void setCollectionEff(double colEff) {m_colEff = (float)colEff;}
103 
108  void setPeakQE(double peak) {m_peakQE = (float)peak;}
109 
113  void print() const;
114 
115  private:
116 
117  float m_qeScale = 0;
118  float m_windowAbsorbtion = 0;
119  float m_chipNegativeCrosstalk = 0;
120  float m_peakQE = 0;
122  std::vector<float> m_qe;
123  float m_colEff = 0;
124  float m_lambdaFirst = 0;
125  float m_lambdaStep = 0;
126  float m_nBkgHits = 0;
130  };
131 
133 } // namespace
Belle2::ARICHSimulationPar::m_chipNegativeCrosstalk
float m_chipNegativeCrosstalk
to simulate opposite polarity crosstalk among channels on chip
Definition: ARICHSimulationPar.h:127
Belle2::ARICHSimulationPar::m_lambdaFirst
float m_lambdaFirst
wavelength [nm]: first QE data point
Definition: ARICHSimulationPar.h:132
Belle2::ARICHSimulationPar::getColEff
double getColEff() const
Get HAPD collection efficiency.
Definition: ARICHSimulationPar.h:52
Belle2::ARICHSimulationPar::getChipNegativeCrosstalk
double getChipNegativeCrosstalk() const
Get factor to suppress p.e.
Definition: ARICHSimulationPar.h:67
Belle2::ARICHSimulationPar::m_colEff
float m_colEff
collection efficiency
Definition: ARICHSimulationPar.h:131
Belle2::ARICHSimulationPar::ClassDef
ClassDef(ARICHSimulationPar, 2)
ClassDef, must be the last term before the closing {}.
Belle2::ARICHSimulationPar::setPeakQE
void setPeakQE(double peak)
Set peak QE value (for HAPD with maximal QE, at later stage HAPD dependent scaling is done)
Definition: ARICHSimulationPar.h:116
Belle2::ARICHSimulationPar::setNBkgHits
void setNBkgHits(float nbkg)
Set number of flat background hits/hapd/event to be added in digitizer.
Definition: ARICHSimulationPar.h:86
Belle2::ARICHSimulationPar::m_peakQE
float m_peakQE
maximal peak QE of all HAPDs
Definition: ARICHSimulationPar.h:128
Belle2::ARICHSimulationPar::m_qeScale
float m_qeScale
QE scale factor for photons internally reflected in HAPD window.
Definition: ARICHSimulationPar.h:125
Belle2::ARICHSimulationPar
The Class for ARICH simulation parameters.
Definition: ARICHSimulationPar.h:34
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHSimulationPar::getQEScaling
double getQEScaling() const
Get QE scaling factor for photons internally reflected in HAPD window.
Definition: ARICHSimulationPar.h:57
Belle2::ARICHSimulationPar::setQEScaling
void setQEScaling(double qescale)
Set QE scaling factor for photons internally reflected in HAPD window.
Definition: ARICHSimulationPar.h:92
Belle2::ARICHSimulationPar::setChipNegativeCrosstalk
void setChipNegativeCrosstalk(double cross)
Set factor to suppress p.e.
Definition: ARICHSimulationPar.h:104
Belle2::ARICHSimulationPar::setWindowAbsorbtion
void setWindowAbsorbtion(double abs)
Set absorbtion probability for photons internally reflected in HAPD window.
Definition: ARICHSimulationPar.h:98
Belle2::ARICHSimulationPar::print
void print() const
print class content
Definition: ARICHSimulationPar.cc:41
Belle2::ARICHSimulationPar::setQECurve
void setQECurve(float lambdaFirst, float lambdaStep, const std::vector< float > &qe)
Set QE curve.
Definition: ARICHSimulationPar.cc:34
Belle2::ARICHSimulationPar::setCollectionEff
void setCollectionEff(double colEff)
Set HAPD collection efficiency.
Definition: ARICHSimulationPar.h:110
Belle2::ARICHSimulationPar::m_nBkgHits
float m_nBkgHits
number if flat background hits/hapd/event to be added in digitizer
Definition: ARICHSimulationPar.h:134
Belle2::ARICHSimulationPar::getQE
double getQE(double e) const
Get QE at given energy.
Definition: ARICHSimulationPar.cc:19
Belle2::ARICHSimulationPar::ARICHSimulationPar
ARICHSimulationPar()
Default constructor.
Definition: ARICHSimulationPar.h:39
Belle2::ARICHSimulationPar::m_lambdaStep
float m_lambdaStep
wavelength [nm]: step
Definition: ARICHSimulationPar.h:133
Belle2::ARICHSimulationPar::m_qe
std::vector< float > m_qe
quantum efficiency curve
Definition: ARICHSimulationPar.h:130
Belle2::ARICHSimulationPar::getNBkgHits
double getNBkgHits() const
Get number of flat background hits/hapd/event to be added in digitizer.
Definition: ARICHSimulationPar.h:72
Belle2::ARICHSimulationPar::m_windowAbsorbtion
float m_windowAbsorbtion
absorbtion probability for photons internally reflected in HAPD window
Definition: ARICHSimulationPar.h:126
Belle2::ARICHSimulationPar::getWindowAbsorbtion
double getWindowAbsorbtion() const
Get absorbtion probability for photons internally reflected in HAPD window.
Definition: ARICHSimulationPar.h:62