Belle II Software  release-05-01-25
ARICHGeoCooling.cc
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 //basf2
12 #include <arich/dbobjects/ARICHGeoCooling.h>
13 #include <framework/logging/Logger.h>
14 #include <iostream>
15 #include <iomanip>
16 
17 //root
18 #include <TVector3.h>
19 
20 using namespace std;
21 using namespace Belle2;
22 
23 void ARICHGeoCooling::print(const std::string& title) const
24 {
25 
26  ARICHGeoBase::print(title);
27 
28  cout << "Outer radius of merger PCB assembly envelope : " << getEnvelopeOuterRadius() << endl
29  << "Inner radius of merger PCB assembly envelope : " << getEnvelopeInnerRadius() << endl
30  << "Thickness of merger PCB assembly envelope : " << getEnvelopeThickness() << endl;
31  cout << "X0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().X() << endl
32  << "Y0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().Y() << endl
33  << "Z0 merger PCB assembly envelope : " << getEnvelopeCenterPosition().Z() << endl;
34  cout << "material name of cooling pipe : " << getCoolingPipeMaterialName() << endl
35  << "Size of cooling system pipe : inner radius in mm : " << getRmin() << endl
36  << "Size of cooling system pipe : outer radius in mm : " << getRmax() << endl;
37  cout << "Material name of cooling test plates : " << getCoolingTestPlateMaterialName() << endl
38  << "Size of cooling test plates (x) : " << getCoolingTestPlateslengths().X() << endl
39  << "Size of cooling test plates (y) : " << getCoolingTestPlateslengths().Y() << endl
40  << "Size of cooling test plates (z) : " << getCoolingTestPlateslengths().Z() << endl
41  << "Radius of cold tubes : " << getColdTubeR() << endl
42  << "Depth of the cold tube in the cooling plate : " << getDepthColdTubeInPlate() << endl
43  << "Distance from center of the cold tube to edge of cooling plate : " << getColdTubeSpacing() << endl
44  << "number of cold tubes in one plate : " << getColdTubeNumber() << endl;
45  cout << "material name of cold tube : " << getColdTubeMaterialName() << endl
46  << "outer radius of subtracted tubes for cold tube : " << getColdTubeSubtractedR() << endl
47  << "cold tube wall thickness : " << getColdTubeWallThickness() << endl;
48 
49  cout << setw(20) << " #" << setw(25) << "coolingTestPlatePosR" << setw(25) << "coolingTestPlatePosPhi" << setw(
50  25) << "coolingTestPlatePosZ0" << endl;
51  for (unsigned i = 0; i < getCoolingTestPlatePosR().size(); i++) {
52  cout << setw(20) << i
53  << setw(25) << getCoolingTestPlatePosR().at(i)
54  << setw(25) << getCoolingTestPlatePosPhi().at(i)
55  << setw(25) << getCoolingTestPlatePosZ0().at(i) << endl;
56  }
57 
58  cout << setw(20) << " #" << setw(20) << "coolingGeometryID" << setw(20) << "coolingL" << setw(20) << "coolingPosPhi" << setw(
59  20) << "coolingPosR" << setw(25) << "coolinRotationAngle" << endl;
60  for (unsigned i = 0; i < getCoolingGeometryID().size(); i++) {
61  cout << setw(20) << i
62  << setw(20) << getCoolingGeometryID().at(i)
63  << setw(20) << getCoolingL().at(i)
64  << setw(20) << getCoolingPosPhi().at(i)
65  << setw(20) << getCoolingPosR().at(i)
66  << setw(25) << getCoolinRotationAngle().at(i) << endl;
67  }
68 
69 }
70 
71 void ARICHGeoCooling::checkCoolingSystemDataConsistency() const
72 {
73 
74  B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingGeometryID().size() != getCoolingL().size()",
75  getCoolingGeometryID().size() == getCoolingL().size());
76  B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingL().size() != getCoolingPosPhi().size()",
77  getCoolingL().size() == getCoolingPosPhi().size());
78  B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingPosPhi().size() != getCoolingPosR().size()",
79  getCoolingPosPhi().size() == getCoolingPosR().size());
80  B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingPosR().size() != getCoolinRotationAngle().size()",
81  getCoolingPosR().size() == getCoolinRotationAngle().size());
82  B2ASSERT("Data of the cooling system positions is inconsisten : getCoolingTestPlatePosR().size() != getCoolingTestPlatePosPhi().size()",
83  getCoolingTestPlatePosR().size() == getCoolingTestPlatePosPhi().size());
84 }
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19