Belle II Software development
ARICHGeoMergerCooling.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/ARICHGeoMergerCooling.h>
11#include <arich/dbobjects/tessellatedSolidStr.h>
12#include <framework/gearbox/Unit.h>
13#include <framework/logging/Logger.h>
14#include <math.h>
15#include <iostream>
16#include <iomanip>
17
18using namespace std;
19using namespace Belle2;
20
21void ARICHGeoMergerCooling::print(const std::string& title) const
22{
23
25
26 cout << " Merger cooling bodies info" << endl;
27 cout << " Merger cooling bodies material name : " << getMergerCoolingBodiesMaterialName() << endl;
28 cout << " m_mergerCoolingBodiesInfo.size() = " << m_mergerCoolingBodiesInfo.size() << endl;
29
30 for (unsigned i = 0; i < m_mergerCoolingBodiesInfo.size(); i++) {
31 tessellatedSolidStr mergerCoolingBodiesStr = getMergerCoolingBodiesInfo(i + 1);
32 mergerCoolingBodiesStr.printInfo();
33 //mergerCoolingBodiesStr.printInfo(1);
34 }
35
36 cout << "mergerCoolingBodiesv2/mergerCoolingPositionID" << endl;
37 for (unsigned i = 0; i < getMergerCoolingPositionID().size(); i++) {
38 cout << setw(20) << i + 1
39 << setw(25) << getMergerCoolingPositionID().at(i) << endl;
40 }
41
42}
43
45{
46
47 B2ASSERT("Data of the cooling system V2 is inconsisten : getMergerCoolingPositionID().size() != 72",
48 getMergerCoolingPositionID().size() == 72);
49 for (unsigned i = 0; i < m_mergerCoolingBodiesInfo.size(); i++) {
50 tessellatedSolidStr mergerCoolingBodiesStr = getMergerCoolingBodiesInfo(i + 1);
51 }
52}
53
55{
56 B2ASSERT("iMergerSlot <=0 ", iMergerSlot > 0);
57 B2ASSERT("iMergerSlot > 72", iMergerSlot <= 72);
58 int positionID = (int)getMergerCoolingPositionID().at(iMergerSlot - 1);
59 B2ASSERT("positionID <=0 ", positionID > 0);
60 B2ASSERT("positionID > 12", positionID <= 12);
61 return getMergerCoolingBodiesInfo(positionID);
62}
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
const tessellatedSolidStr getMergerCoolingBodiesInfo_globalMergerID(unsigned int iMergerSlot) const
Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).
const std::vector< double > & getMergerCoolingPositionID() const
Returns vector of merger cooling body shape id (positionID) for each merger PCB.
void checkMergerCoolingSystemDataConsistency() const
Check data consistency of the cooling system (v2) positions In case of failure print the basf2 ERROR ...
void print(const std::string &title="Upgraded after phase two cooling system (v2) geometry parameters") const
Print the content of the class.
const tessellatedSolidStr getMergerCoolingBodiesInfo(unsigned int iSlot) const
Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).
const std::string & getMergerCoolingBodiesMaterialName() const
Returns material name of merger cooling bodies.
std::vector< tessellatedSolidStr > m_mergerCoolingBodiesInfo
Vector of structures which holds apexes of the tessellation volumes for (merger cooling bodyes).
Abstract base class for different kinds of events.
STL namespace.
Structure which holds apexes of the tessellation volumes.
void printInfo(int verboseLevel=0)
Print info about tessellation volumes.