Belle II Software development
VXDRotationSolidPar.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#pragma once
9
10
11#include <TObject.h>
12#include <string>
13#include <list>
14
15
16namespace Belle2 {
26 class VXDRotationSolidPar: public TObject {
27 public:
29 VXDRotationSolidPar(const std::string& name, const std::string& material, const std::string& color,
30 double minPhi, double maxPhi, bool exists):
31 m_name(name), m_material(material), m_color(color), m_minPhi(minPhi), m_maxPhi(maxPhi), m_exists(exists)
32 {}
33
36 m_name(""), m_material(""), m_color(""), m_minPhi(0), m_maxPhi(0), m_exists(false)
37 {}
38
40 bool getExists() const { return m_exists; }
42 const std::string& getName() const { return m_name; }
44 const std::string& getMaterial() const { return m_material; }
46 const std::string& getColor() const { return m_color; }
48 double getMinPhi() const { return m_minPhi; }
50 double getMaxPhi() const { return m_maxPhi; }
52 const std::list< std::pair<double, double> >& getInnerPoints() const { return m_innerPoints; }
54 const std::list< std::pair<double, double> >& getOuterPoints() const { return m_outerPoints; }
56 std::list< std::pair<double, double> >& getInnerPoints() { return m_innerPoints; }
58 std::list< std::pair<double, double> >& getOuterPoints() { return m_outerPoints; }
59
60 private:
62 std::string m_name;
64 std::string m_material;
66 std::string m_color;
68 double m_minPhi;
70 double m_maxPhi;
74 std::list< std::pair<double, double> > m_innerPoints;
76 std::list< std::pair<double, double> > m_outerPoints;
77
79 };
80
82} // end of namespace Belle2
83
The Class for VXD Envelope parameters.
bool m_exists
Flags rotation solid (envelope) exists.
VXDRotationSolidPar(const std::string &name, const std::string &material, const std::string &color, double minPhi, double maxPhi, bool exists)
Constructor.
std::list< std::pair< double, double > > & getOuterPoints()
get outer XZ points
std::string m_material
Name of the material.
double getMaxPhi() const
get max Phi
const std::string & getName() const
get name of the envelope
double getMinPhi() const
get min Phi
bool getExists() const
returns if rotation solid has inner points
ClassDef(VXDRotationSolidPar, 5)
ClassDef, must be the last term before the closing {}.
double m_minPhi
Minimum phi angle.
const std::string & getColor() const
get color
const std::list< std::pair< double, double > > & getInnerPoints() const
get inner XZ points
const std::list< std::pair< double, double > > & getOuterPoints() const
get outer XZ points
std::list< std::pair< double, double > > m_innerPoints
List of inner points in the ZX plane.
std::list< std::pair< double, double > > & getInnerPoints()
get inner XZ points
std::string m_color
Name of color.
const std::string & getMaterial() const
get name of the material
std::string m_name
Name of rotation solid (envelope)
std::list< std::pair< double, double > > m_outerPoints
List of outer points in the ZX plane.
double m_maxPhi
Maximum phi angle.
Abstract base class for different kinds of events.