Belle II Software  release-08-01-10
TOPGeoColdPlate.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 <top/dbobjects/TOPGeoBase.h>
12 #include <string>
13 
14 namespace Belle2 {
23  class TOPGeoColdPlate: public TOPGeoBase {
24  public:
25 
30  {}
31 
41  TOPGeoColdPlate(double baseThickness,
42  const std::string& baseMaterial,
43  double coolThickness,
44  double coolWidth,
45  const std::string& coolMaterial,
46  const std::string& name = "TOPColdPlate"): TOPGeoBase(name),
47  m_baseThickness(baseThickness), m_baseMaterial(baseMaterial),
48  m_coolThickness(coolThickness), m_coolWidth(coolWidth),
49  m_coolMaterial(coolMaterial)
50  {}
51 
56  double getBaseThickness() const {return m_baseThickness / s_unit;}
57 
62  const std::string& getBaseMaterial() const {return m_baseMaterial;}
63 
68  double getCoolThickness() const {return m_coolThickness / s_unit;}
69 
74  double getCoolWidth() const {return m_coolWidth / s_unit;}
75 
80  const std::string& getCoolMaterial() const {return m_coolMaterial;}
81 
86  bool isConsistent() const override;
87 
92  virtual void print(const std::string& title = "QBB cold plate geometry parameters") const override;
93 
94 
95 
96  private:
97 
98  float m_baseThickness = 0;
99  std::string m_baseMaterial;
100  float m_coolThickness = 0;
101  float m_coolWidth = 0;
102  std::string m_coolMaterial;
106  };
107 
109 } // namespace Belle2
Base class for geometry parameters.
Definition: TOPGeoBase.h:25
Geometry parameters of cold plate (simplified)
const std::string & getCoolMaterial() const
Returns cooling plate material name.
std::string m_baseMaterial
base plate material name
double getCoolWidth() const
Returns cooling plate width.
TOPGeoColdPlate(double baseThickness, const std::string &baseMaterial, double coolThickness, double coolWidth, const std::string &coolMaterial, const std::string &name="TOPColdPlate")
Full constructor.
float m_coolThickness
cooling plate thickness
ClassDefOverride(TOPGeoColdPlate, 1)
ClassDef.
std::string m_coolMaterial
cooling plate material name
float m_coolWidth
cooling plate width
TOPGeoColdPlate()
Default constructor.
double getCoolThickness() const
Returns cooling plate thickness.
float m_baseThickness
base plate thickness
double getBaseThickness() const
Returns base plate thickness.
const std::string & getBaseMaterial() const
Returns base plate material name.
bool isConsistent() const override
Check for consistency of data members.
static double s_unit
conversion unit for length
Definition: TOPGeoBase.h:86
virtual void print(const std::string &title="QBB cold plate geometry parameters") const override
Print the content of the class.
Abstract base class for different kinds of events.