MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Cylinder.hxx
Go to the documentation of this file.
1 #ifndef _CYLINDER_HXX_
2 #define _CYLINDER_HXX_
3 
4 #include "MureHeaders.hxx"
5 
11 
20 class Cylinder : public Shape
21 {
22  public :
35  Cylinder(double R=0.01, double X=0, double Y=0, double Z=0,
36  double dX=0, double dY=0, double dZ=1, double Signe=-1);
41 
42  double GetR() {return fR ;}
43  double GetX() {return fX ;}
44  double GetY() {return fY ;}
45  double GetZ() {return fZ ;}
46  double GetdX() {return fdX;}
47  double GetdY() {return fdY;}
48  double GetdZ() {return fdZ;}
49 
50 
54 
62  virtual void Translate(double dx,double dy,double dz,int count=0);
71  virtual void Rotate(double phi,double theta=0,double psi=0,double *center=0,int count=0);
73 
77  unsigned IsCylinder(){return 1;}
78 
79  unsigned Inclus(Shape_ptr OtherShape);
80  unsigned Disjoint(Shape_ptr OtherShape);
81 
82 
87  void DefineSurface();
88 
94  bool PointInShape(double *P,int border);
95 
96  Shape_ptr Clone(int count=0);
97  void Copy(Shape_ptr C);
98 
99  double* GetVirtualSphereCenter();
100  void CalculNot();
101 
102 
103  protected :
104  void Norme();
105 
106  double fR;
107  double fX;
108  double fY;
109  double fZ;
110  double fdX;
111  double fdY;
112  double fdZ;
113 };
114 
115 #endif
double fR
Radius of the Cylinder.
Definition: Cylinder.hxx:106
double GetX()
return x-position of its center
Definition: Cylinder.hxx:43
Cylinder(double R=0.01, double X=0, double Y=0, double Z=0, double dX=0, double dY=0, double dZ=1, double Signe=-1)
Definition: Cylinder.cxx:5
Shape_ptr Clone(int count=0)
Clone a Shape.
Definition: Cylinder.cxx:510
double * GetVirtualSphereCenter()
returns the center of a Sphere containing the Shape
Definition: Cylinder.cxx:556
Infinite cylinder Shape.
Definition: Cylinder.hxx:20
double fZ
z-position of its center
Definition: Cylinder.hxx:109
void CalculNot()
Allocates and calculs the complement of a Cylinder.
Definition: Cylinder.cxx:340
virtual void Translate(double dx, double dy, double dz, int count=0)
Definition: Cylinder.cxx:378
double fdZ
3th component of the axis vector
Definition: Cylinder.hxx:112
double fY
y-position of its center
Definition: Cylinder.hxx:108
unsigned Inclus(Shape_ptr OtherShape)
return 1 if the Cylinder is included in OtherShape otherwise 0
Definition: Cylinder.cxx:40
bool PointInShape(double *P, int border)
Definition: Cylinder.cxx:358
double GetdX()
return 1st component of the axis vector
Definition: Cylinder.hxx:46
double GetZ()
return z-position of its center
Definition: Cylinder.hxx:45
unsigned Disjoint(Shape_ptr OtherShape)
return 1 if the Cylinder is Disjointed of OtherShape otherwise 0
Definition: Cylinder.cxx:239
double GetdZ()
return 3th component of the axis vector
Definition: Cylinder.hxx:48
File including all headers.
void Norme()
Normalisation of axis vector.
Definition: Cylinder.cxx:28
double GetR()
return Radius of the Sphere
Definition: Cylinder.hxx:42
double GetY()
return y-position of its center
Definition: Cylinder.hxx:44
double GetdY()
return 2nd component of the axis vector
Definition: Cylinder.hxx:47
double fdX
1st component of the axis vector
Definition: Cylinder.hxx:110
void DefineSurface()
Define surface in MCNP format.
Definition: Cylinder.cxx:419
double fX
x-position of its center
Definition: Cylinder.hxx:107
double fdY
2nd component of the axis vector
Definition: Cylinder.hxx:111
unsigned IsCylinder()
1 if Shape is a Cylinder
Definition: Cylinder.hxx:77
void Copy(Shape_ptr C)
Copy all attributs of a Shape (but not attributs of the father classes).
Definition: Cylinder.cxx:539
Base class to define shapes.
Definition: Shape.hxx:54
virtual void Rotate(double phi, double theta=0, double psi=0, double *center=0, int count=0)
Definition: Cylinder.cxx:396

MURE Project, documentation generated by Doxygen 1.8.5 - Mon Nov 17 2014