5 #ifndef GEOMODELKERNEL_GEOPCON_H 6 #define GEOMODELKERNEL_GEOPCON_H 17 #include "GeoModelKernel/GeoShape.h" 26 GeoPcon (
double SPhi,
double DPhi);
29 virtual double volume ()
const;
32 virtual const std::string & type ()
const;
35 virtual ShapeType typeID ()
const;
39 void addPlane (
double ZPlane,
double RMinPlane,
double RMaxPlane);
43 unsigned int getNPlanes ()
const;
47 bool isValid ()
const;
50 const double & getZPlane (
unsigned int i)
const;
53 const double & getRMinPlane (
unsigned int i)
const;
56 const double & getRMaxPlane (
unsigned int i)
const;
62 static const std::string& getClassType ();
65 static ShapeType getClassTypeID ();
68 const double& getSPhi ()
const;
71 const double& getDPhi ()
const;
80 static const std::string s_classType;
81 static const ShapeType s_classTypeID;
87 std::vector<double> m_zPlane;
90 std::vector<double> m_rMinPlane;
93 std::vector<double> m_rMaxPlane;
96 inline unsigned int GeoPcon::getNPlanes ()
const 98 return m_zPlane.size ();
101 inline bool GeoPcon::isValid ()
const 103 return getNPlanes () >= 2;
106 inline const double & GeoPcon::getZPlane (
unsigned int i)
const 111 inline const double & GeoPcon::getRMinPlane (
unsigned int i)
const 113 return m_rMinPlane[i];
116 inline const double & GeoPcon::getRMaxPlane (
unsigned int i)
const 118 return m_rMaxPlane[i];
121 inline const std::string& GeoPcon::getClassType ()
126 inline ShapeType GeoPcon::getClassTypeID ()
128 return s_classTypeID;
131 inline const double& GeoPcon::getSPhi ()
const 136 inline const double& GeoPcon::getDPhi ()
const This shape represents a polycone. Specify the starting angle and delta angle (subtended angle) of the...
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: