Belle II Software  release-08-01-10
ARICHGeoCablesEnvelope.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 
11 #include <arich/dbobjects/ARICHGeoBase.h>
12 #include <string>
13 
14 //root
15 #include <TVector3.h>
16 
17 namespace Belle2 {
27 
28  public:
29 
34  {}
35 
40  void setCablesEffectiveMaterialName(const std::string& materialName) {m_cablesEffectiveMaterialName = materialName;}
41 
46  void setEnvelopeOuterRadius(double envelopeOuterRadius) {m_envelopeOuterRadius = envelopeOuterRadius;}
47 
52  void setEnvelopeInnerRadius(double envelopeInnerRadius) {m_envelopeInnerRadius = envelopeInnerRadius;}
53 
58  void setEnvelopeThickness(double envelopeThickness) {m_envelopeThickness = envelopeThickness;}
59 
66  void setEnvelopeCenterPosition(double x0, double y0, double z0) {m_envelopeX0 = x0; m_envelopeY0 = y0; m_envelopeZ0 = z0;}
67 
73 
79 
85 
90  double getEnvelopeThickness() const {return m_envelopeThickness;}
91 
96  TVector3 getEnvelopeCenterPosition() const {return TVector3(m_envelopeX0, m_envelopeY0, m_envelopeZ0);}
97 
102  void print(const std::string& title = "Merger PCB geometry parameters") const;
103 
109 
110  private:
111 
113  double m_envelopeOuterRadius = 0.0;
114  double m_envelopeInnerRadius = 0.0;
115  double m_envelopeThickness = 0.0;
116  double m_envelopeX0 = 0.0;
117  double m_envelopeY0 = 0.0;
118  double m_envelopeZ0 = 0.0;
122  };
123 
125 } // end namespace Belle2
Base class for geometry parameters.
Definition: ARICHGeoBase.h:24
Geometry parameters of cable envelope.
void setEnvelopeCenterPosition(double x0, double y0, double z0)
Set position of cables envelop.
double m_envelopeOuterRadius
Outer radius of cables envelop.
double getEnvelopeOuterRadius() const
Returns Outer radius of cables envelop.
double m_envelopeZ0
Z0 ARICH cables envelop center.
std::string m_cablesEffectiveMaterialName
Effective material describing cables.
ClassDef(ARICHGeoCablesEnvelope, 1)
ClassDef.
double m_envelopeX0
X0 ARICH cables envelop center.
ARICHGeoCablesEnvelope()
Default constructor.
const std::string & getCablesEffectiveMaterialName() const
Returns Effective material name describing cables.
TVector3 getEnvelopeCenterPosition() const
Returns position vector (TVector3) of cables envelop.
void setEnvelopeOuterRadius(double envelopeOuterRadius)
Set outer radius of cables envelop.
double m_envelopeThickness
Thickness of cables envelop.
void print(const std::string &title="Merger PCB geometry parameters") const
Print the content of the class.
void checkCablesEnvelopDataConsistency() const
Check data consistency of cables envelop In case of failure print the basf2 ERROR message using B2ASS...
void setCablesEffectiveMaterialName(const std::string &materialName)
Set Effective material name describing cables.
double m_envelopeY0
Y0 ARICH cables envelop center.
double getEnvelopeInnerRadius() const
Returns Inner radius of cables envelop.
void setEnvelopeThickness(double envelopeThickness)
Set thickness of cables envelop.
double getEnvelopeThickness() const
Returns Thickness of cables envelop.
void setEnvelopeInnerRadius(double envelopeInnerRadius)
Set inner radius of cables envelop.
double m_envelopeInnerRadius
Inner radius of cables envelop.
Abstract base class for different kinds of events.