Belle II Software  release-05-01-25
ARICHGeoMergerCooling.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - 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 #pragma once
12 
13 #include <arich/dbobjects/ARICHGeoBase.h>
14 #include <arich/dbobjects/tessellatedSolidStr.h>
15 #include <string>
16 
17 //root
18 #include <TVector3.h>
19 
20 namespace Belle2 {
33  class ARICHGeoMergerCooling: public ARICHGeoBase {
34 
35  public:
36 
41  {}
42 
47  void setMergerCoolingBodiesMaterialName(const std::string& materialName) {m_mergerCoolingBodiesMaterialName = materialName;}
48 
53  void addMergerCoolingBodiesInfo(tessellatedSolidStr mergerCoolingBodiesStr) {m_mergerCoolingBodiesInfo.push_back(mergerCoolingBodiesStr);}
54 
59  void setMergerCoolingPositionID(const std::vector<double>& mergerCoolingPositionID) { m_mergerCoolingPositionID = mergerCoolingPositionID; }
60 
65  const std::string& getMergerCoolingBodiesMaterialName() const { return m_mergerCoolingBodiesMaterialName; }
66 
71  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];}
72 
77  const tessellatedSolidStr getMergerCoolingBodiesInfo_globalMergerID(unsigned int iMergerSlot) const;
78 
83  const std::vector<double>& getMergerCoolingPositionID() const { return m_mergerCoolingPositionID; }
84 
89  void print(const std::string& title = "Upgraded after phase two cooling system (v2) geometry parameters") const;
90 
96 
97  private:
98 
99  //Merger cooling bodies.
101  std::vector<double> m_mergerCoolingPositionID;
103  std::vector<tessellatedSolidStr> m_mergerCoolingBodiesInfo;
104 
107  };
108 
110 } // end namespace Belle2
Belle2::tessellatedSolidStr
Structure which holds apexes of the tessellation volumes.
Definition: tessellatedSolidStr.h:36
Belle2::ARICHGeoMergerCooling::getMergerCoolingPositionID
const std::vector< double > & getMergerCoolingPositionID() const
Returns vector of merger cooling body shape id (positionID) for each merger PCB.
Definition: ARICHGeoMergerCooling.h:91
Belle2::ARICHGeoMergerCooling::ClassDef
ClassDef(ARICHGeoMergerCooling, 1)
ClassDef.
Belle2::ARICHGeoMergerCooling::print
void print(const std::string &title="Upgraded after phase two cooling system (v2) geometry parameters") const
Print the content of the class.
Definition: ARICHGeoMergerCooling.cc:26
Belle2::ARICHGeoMergerCooling::getMergerCoolingBodiesInfo_globalMergerID
const tessellatedSolidStr getMergerCoolingBodiesInfo_globalMergerID(unsigned int iMergerSlot) const
Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).
Definition: ARICHGeoMergerCooling.cc:59
Belle2::ARICHGeoMergerCooling::m_mergerCoolingBodiesMaterialName
std::string m_mergerCoolingBodiesMaterialName
Name of the merger cooling bodies material.
Definition: ARICHGeoMergerCooling.h:108
Belle2::ARICHGeoMergerCooling::addMergerCoolingBodiesInfo
void addMergerCoolingBodiesInfo(tessellatedSolidStr mergerCoolingBodiesStr)
Set vector of structures which holds apexes of the tessellation volumes for (merger cooling bodyes).
Definition: ARICHGeoMergerCooling.h:61
Belle2::ARICHGeoMergerCooling::m_mergerCoolingPositionID
std::vector< double > m_mergerCoolingPositionID
Merger cooling body shape id (positionID) for each merger PCB.
Definition: ARICHGeoMergerCooling.h:109
Belle2::ARICHGeoMergerCooling::getMergerCoolingBodiesInfo
const tessellatedSolidStr getMergerCoolingBodiesInfo(unsigned int iSlot) const
Returns structur which holds apexes of the tessellation volumes for (merger cooling bodyes).
Definition: ARICHGeoMergerCooling.h:79
Belle2::ARICHGeoMergerCooling::checkMergerCoolingSystemDataConsistency
void checkMergerCoolingSystemDataConsistency() const
Check data consistency of the cooling system (v2) positions In case of failure print the BASF2 ERROR ...
Definition: ARICHGeoMergerCooling.cc:49
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHGeoMergerCooling::setMergerCoolingBodiesMaterialName
void setMergerCoolingBodiesMaterialName(const std::string &materialName)
Set material name of merger cooling bodies.
Definition: ARICHGeoMergerCooling.h:55
Belle2::ARICHGeoMergerCooling::getMergerCoolingBodiesMaterialName
const std::string & getMergerCoolingBodiesMaterialName() const
Returns material name of merger cooling bodies.
Definition: ARICHGeoMergerCooling.h:73
Belle2::ARICHGeoMergerCooling::setMergerCoolingPositionID
void setMergerCoolingPositionID(const std::vector< double > &mergerCoolingPositionID)
Set vector of merger cooling body shape id (positionID) for each merger PCB.
Definition: ARICHGeoMergerCooling.h:67
Belle2::ARICHGeoMergerCooling::ARICHGeoMergerCooling
ARICHGeoMergerCooling()
Default constructor.
Definition: ARICHGeoMergerCooling.h:48