Belle II Software  release-05-01-25
ARICHGeoCablesEnvelope.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Leonid Burmistrov *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <arich/dbobjects/ARICHGeoBase.h>
14 #include <string>
15 
16 //root
17 #include <TVector3.h>
18 
19 namespace Belle2 {
28  class ARICHGeoCablesEnvelope: public ARICHGeoBase {
29 
30  public:
31 
36  {}
37 
42  void setCablesEffectiveMaterialName(const std::string& materialName) {m_cablesEffectiveMaterialName = materialName;}
43 
48  void setEnvelopeOuterRadius(double envelopeOuterRadius) {m_envelopeOuterRadius = envelopeOuterRadius;}
49 
54  void setEnvelopeInnerRadius(double envelopeInnerRadius) {m_envelopeInnerRadius = envelopeInnerRadius;}
55 
60  void setEnvelopeThickness(double envelopeThickness) {m_envelopeThickness = envelopeThickness;}
61 
68  void setEnvelopeCenterPosition(double x0, double y0, double z0) {m_envelopeX0 = x0; m_envelopeY0 = y0; m_envelopeZ0 = z0;}
69 
74  const std::string& getCablesEffectiveMaterialName() const {return m_cablesEffectiveMaterialName;}
75 
80  double getEnvelopeOuterRadius() const {return m_envelopeOuterRadius;}
81 
86  double getEnvelopeInnerRadius() const {return m_envelopeInnerRadius;}
87 
92  double getEnvelopeThickness() const {return m_envelopeThickness;}
93 
98  TVector3 getEnvelopeCenterPosition() const {return TVector3(m_envelopeX0, m_envelopeY0, m_envelopeZ0);}
99 
104  void print(const std::string& title = "Merger PCB geometry parameters") const;
105 
111 
112  private:
113 
114  std::string m_cablesEffectiveMaterialName;
115  double m_envelopeOuterRadius = 0.0;
116  double m_envelopeInnerRadius = 0.0;
117  double m_envelopeThickness = 0.0;
118  double m_envelopeX0 = 0.0;
119  double m_envelopeY0 = 0.0;
120  double m_envelopeZ0 = 0.0;
124  };
125 
127 } // end namespace Belle2
Belle2::ARICHGeoCablesEnvelope::getCablesEffectiveMaterialName
const std::string & getCablesEffectiveMaterialName() const
Returns Effective material name describing cables.
Definition: ARICHGeoCablesEnvelope.h:82
Belle2::ARICHGeoCablesEnvelope::m_cablesEffectiveMaterialName
std::string m_cablesEffectiveMaterialName
Effective material describing cables.
Definition: ARICHGeoCablesEnvelope.h:122
Belle2::ARICHGeoCablesEnvelope::setCablesEffectiveMaterialName
void setCablesEffectiveMaterialName(const std::string &materialName)
Set Effective material name describing cables.
Definition: ARICHGeoCablesEnvelope.h:50
Belle2::ARICHGeoCablesEnvelope::m_envelopeZ0
double m_envelopeZ0
Z0 ARICH cables envelop center.
Definition: ARICHGeoCablesEnvelope.h:128
Belle2::ARICHGeoCablesEnvelope::setEnvelopeInnerRadius
void setEnvelopeInnerRadius(double envelopeInnerRadius)
Set inner radius of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:62
Belle2::ARICHGeoCablesEnvelope::setEnvelopeCenterPosition
void setEnvelopeCenterPosition(double x0, double y0, double z0)
Set position of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:76
Belle2::ARICHGeoCablesEnvelope::m_envelopeOuterRadius
double m_envelopeOuterRadius
Outer radius of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:123
Belle2::ARICHGeoCablesEnvelope::getEnvelopeCenterPosition
TVector3 getEnvelopeCenterPosition() const
Returns position vector (TVector3) of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:106
Belle2::ARICHGeoCablesEnvelope::getEnvelopeOuterRadius
double getEnvelopeOuterRadius() const
Returns Outer radius of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:88
Belle2::ARICHGeoCablesEnvelope::getEnvelopeInnerRadius
double getEnvelopeInnerRadius() const
Returns Inner radius of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:94
Belle2::ARICHGeoCablesEnvelope::m_envelopeY0
double m_envelopeY0
Y0 ARICH cables envelop center.
Definition: ARICHGeoCablesEnvelope.h:127
Belle2::ARICHGeoCablesEnvelope::checkCablesEnvelopDataConsistency
void checkCablesEnvelopDataConsistency() const
Check data consistency of cables envelop In case of failure print the BASF2 ERROR message using B2ASS...
Definition: ARICHGeoCablesEnvelope.cc:37
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHGeoCablesEnvelope::ClassDef
ClassDef(ARICHGeoCablesEnvelope, 1)
ClassDef.
Belle2::ARICHGeoCablesEnvelope::m_envelopeInnerRadius
double m_envelopeInnerRadius
Inner radius of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:124
Belle2::ARICHGeoCablesEnvelope::m_envelopeX0
double m_envelopeX0
X0 ARICH cables envelop center.
Definition: ARICHGeoCablesEnvelope.h:126
Belle2::ARICHGeoCablesEnvelope::m_envelopeThickness
double m_envelopeThickness
Thickness of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:125
Belle2::ARICHGeoCablesEnvelope::print
void print(const std::string &title="Merger PCB geometry parameters") const
Print the content of the class.
Definition: ARICHGeoCablesEnvelope.cc:22
Belle2::ARICHGeoCablesEnvelope
Geometry parameters of cable envelope.
Definition: ARICHGeoCablesEnvelope.h:36
Belle2::ARICHGeoCablesEnvelope::setEnvelopeThickness
void setEnvelopeThickness(double envelopeThickness)
Set thickness of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:68
Belle2::ARICHGeoCablesEnvelope::getEnvelopeThickness
double getEnvelopeThickness() const
Returns Thickness of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:100
Belle2::ARICHGeoCablesEnvelope::setEnvelopeOuterRadius
void setEnvelopeOuterRadius(double envelopeOuterRadius)
Set outer radius of cables envelop.
Definition: ARICHGeoCablesEnvelope.h:56
Belle2::ARICHGeoCablesEnvelope::ARICHGeoCablesEnvelope
ARICHGeoCablesEnvelope()
Default constructor.
Definition: ARICHGeoCablesEnvelope.h:43