Belle II Software development
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 <Math/Vector3D.h>
16
17namespace 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
91
96 ROOT::Math::XYZVector getEnvelopeCenterPosition() const {return ROOT::Math::XYZVector(m_envelopeX0, m_envelopeY0, m_envelopeZ0);}
97
102 void print(const std::string& title = "Merger PCB geometry parameters") const;
103
109
110 private:
111
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.
const std::string & getCablesEffectiveMaterialName() const
Returns Effective material name describing cables.
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.
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.
ROOT::Math::XYZVector getEnvelopeCenterPosition() const
Returns position vector (ROOT::Math::XYZVector) of cables envelop.
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.