Belle II Software development
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
15namespace 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
const std::string & getName() const
Returns object name.
Definition: ARICHGeoBase.h:49
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
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.