GeoModel - GeoModelCore
GeoTorus.h
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELKERNEL_GEOTORUS_H
6 #define GEOMODELKERNEL_GEOTORUS_H
7 
8 #include "GeoModelKernel/GeoShape.h"
9 
10 
11 class GeoTorus : public GeoShape
12 {
13  public:
14  GeoTorus (double Rmin, double Rmax, double Rtor, double SPhi, double DPhi);
15 
16  virtual double volume () const;
17 
18  virtual const std::string & type () const;
19  virtual ShapeType typeID () const;
20 
21  static const std::string& getClassType ();
22  static ShapeType getClassTypeID ();
23 
24  virtual void exec (GeoShapeAction *action) const;
25 
26  const double& getRMin () const;
27  const double& getRMax () const;
28  const double& getRTor () const;
29  const double& getSPhi () const;
30  const double& getDPhi () const;
31 
32  protected:
33  virtual ~GeoTorus();
34 
35  private:
36  GeoTorus(const GeoTorus &right);
37  GeoTorus & operator=(const GeoTorus &right);
38 
39  static const std::string s_classType;
40  static const ShapeType s_classTypeID;
41 
42  double m_rMin;
43  double m_rMax;
44  double m_rTor;
45  double m_sPhi;
46  double m_dPhi;
47 };
48 
49 inline const std::string& GeoTorus::getClassType ()
50 {
51  return s_classType;
52 }
53 
54 inline ShapeType GeoTorus::getClassTypeID ()
55 {
56  return s_classTypeID;
57 }
58 
59 inline const double& GeoTorus::getRMin () const
60 {
61  return m_rMin;
62 }
63 
64 inline const double& GeoTorus::getRMax () const
65 {
66  return m_rMax;
67 }
68 
69 inline const double& GeoTorus::getRTor () const
70 {
71  return m_rTor;
72 }
73 
74 inline const double& GeoTorus::getSPhi () const
75 {
76  return m_sPhi;
77 }
78 
79 inline const double& GeoTorus::getDPhi () const
80 {
81  return m_dPhi;
82 }
83 
84 
85 #endif
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:
Definition: GeoShape.h:38