12 #include <arich/dbobjects/ARICHGeoMerger.h>
13 #include <framework/logging/Logger.h>
23 void ARICHGeoMerger::print(
const std::string& title)
const
26 ARICHGeoBase::print(title);
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 <<
"merger PCB material name : " << getMergerPCBMaterialName() << endl
35 <<
"merger PCB lenght : " << getSizeL() << endl
36 <<
"merger PCB width : " << getSizeW() << endl
37 <<
"merger PCB thickness : " << getThickness() << endl;
38 cout <<
"merger PCB screw whole radius : " << getMergerPCBscrewholeR() << endl
39 <<
"merger PCB screw whole position from the left and right sides : " << getMergerPCBscrewholePosdY() << endl
40 <<
"merger PCB screw whole position from the bottom edge : " << getMergerPCBscrewholePosdX1() << endl
41 <<
"merger PCB screw whole position from the top edge : " << getMergerPCBscrewholePosdX2() << endl;
42 cout <<
"single merger PCB and merger cooling envelope length : " << getSingleMergerEnvelopeSizeL() << endl
43 <<
"single merger PCB and merger cooling envelope width : " << getSingleMergerEnvelopeSizeW() << endl
44 <<
"single merger PCB and merger cooling envelope thickness : " << getSingleMergerEnvelopeThickness() << endl;
45 cout <<
"X0 of merger PCB inside the single merger envelope : " << getSingleMergeEnvelopePosition().X() << endl
46 <<
"Y0 of merger PCB inside the single merger envelope : " << getSingleMergeEnvelopePosition().Y() << endl
47 <<
"Z0 of merger PCB inside the single merger envelope : " << getSingleMergeEnvelopePosition().Z() << endl;
51 cout << setw(20) <<
"#"
52 << setw(20) <<
"mergerSlotID"
53 << setw(20) <<
"mergerPosR"
54 << setw(20) <<
"mergerAngle"
55 << setw(20) <<
"mergerOrientation"
56 << setw(20) <<
"mergerDeltaZ" << endl;
57 for (
unsigned i = 0; i < getMergerSlotID().size(); i++) {
59 << setw(20) << getMergerSlotID().at(i)
60 << setw(20) << getMergerPosR().at(i)
61 << setw(20) << getMergerAngle().at(i)
62 << setw(20) << getMergerOrientation().at(i)
63 << setw(20) << getSingleMergerenvelopeDeltaZ().at(i)
68 void ARICHGeoMerger::checkMergerPositionsDataConsistency()
const
82 B2ASSERT(
"Data of the merger board positions is inconsisten : getEnvelopeThickness() <= getThickness() ",
83 getEnvelopeThickness() > getThickness());
84 B2ASSERT(
"Data of the merger board positions is inconsisten : m_mergerSlotID.size() != m_mergerPosR.size()",
85 m_mergerSlotID.size() == m_mergerPosR.size());
86 B2ASSERT(
"Data of the merger board positions is inconsisten : m_mergerSlotID.size() != m_mergerAngle.size()",
87 m_mergerSlotID.size() == m_mergerAngle.size());
88 B2ASSERT(
"Data of the merger board positions is inconsisten : m_mergerSlotID.size() != m_singlemergerenvelopeDeltaZ.size()",
89 m_mergerSlotID.size() == m_singlemergerenvelopeDeltaZ.size());