Belle II Software  release-05-02-19
ARICHAerogelInfo.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Manca Mrvar *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <TObject.h>
14 #include <string>
15 #include <vector>
16 
17 #include <TClass.h>
18 
19 namespace Belle2 {
29  class ARICHAerogelInfo: public TObject {
30  public:
31 
36  m_lambda(), m_transmittance(), m_comment("") {};
37 
41  ARICHAerogelInfo(float version, const std::string& serial, const std::string& id, float index, float trlen, float thickness,
42  std::vector<int>& lambda, std::vector<float>& transmittance): m_version(version), m_serial(serial), m_id(id),
43  m_refractiveIndex(index), m_transmissionLength(trlen), m_thickness(thickness), m_lambda(lambda), m_transmittance(transmittance),
44  m_comment("") {};
45 
50 
55  float getAerogelVersion() const {return m_version; }
56 
60  void setAerogelVersion(float version) {m_version = version; }
61 
65  std::string getAerogelSN() const {return m_serial; };
66 
70  void setAerogelSN(const std::string& serial) {m_serial = serial; }
71 
75  std::string getAerogelID() const {return m_id; };
76 
80  void setAerogelID(const std::string& agelid) {m_id = agelid; }
81 
86  float getAerogelRefractiveIndex() const {return m_refractiveIndex; }
87 
91  void setAerogelRefractiveIndex(float index) {m_refractiveIndex = index; }
92 
96  float getAerogelTransmissionLength() const {return m_transmissionLength; }
97 
101  void setAerogelTransmissionLength(float translength) {m_transmissionLength = translength; }
102 
106  float getAerogelThickness() const {return m_thickness; }
107 
111  void setAerogelThickness(float thickness) {m_thickness = thickness; }
112 
117  float getAerogelTransmittanceElement(int lambda) const;
118 
124  void setAerogelTransmittanceElement(int lambda, float transmittance);
129  float getAerogelTransmittance(unsigned int i) const { if (i < m_transmittance.size()) return m_transmittance[i]; else return -1;}
130 
135  void setAerogelTransmittance(std::vector<float> transmittance);
136 
141  int getAerogelTransmittanceLambda(unsigned int i) const { if (i < m_lambda.size()) return m_lambda[i]; else return -1;}
142 
147  void setAerogelTransmittanceLambda(std::vector<float> lambda);
151  std::string getAerogelComment() const {return m_comment; }
152 
156  void setAerogelComment(const std::string& comment) {m_comment = comment; }
157 
158  private:
159 
160  float c_lambdaMin = 200.0;
161  float c_lambdaMax = 700.0;
162  float c_lambdaStep = 10.0;
164  float m_version;
165  std::string m_serial;
166  std::string m_id;
167  float m_refractiveIndex;
169  float m_thickness;
170  std::vector<int> m_lambda;
171  std::vector<float> m_transmittance;
172  std::string m_comment;
176  };
178 } // end namespace Belle2
Belle2::ARICHAerogelInfo::setAerogelVersion
void setAerogelVersion(float version)
Set Aerogel Version.
Definition: ARICHAerogelInfo.h:68
Belle2::ARICHAerogelInfo::m_comment
std::string m_comment
optional comment
Definition: ARICHAerogelInfo.h:180
Belle2::ARICHAerogelInfo::getAerogelVersion
float getAerogelVersion() const
Return Aerogel Version.
Definition: ARICHAerogelInfo.h:63
Belle2::ARICHAerogelInfo::m_transmissionLength
float m_transmissionLength
Transmission Length at 400 nm.
Definition: ARICHAerogelInfo.h:176
Belle2::ARICHAerogelInfo::getAerogelTransmittance
float getAerogelTransmittance(unsigned int i) const
Return Aerogel Transmittance.
Definition: ARICHAerogelInfo.h:137
Belle2::ARICHAerogelInfo::m_lambda
std::vector< int > m_lambda
Lambda for transmittance.
Definition: ARICHAerogelInfo.h:178
Belle2::ARICHAerogelInfo::setAerogelTransmissionLength
void setAerogelTransmissionLength(float translength)
Set Transmission Length at 400 nm.
Definition: ARICHAerogelInfo.h:109
Belle2::ARICHAerogelInfo::setAerogelComment
void setAerogelComment(const std::string &comment)
Set comment.
Definition: ARICHAerogelInfo.h:164
Belle2::ARICHAerogelInfo::getAerogelTransmittanceElement
float getAerogelTransmittanceElement(int lambda) const
Return Aerogel Transmittance at lambda.
Definition: ARICHAerogelInfo.cc:17
Belle2::ARICHAerogelInfo::m_id
std::string m_id
Aerogel Identifier.
Definition: ARICHAerogelInfo.h:174
Belle2::ARICHAerogelInfo::getAerogelThickness
float getAerogelThickness() const
Return Aerogel Thickness.
Definition: ARICHAerogelInfo.h:114
Belle2::ARICHAerogelInfo::getAerogelRefractiveIndex
float getAerogelRefractiveIndex() const
Return Refractive Index of Aerogel.
Definition: ARICHAerogelInfo.h:94
Belle2::ARICHAerogelInfo::setAerogelTransmittance
void setAerogelTransmittance(std::vector< float > transmittance)
Set Aerogel Transmittance.
Definition: ARICHAerogelInfo.cc:38
Belle2::ARICHAerogelInfo::c_lambdaMax
float c_lambdaMax
Max value of lambda.
Definition: ARICHAerogelInfo.h:169
Belle2::ARICHAerogelInfo::ClassDef
ClassDef(ARICHAerogelInfo, 4)
ClassDef.
Belle2::ARICHAerogelInfo::m_version
float m_version
Aerogel data version (measurement number)
Definition: ARICHAerogelInfo.h:172
Belle2::ARICHAerogelInfo::setAerogelTransmittanceLambda
void setAerogelTransmittanceLambda(std::vector< float > lambda)
Set Lambda for Aerogel Transmittance.
Definition: ARICHAerogelInfo.cc:44
Belle2::ARICHAerogelInfo::setAerogelRefractiveIndex
void setAerogelRefractiveIndex(float index)
Set Aerogel Refractive Index.
Definition: ARICHAerogelInfo.h:99
Belle2::ARICHAerogelInfo::m_serial
std::string m_serial
Aerogel Serial number.
Definition: ARICHAerogelInfo.h:173
Belle2::ARICHAerogelInfo::setAerogelTransmittanceElement
void setAerogelTransmittanceElement(int lambda, float transmittance)
Set Aerogel Transmittance at lambda.
Definition: ARICHAerogelInfo.cc:28
Belle2::ARICHAerogelInfo::getAerogelComment
std::string getAerogelComment() const
Return comment.
Definition: ARICHAerogelInfo.h:159
Belle2::ARICHAerogelInfo::setAerogelThickness
void setAerogelThickness(float thickness)
Set Aerogel Thickness.
Definition: ARICHAerogelInfo.h:119
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHAerogelInfo::~ARICHAerogelInfo
~ARICHAerogelInfo()
Destructor.
Definition: ARICHAerogelInfo.h:57
Belle2::ARICHAerogelInfo::getAerogelID
std::string getAerogelID() const
Return Aerogel Identifier.
Definition: ARICHAerogelInfo.h:83
Belle2::ARICHAerogelInfo::setAerogelID
void setAerogelID(const std::string &agelid)
Set Aerogel Identifier.
Definition: ARICHAerogelInfo.h:88
Belle2::ARICHAerogelInfo::c_lambdaMin
float c_lambdaMin
Min value of lambda.
Definition: ARICHAerogelInfo.h:168
Belle2::ARICHAerogelInfo::setAerogelSN
void setAerogelSN(const std::string &serial)
Set Aerogel Serial number.
Definition: ARICHAerogelInfo.h:78
Belle2::ARICHAerogelInfo::m_thickness
float m_thickness
Thickness of the aerogel.
Definition: ARICHAerogelInfo.h:177
Belle2::ARICHAerogelInfo::getAerogelSN
std::string getAerogelSN() const
Return Aerogel Serial number.
Definition: ARICHAerogelInfo.h:73
Belle2::ARICHAerogelInfo::m_refractiveIndex
float m_refractiveIndex
Refractive Index of the aerogel.
Definition: ARICHAerogelInfo.h:175
Belle2::ARICHAerogelInfo::getAerogelTransmissionLength
float getAerogelTransmissionLength() const
Return Transmission Length at 400 nm.
Definition: ARICHAerogelInfo.h:104
Belle2::ARICHAerogelInfo::c_lambdaStep
float c_lambdaStep
Lambda - steps.
Definition: ARICHAerogelInfo.h:170
Belle2::ARICHAerogelInfo::getAerogelTransmittanceLambda
int getAerogelTransmittanceLambda(unsigned int i) const
Return Lambda for Aerogel Transmittance.
Definition: ARICHAerogelInfo.h:149
Belle2::ARICHAerogelInfo
The Class for ARICH Aerogel Parameters.
Definition: ARICHAerogelInfo.h:37
Belle2::ARICHAerogelInfo::m_transmittance
std::vector< float > m_transmittance
Transmittance of aerogel.
Definition: ARICHAerogelInfo.h:179
Belle2::ARICHAerogelInfo::ARICHAerogelInfo
ARICHAerogelInfo()
Default constructor.
Definition: ARICHAerogelInfo.h:43