Belle II Software development
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
14namespace Belle2 {
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.
const std::string & getBaseMaterial() const
Returns base plate material name.
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.
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.