JG ROOT Tools libraries  version 5.0 - august 2014
RSphereTesselation.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file RSphereTesselation.hh
3  *
4  * Include file for the class RSphereTesselation.
5  */
6 //======================================================================
7 
8 #ifndef R_SPHERE_TESSELATION_HH
9 #define R_SPHERE_TESSELATION_HH
10 
11 //======================================================================
12 
13 // GRootTools includes
14 #include "RSolidTesselation.hh"
15 #include "RGeometry.hh"
16 
17 
18 //======================================================================
19 /*! \class RSphereTesselation
20  *
21  * This class defines a discretization of a sphere from the tesselation
22  * of a basic platon solid (icosahedron).
23  *
24  * The points are all located on a unit radius sphere.
25  *
26  * \image html Tesselation0.png
27  * \image html Tesselation1.png
28  * \image html Tesselation2.png
29  * \image html Tesselation3.png
30  */
32 {
33  //------------------------------------------------------------
34  /*! \object_doc{RSphereTesselation} */
36  //------------------------------------------------------------
37 
38  protected:
39  double dmin; ///< Lower distance between points
40  double dmax; ///< Upper distance between points
41 
42  public:
43 
44  //------------------------------------------------------------
45  /** @name Constructors, affectation, destructor */
46  //@{
48  virtual ~RSphereTesselation ( );
49  //@}
50 
51  //------------------------------------------------------------
52  /** @name Tesselation data */
53  //@{
54  virtual void InitData ( );
55  virtual int SubDivide ( int n );
56  virtual int SubDivide ( );
57 
58  double GetDistanceMin ( ) const; // inline
59  double GetDistanceMax ( ) const; // inline
60  double GetAngleMin ( bool deg = false ) const; // inline
61  double GetAngleMax ( bool deg = false ) const; // inline
62 
63  TVector3 GetVectUx ( int ip ) const; // inline
64  TVector3 GetVectUy ( int ip ) const; // inline
65  //@}
66 
67  //------------------------------------------------------------
68  /** @name ROOT related functions */
69  //@{
70  /*! For ROOT dictionary.*/
72  //@}
73 };
74 
75 //----------------------------------------------------------------------
76 // Inline functions
78 
79 
80 //======================================================================
81 
82 #endif
virtual ~RSphereTesselation()
Definition: RSphereTesselation.cpp:26
double GetDistanceMin() const
Definition: RSphereTesselation.icc:9
ClassDef(RSphereTesselation, 0)
double dmax
Upper distance between points.
Definition: RSphereTesselation.hh:40
virtual int SubDivide()
Definition: RSphereTesselation.cpp:135
TVector3 GetVectUy(int ip) const
Definition: RSphereTesselation.icc:39
TVector3 GetVectUx(int ip) const
Definition: RSphereTesselation.icc:33
double GetDistanceMax() const
Definition: RSphereTesselation.icc:13
Definition: RSolidTesselation.hh:161
double dmin
Lower distance between points.
Definition: RSphereTesselation.hh:39
double GetAngleMin(bool deg=false) const
Definition: RSphereTesselation.icc:19
Definition: RSphereTesselation.hh:31
RSphereTesselation()
Definition: RSphereTesselation.cpp:17
double GetAngleMax(bool deg=false) const
Definition: RSphereTesselation.icc:25
GObject(RSphereTesselation)
virtual void InitData()
Definition: RSphereTesselation.cpp:35