19#ifndef _MathCYLINDER_HXX_
20#define _MathCYLINDER_HXX_
65 MathCylinder(
double R = 0.01,
double X = 0,
double Y = 0,
double Z = 0,
66 double dX = 0,
double dY = 0,
double dZ = 1,
int Sign = - 1);
126 void Translate(
double dx,
double dy,
double dz,
int count = 0)
override;
135 void Rotate(
double phi,
double theta = 0,
double psi = 0,
double *center =
nullptr,
int count = 0)
override;
#define sign(a)
Definition GenericReactorAssembly.cxx:43
Header file for Monte-Carlo Source abstract class.
Header file for Shape class and Shape_ptr type.
Infinite cylinder Shape.
Definition MathCylinder.hxx:47
vector< double > GetOrigin()
Definition MathCylinder.hxx:93
MathCylinder * CreateNewInstance(int sign=1) override
a new MathCylinder instance.
Definition MathCylinder.cxx:523
void Norme()
Normalisation of axis vector.
Definition MathCylinder.cxx:61
unsigned IsIncluded(Shape_ptr OtherShape) override
return 1 if the Cylinder is included in OtherShape otherwise 0
Definition MathCylinder.cxx:73
double GetdY()
Definition MathCylinder.hxx:101
double GetY()
Definition MathCylinder.hxx:85
vector< double > fAxisVector
cylinder axis vector
Definition MathCylinder.hxx:171
void Translate(double dx, double dy, double dz, int count=0) override
Definition MathCylinder.cxx:436
double fR
Radius of the Cylinder.
Definition MathCylinder.hxx:169
double GetdZ()
Definition MathCylinder.hxx:105
bool PointInShape(double *P, int border) override
Definition MathCylinder.cxx:415
double GetR()
Definition MathCylinder.hxx:77
double GetZ()
Definition MathCylinder.hxx:89
Shape_ptr Clone(int count=0) override
Clone a Shape.
Definition MathCylinder.cxx:471
void Rotate(double phi, double theta=0, double psi=0, double *center=nullptr, int count=0) override
Definition MathCylinder.cxx:454
double GetX()
Definition MathCylinder.hxx:81
unsigned IsCylinder() override
Definition MathCylinder.hxx:72
vector< double > GetAxisVector()
Definition MathCylinder.hxx:109
void CalculNot() override
Allocates and calculs the complement of a Cylinder.
Definition MathCylinder.cxx:397
double * GetVirtualSphereCenter() override
returns the center of a Sphere containing the Shape
Definition MathCylinder.cxx:513
unsigned IsDisjoint(Shape_ptr OtherShape) override
return 1 if the Cylinder is disjoint of OtherShape otherwise 0
Definition MathCylinder.cxx:284
double GetdX()
Definition MathCylinder.hxx:97
vector< double > fOrigin
origin of the cylinder
Definition MathCylinder.hxx:170
void Copy(Shape_ptr C) override
Copy all attributs of a Shape (but not attributs of the father classes).
Definition MathCylinder.cxx:499
Abstract class to define geometrical shapes.
Definition Shape.hxx:85