Belle II Software development
ARICHGeoCooling.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//basf2
10#include <arich/dbobjects/ARICHGeoCooling.h>
11#include <framework/logging/Logger.h>
12#include <iostream>
13#include <iomanip>
14
15using namespace std;
16using namespace Belle2;
17
18void ARICHGeoCooling::print(const std::string& title) const
19{
20
22
23 cout << "Outer radius of merger PCB assembly envelope : " << getEnvelopeOuterRadius() << endl
24 << "Inner radius of merger PCB assembly envelope : " << getEnvelopeInnerRadius() << endl
25 << "Thickness of merger PCB assembly envelope : " << getEnvelopeThickness() << endl;
26 cout << "X0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().X() << endl
27 << "Y0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().Y() << endl
28 << "Z0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().Z() << endl;
29 cout << "material name of cooling pipe : " << getCoolingPipeMaterialName() << endl
30 << "Size of cooling system pipe : inner radius in mm : " << getRmin() << endl
31 << "Size of cooling system pipe : outer radius in mm : " << getRmax() << endl;
32 cout << "Material name of cooling test plates : " << getCoolingTestPlateMaterialName() << endl
33 << "Size of cooling test plates (x) : " << getCoolingTestPlateslengths().X() << endl
34 << "Size of cooling test plates (y) : " << getCoolingTestPlateslengths().Y() << endl
35 << "Size of cooling test plates (z) : " << getCoolingTestPlateslengths().Z() << endl
36 << "Radius of cold tubes : " << getColdTubeR() << endl
37 << "Depth of the cold tube in the cooling plate : " << getDepthColdTubeInPlate() << endl
38 << "Distance from center of the cold tube to edge of cooling plate : " << getColdTubeSpacing() << endl
39 << "number of cold tubes in one plate : " << getColdTubeNumber() << endl;
40 cout << "material name of cold tube : " << getColdTubeMaterialName() << endl
41 << "outer radius of subtracted tubes for cold tube : " << getColdTubeSubtractedR() << endl
42 << "cold tube wall thickness : " << getColdTubeWallThickness() << endl;
43
44 cout << setw(20) << " #" << setw(25) << "coolingTestPlatePosR" << setw(25) << "coolingTestPlatePosPhi" << setw(
45 25) << "coolingTestPlatePosZ0" << endl;
46 for (unsigned i = 0; i < getCoolingTestPlatePosR().size(); i++) {
47 cout << setw(20) << i
48 << setw(25) << getCoolingTestPlatePosR().at(i)
49 << setw(25) << getCoolingTestPlatePosPhi().at(i)
50 << setw(25) << getCoolingTestPlatePosZ0().at(i) << endl;
51 }
52
53 cout << setw(20) << " #" << setw(20) << "coolingGeometryID" << setw(20) << "coolingL" << setw(20) << "coolingPosPhi" << setw(
54 20) << "coolingPosR" << setw(25) << "coolinRotationAngle" << endl;
55 for (unsigned i = 0; i < getCoolingGeometryID().size(); i++) {
56 cout << setw(20) << i
57 << setw(20) << getCoolingGeometryID().at(i)
58 << setw(20) << getCoolingL().at(i)
59 << setw(20) << getCoolingPosPhi().at(i)
60 << setw(20) << getCoolingPosR().at(i)
61 << setw(25) << getCoolinRotationAngle().at(i) << endl;
62 }
63
64}
65
67{
68
69 B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingGeometryID().size() != getCoolingL().size()",
70 getCoolingGeometryID().size() == getCoolingL().size());
71 B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingL().size() != getCoolingPosPhi().size()",
72 getCoolingL().size() == getCoolingPosPhi().size());
73 B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingPosPhi().size() != getCoolingPosR().size()",
74 getCoolingPosPhi().size() == getCoolingPosR().size());
75 B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingPosR().size() != getCoolinRotationAngle().size()",
76 getCoolingPosR().size() == getCoolinRotationAngle().size());
77 B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingTestPlatePosR().size() != getCoolingTestPlatePosPhi().size()",
79}
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
double getColdTubeWallThickness() const
Get cold tube wall thickness.
const std::vector< double > & getCoolinRotationAngle() const
Get vector of azimuthal angle of rotation aroud Z - axis of the cooling system object in polar coordi...
void print(const std::string &title="Cooling system geometry parameters") const
Print the content of the class.
const std::vector< double > & getCoolingPosPhi() const
Get vector of azimuthal angle of the cooling system object center in polar coordinate system in deg.
double getEnvelopeOuterRadius() const
Get outer radius of cooling system assembly envelope.
const std::vector< double > & getCoolingGeometryID() const
Get vector of cooling system object geometry ID.
double getColdTubeSpacing() const
Get distance from center of the cold tube to edge of cooling plate.
void checkCoolingSystemDataConsistency() const
Check data consistency of the cooling system positions.
const std::string & getCoolingPipeMaterialName() const
Get material name of cooling pipe.
double getColdTubeR() const
Get radius of cold tubes.
const std::vector< double > & getCoolingL() const
Get vector of lengs of the cooling system object with given geometry ID.
const std::vector< double > & getCoolingPosR() const
Get vector of radial distance (r, pho) of the cooling system object center in polar coordinate system...
const std::string & getColdTubeMaterialName() const
Get material name of cold tube.
const std::vector< double > & getCoolingTestPlatePosPhi() const
Get vector of Azimuthal angle of the cooling test plates center in polar coordinate system in deg.
const std::string & getCoolingTestPlateMaterialName() const
Get material name of cooling test plates.
const std::vector< double > & getCoolingTestPlatePosZ0() const
Get vector of Z placement of the cooling test plates center within ARICH mother volume in mm.
ROOT::Math::XYZVector getEnvelopeCenterPosition() const
Get position vector (ROOT::Math::XYZVector) of cooling system assembly envelope.
double getRmax() const
Get size of cooling system pipe : outer radius in mm.
double getEnvelopeInnerRadius() const
Get inner radius of cooling system assembly envelope.
ROOT::Math::XYZVector getCoolingTestPlateslengths() const
Get sizes vector (ROOT::Math::XYZVector) of cooling test plates.
double getRmin() const
Get size of cooling system pipe : inner radius in mm.
const std::vector< double > & getCoolingTestPlatePosR() const
Get vector of Rho of the cooling test plates center in polar coordinate system in mm.
double getDepthColdTubeInPlate() const
Get depth of the cold tube in the cooling plate.
double getEnvelopeThickness() const
Get thickness of cooling system assembly envelope.
double getColdTubeSubtractedR() const
Get outer radius of subtracted tubes for cold tube.
int getColdTubeNumber() const
Get number of cold tubes in one plate.
Abstract base class for different kinds of events.
STL namespace.