Belle II Software development
ARICHGeoSupport.cc
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#include <arich/dbobjects/ARICHGeoSupport.h>
10#include <iostream>
11#include <iomanip>
12
13using namespace std;
14using namespace Belle2;
15
16
18{
19 return true;
20}
21
22
23void ARICHGeoSupport::print(const std::string& title) const
24{
26
27 cout << " Default material: " << getMaterial() << endl;
28 cout << " Placed tubes" << endl;
29
30 unsigned nTube = getNTubes();
31 for (unsigned i = 0; i < nTube; i++) {
32 cout << " " << getTubeName(i) << ", inner R: " << getTubeInnerR(i) << " " << s_unitName << ", outer R: " << getTubeOuterR(
33 i) << " " << s_unitName << ", length: " << getTubeLength(i) << " " << s_unitName << ", Z position: " << getTubeZPosition(
34 i) << " " << s_unitName << ", material: " << getTubeMaterial(i) << endl; ;
35 }
36
37 cout << " Parameters of wedges" << endl;
38
39 for (unsigned i = 1; i < m_nWedgeType + 1; i++) {
40 cout << " type: " << i << " par. vector: ";
41 for (auto par : getWedge(i)) cout << par << " " << s_unitName << " ";
42 cout << endl;
43 }
44
45 cout << " Placed wedges" << endl;
46 unsigned nWedge = getNWedges();
47 for (unsigned i = 0; i < nWedge; i++) {
48 cout << " ID: " << setprecision(4) << setw(2) << i << ", type: " << getWedgeType(i) << ", radius: " << getWedgeR(
49 i) << " " << s_unitName << ", phi: " << setw(6) << getWedgePhi(i) << ", Z position: " << getWedgeZ(
50 i) << " " << s_unitName << ", material: " << getWedgeMaterial(i) << endl;
51 }
52}
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
static std::string s_unitName
conversion unit name
Definition: ARICHGeoBase.h:84
double getWedgeR(unsigned i) const
Get radius at which i-th wedge is placed.
bool isConsistent() const override
Consistency check of geometry parameters.
double getWedgePhi(unsigned i) const
Get phi angle at which i-th wedge is placed.
const std::vector< double > getWedge(unsigned i) const
Get parameters of wedge.
double getTubeInnerR(unsigned i) const
Get tube inner radius.
double getTubeLength(unsigned i) const
Get tube length.
double getTubeOuterR(unsigned i) const
Get tube outer radius.
double getWedgeZ(unsigned i) const
Get Z position of i-th wedge.
unsigned getNTubes() const
Get number of tube volumes to be placed.
const std::string & getTubeMaterial(unsigned i) const
Get material of i-th tube.
int getWedgeType(unsigned i) const
Get type of i-th wedge.
const std::string & getMaterial() const
Get default material of support structures.
unsigned getNWedges() const
Get number of wedges to be placed.
double getTubeZPosition(unsigned i) const
Get tube Z position.
const std::string & getWedgeMaterial(unsigned i) const
Get material of i-th wedge.
static const unsigned m_nWedgeType
number of wedge types
const std::string & getTubeName(unsigned i) const
Get name of i-th tube.
void print(const std::string &title="Parameters of ARICH support structure and neutron shield") const override
Print the content of the class.
Abstract base class for different kinds of events.
STL namespace.