Belle II Software  release-08-01-10
ARICHGeoBase.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 <TObject.h>
12 #include <geometry/dbobjects/GeoOpticalSurface.h>
13 #include <string>
14 
15 namespace Belle2 {
24  class ARICHGeoBase: public TObject {
25  public:
26 
31 
36  explicit ARICHGeoBase(const std::string& name): m_name(name)
37  {}
38 
43  void setName(const std::string& name) {m_name = name;}
44 
49  const std::string& getName() const {return m_name;}
50 
55  virtual bool isConsistent() const {return false;}
56 
61  virtual void print(const std::string& title) const;
62 
67  virtual void printSurface(const GeoOpticalSurface& surface) const;
68 
78  virtual void printPlacement(double x, double y, double z, double rx, double ry, double rz) const;
79 
80  protected:
81 
82  std::string m_name;
83  static double s_unit;
84  static std::string s_unitName;
88  };
89 
91 } // end namespace Belle2
Base class for geometry parameters.
Definition: ARICHGeoBase.h:24
ARICHGeoBase()
Default constructor.
Definition: ARICHGeoBase.h:30
static double s_unit
conversion unit for length
Definition: ARICHGeoBase.h:83
ARICHGeoBase(const std::string &name)
Constructor with name.
Definition: ARICHGeoBase.h:36
virtual void printPlacement(double x, double y, double z, double rx, double ry, double rz) const
Print volume positioning parameters.
Definition: ARICHGeoBase.cc:25
const std::string & getName() const
Returns object name.
Definition: ARICHGeoBase.h:49
virtual void printSurface(const GeoOpticalSurface &surface) const
Print the content of optical surface.
Definition: ARICHGeoBase.cc:32
virtual bool isConsistent() const
Check for consistency of data members.
Definition: ARICHGeoBase.h:55
void setName(const std::string &name)
Sets object name.
Definition: ARICHGeoBase.h:43
ClassDef(ARICHGeoBase, 2)
ClassDef.
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
std::string m_name
geometry object name
Definition: ARICHGeoBase.h:82
static std::string s_unitName
conversion unit name
Definition: ARICHGeoBase.h:84
Represent an optical finish of a surface.
Abstract base class for different kinds of events.