5 #ifndef GEOMODELKERNEL_GEOPGON_H 6 #define GEOMODELKERNEL_GEOPGON_H 8 #include "GeoModelKernel/GeoShape.h" 17 GeoPgon (
double SPhi,
double DPhi,
unsigned int NSides);
20 virtual double volume ()
const;
23 virtual const std::string & type ()
const;
26 virtual ShapeType typeID ()
const;
30 void addPlane (
double ZPlane,
double RMinPlane,
double RMaxPlane);
34 unsigned int getNPlanes ()
const;
38 bool isValid ()
const;
41 const double & getZPlane (
unsigned int i)
const;
44 const double & getRMinPlane (
unsigned int i)
const;
47 const double & getRMaxPlane (
unsigned int i)
const;
53 static const std::string& getClassType ();
56 static ShapeType getClassTypeID ();
59 const double& getSPhi ()
const;
62 const double& getDPhi ()
const;
65 const unsigned int& getNSides ()
const;
74 static const std::string s_classType;
75 static const ShapeType s_classTypeID;
79 unsigned int m_nSides;
82 std::vector<double> m_zPlane;
85 std::vector<double> m_rMinPlane;
88 std::vector<double> m_rMaxPlane;
91 inline unsigned int GeoPgon::getNPlanes ()
const 93 return m_zPlane.size ();
96 inline bool GeoPgon::isValid ()
const 98 return m_zPlane.size () >= 2;
101 inline const double & GeoPgon::getZPlane (
unsigned int i)
const 106 inline const double & GeoPgon::getRMinPlane (
unsigned int i)
const 108 return m_rMinPlane[i];
111 inline const double & GeoPgon::getRMaxPlane (
unsigned int i)
const 113 return m_rMaxPlane[i];
116 inline const std::string& GeoPgon::getClassType ()
121 inline ShapeType GeoPgon::getClassTypeID ()
123 return s_classTypeID;
126 inline const double& GeoPgon::getSPhi ()
const 131 inline const double& GeoPgon::getDPhi ()
const 136 inline const unsigned int& GeoPgon::getNSides ()
const
This class is a visitor for shapes. It allows a navigation of the boolean expression tree for shapes...
This class describes a Shape. Shapes will be able to do the following things: