Belle II Software development
ARICHGeoMergerCooling.h
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#pragma once
10
11#include <arich/dbobjects/ARICHGeoBase.h>
12#include <arich/dbobjects/tessellatedSolidStr.h>
13#include <string>
14
15namespace Belle2 {
29
30 public:
31
36 {}
37
42 void setMergerCoolingBodiesMaterialName(const std::string& materialName) {m_mergerCoolingBodiesMaterialName = materialName;}
43
48 void addMergerCoolingBodiesInfo(tessellatedSolidStr mergerCoolingBodiesStr) {m_mergerCoolingBodiesInfo.push_back(mergerCoolingBodiesStr);}
49
54 void setMergerCoolingPositionID(const std::vector<double>& mergerCoolingPositionID) { m_mergerCoolingPositionID = mergerCoolingPositionID; }
55
61
66 const tessellatedSolidStr getMergerCoolingBodiesInfo(unsigned int iSlot) const { if (iSlot > 12 || iSlot == 0) B2ERROR("ARICHGeoCoolingv2: invalid merger cooling bodies iSlot number! "); return m_mergerCoolingBodiesInfo[iSlot - 1];}
67
72 const tessellatedSolidStr getMergerCoolingBodiesInfo_globalMergerID(unsigned int iMergerSlot) const;
73
78 const std::vector<double>& getMergerCoolingPositionID() const { return m_mergerCoolingPositionID; }
79
84 void print(const std::string& title = "Upgraded after phase two cooling system (v2) geometry parameters") const;
85
91
92 private:
93
94 //Merger cooling bodies.
96 std::vector<double> m_mergerCoolingPositionID;
98 std::vector<tessellatedSolidStr> m_mergerCoolingBodiesInfo;
99
102 };
103
105} // end namespace Belle2
Base class for geometry parameters.
Definition: ARICHGeoBase.h:24
Geometry parameters of Merger Cooling System - version2 (v2).
const tessellatedSolidStr getMergerCoolingBodiesInfo_globalMergerID(unsigned int iMergerSlot) const
Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).
ARICHGeoMergerCooling()
Default constructor.
void addMergerCoolingBodiesInfo(tessellatedSolidStr mergerCoolingBodiesStr)
Set vector of structures 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.
ClassDef(ARICHGeoMergerCooling, 1)
ClassDef.
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.
void setMergerCoolingBodiesMaterialName(const std::string &materialName)
Set material name of merger cooling bodies.
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).
void setMergerCoolingPositionID(const std::vector< double > &mergerCoolingPositionID)
Set vector of merger cooling body shape id (positionID) for each merger PCB.
std::string m_mergerCoolingBodiesMaterialName
Name of the merger cooling bodies material.
std::vector< double > m_mergerCoolingPositionID
Merger cooling body shape id (positionID) for each merger PCB.
Abstract base class for different kinds of events.
Structure which holds apexes of the tessellation volumes.