Belle II Software  release-05-01-25
TOPGeoColdPlate.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <top/dbobjects/TOPGeoBase.h>
14 #include <string>
15 
16 namespace Belle2 {
25  class TOPGeoColdPlate: public TOPGeoBase {
26  public:
27 
32  {}
33 
43  TOPGeoColdPlate(double baseThickness,
44  const std::string& baseMaterial,
45  double coolThickness,
46  double coolWidth,
47  const std::string& coolMaterial,
48  const std::string& name = "TOPColdPlate"): TOPGeoBase(name),
49  m_baseThickness(baseThickness), m_baseMaterial(baseMaterial),
50  m_coolThickness(coolThickness), m_coolWidth(coolWidth),
51  m_coolMaterial(coolMaterial)
52  {}
53 
58  double getBaseThickness() const {return m_baseThickness / s_unit;}
59 
64  const std::string& getBaseMaterial() const {return m_baseMaterial;}
65 
70  double getCoolThickness() const {return m_coolThickness / s_unit;}
71 
76  double getCoolWidth() const {return m_coolWidth / s_unit;}
77 
82  const std::string& getCoolMaterial() const {return m_coolMaterial;}
83 
88  bool isConsistent() const override;
89 
94  virtual void print(const std::string& title = "QBB cold plate geometry parameters") const override;
95 
96 
97 
98  private:
99 
100  float m_baseThickness = 0;
101  std::string m_baseMaterial;
102  float m_coolThickness = 0;
103  float m_coolWidth = 0;
104  std::string m_coolMaterial;
108  };
109 
111 } // namespace Belle2
Belle2::TOPGeoColdPlate::getCoolWidth
double getCoolWidth() const
Returns cooling plate width.
Definition: TOPGeoColdPlate.h:84
Belle2::TOPGeoColdPlate::TOPGeoColdPlate
TOPGeoColdPlate()
Default constructor.
Definition: TOPGeoColdPlate.h:39
Belle2::TOPGeoColdPlate::m_baseMaterial
std::string m_baseMaterial
base plate material name
Definition: TOPGeoColdPlate.h:109
Belle2::TOPGeoColdPlate::m_coolThickness
float m_coolThickness
cooling plate thickness
Definition: TOPGeoColdPlate.h:110
Belle2::TOPGeoBase
Base class for geometry parameters.
Definition: TOPGeoBase.h:35
Belle2::TOPGeoColdPlate::ClassDefOverride
ClassDefOverride(TOPGeoColdPlate, 1)
ClassDef.
Belle2::TOPGeoColdPlate::getCoolThickness
double getCoolThickness() const
Returns cooling plate thickness.
Definition: TOPGeoColdPlate.h:78
Belle2::TOPGeoColdPlate::print
virtual void print(const std::string &title="QBB cold plate geometry parameters") const override
Print the content of the class.
Definition: TOPGeoColdPlate.cc:33
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOPGeoBase::s_unit
static double s_unit
conversion unit for length
Definition: TOPGeoBase.h:96
Belle2::TOPGeoColdPlate::isConsistent
bool isConsistent() const override
Check for consistency of data members.
Definition: TOPGeoColdPlate.cc:22
Belle2::TOPGeoColdPlate::m_coolWidth
float m_coolWidth
cooling plate width
Definition: TOPGeoColdPlate.h:111
Belle2::TOPGeoColdPlate::m_coolMaterial
std::string m_coolMaterial
cooling plate material name
Definition: TOPGeoColdPlate.h:112
Belle2::TOPGeoColdPlate::getCoolMaterial
const std::string & getCoolMaterial() const
Returns cooling plate material name.
Definition: TOPGeoColdPlate.h:90
Belle2::TOPGeoColdPlate::m_baseThickness
float m_baseThickness
base plate thickness
Definition: TOPGeoColdPlate.h:108
Belle2::TOPGeoColdPlate::getBaseThickness
double getBaseThickness() const
Returns base plate thickness.
Definition: TOPGeoColdPlate.h:66
Belle2::TOPGeoColdPlate::getBaseMaterial
const std::string & getBaseMaterial() const
Returns base plate material name.
Definition: TOPGeoColdPlate.h:72