Belle II Software  release-05-01-25
TOPGeoSideRails.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 {
26  class TOPGeoSideRails: public TOPGeoBase {
27  public:
28 
33  {}
34 
43  TOPGeoSideRails(double thickness, double reducedThickness, double height,
44  const std::string& material,
45  const std::string& name = "TOPSideRail"): TOPGeoBase(name),
46  m_thickness(thickness), m_reducedThickness(reducedThickness),
47  m_height(height), m_material(material)
48  {}
49 
54  double getThickness() const {return m_thickness / s_unit;}
55 
60  double getReducedThickness() const {return m_reducedThickness / s_unit;}
61 
66  double getHeight() const {return m_height / s_unit;}
67 
72  const std::string& getMaterial() const {return m_material;}
73 
78  bool isConsistent() const override;
79 
84  virtual void print(const std::string& title = "QBB side rails geometry parameters") const override;
85 
86  private:
87 
88  float m_thickness = 0;
89  float m_reducedThickness = 0;
90  float m_height = 0;
91  std::string m_material;
95  };
96 
98 } // namespace Belle2
Belle2::TOPGeoSideRails::getMaterial
const std::string & getMaterial() const
Returns material name.
Definition: TOPGeoSideRails.h:80
Belle2::TOPGeoSideRails::TOPGeoSideRails
TOPGeoSideRails()
Default constructor.
Definition: TOPGeoSideRails.h:40
Belle2::TOPGeoSideRails::m_reducedThickness
float m_reducedThickness
thickness at prism enclosure
Definition: TOPGeoSideRails.h:97
Belle2::TOPGeoBase
Base class for geometry parameters.
Definition: TOPGeoBase.h:35
Belle2::TOPGeoSideRails::m_thickness
float m_thickness
thickness
Definition: TOPGeoSideRails.h:96
Belle2::TOPGeoSideRails::ClassDefOverride
ClassDefOverride(TOPGeoSideRails, 1)
ClassDef.
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::TOPGeoSideRails::isConsistent
bool isConsistent() const override
Check for consistency of data members.
Definition: TOPGeoSideRails.cc:22
Belle2::TOPGeoSideRails::m_height
float m_height
height
Definition: TOPGeoSideRails.h:98
Belle2::TOPGeoSideRails::print
virtual void print(const std::string &title="QBB side rails geometry parameters") const override
Print the content of the class.
Definition: TOPGeoSideRails.cc:32
Belle2::TOPGeoSideRails::getThickness
double getThickness() const
Returns thickness.
Definition: TOPGeoSideRails.h:62
Belle2::TOPGeoSideRails::m_material
std::string m_material
material name
Definition: TOPGeoSideRails.h:99
Belle2::TOPGeoSideRails::getHeight
double getHeight() const
Returns height.
Definition: TOPGeoSideRails.h:74
Belle2::TOPGeoSideRails::getReducedThickness
double getReducedThickness() const
Returns thickness at prism enclosure.
Definition: TOPGeoSideRails.h:68