Public Member Functions |
| virtual void | InsertTGeoVolume (TGeoVolume *top, TGeoMedium *matVak, TGeoMedium *mat, TGeoManager *geom) |
| virtual bool | IntersectWithRay (double x0, double y0, double z0, double xdir, double ydir, double zdir, double &mul) |
| virtual void | SetNormTowards (double x, double y, double z, bool towards) |
| virtual void | GetReferencePoint (double &x, double &y, double &z) |
| virtual double | GetArea () |
| virtual void | GetCenter (double &x, double &y, double &z) |
| virtual double | GetSelfPotential () |
| virtual double | GetPotentialAt (double x, double y, double z) |
| virtual double | GetSelfDoubleLayerPotential () |
| virtual double | GetDoubleLayerPotentialAt (double x, double y, double z) |
| virtual void | GetPotentialAndFieldAt (double x, double y, double z, double &pot, double &ex, double &ey, double &ez) |
| virtual void | GetRectangle (double *A, double *B, double *C, double *D, double *COL) |
| virtual void | rotate (double phi_, double theta_, double psi_) |
| virtual void | shift (double xs, double ys, double zs) |
| | D3rectangle (double xa_, double ya_, double xc_, double yc_, double x, double y, double z, double phi_, double theta_, double psi_, bool inversenorm=false, PD3element parent=NULL, bool subdivideInSqares=false) |
| | Creates a rectangle from 2 2-dimensional vectors, 1 3-dimensional center vector and 3 Euler angles.
|
| | D3rectangle (double xa_, double ya_, double xb_, double yb_, double xc_, double yc_, double x, double y, double z, double phi_, double theta_, double psi_, bool inversenorm=false, PD3element parent=NULL) |
| | Creates a rectangle from 3 2-dimensional vectors, 1 center vector and 3 Euler angles.
|
| | D3rectangle (char *str, double x1_, double y1_, double z1_, double x2_, double y2_, double z2_, double x3_, double y3_, double z3_, double x4_, double y4_, double z4_, bool inversenorm=false, PD3element parent=NULL) |
| | Creates a rectangle from coordinates for each corner.
|
| | ~D3rectangle () |
| virtual void | createNewSubelements (double length) |
Public Attributes |
| double | x1 |
| double | y1 |
| double | z1 |
| double | x2 |
| double | y2 |
| double | z2 |
| double | x3 |
| double | y3 |
| double | z3 |
| double | x4 |
| double | y4 |
| double | z4 |
Protected Attributes |
| double | xa |
| double | ya |
| double | xb |
| double | yb |
| double | xc |
| double | yc |
| D3rectangle::D3rectangle |
( |
double |
xa_, |
|
|
double |
ya_, |
|
|
double |
xc_, |
|
|
double |
yc_, |
|
|
double |
x, |
|
|
double |
y, |
|
|
double |
z, |
|
|
double |
phi_, |
|
|
double |
theta_, |
|
|
double |
psi_, |
|
|
bool |
inversenorm = false, |
|
|
PD3element |
parent = NULL, |
|
|
bool |
subdivideInSqares = false |
|
) |
| |
Creates a rectangle from 2 2-dimensional vectors, 1 3-dimensional center vector and 3 Euler angles.
The parameters x,y,z determine the 1. corner of the rectangle. The Euler-rotations are also performed with respect to this corner.
(x,y,z) can also be interpreted as a center of a coordinate system.
The 2. corner is determined by (xa_ + x, ya_ + y).
The 3. corner is determined by (xb_ + x, yb_ + y).
The 4. corner is determined by (xa_ + xb_ + x, ya_ + yb_ + y). This represents a vector addition of the vectors for the first 2 corners.
The ordering of the corners does not matter!!
The angles phi_, theta_ and psi_ can be declared in degrees and represent Euler-angles.
The Center (x,y,z) specifies the center of the Euler-rotations
They can be used to generate z-coordinates for the rectangle
The Euler-rotations occur in the following order:
phi_:..........Rotation around z-axis...................................x -> x'......y -> y'.......z -> z
theta_:......Rotation around the rotated x-axis (x'):.........x'-> x'......y' -> y''......z -> z'
psi_:..........Rotation around z'-axis:.................................x'-> x''......y''-> y'''.....z'-> z'
| D3rectangle::D3rectangle |
( |
double |
xa_, |
|
|
double |
ya_, |
|
|
double |
xb_, |
|
|
double |
yb_, |
|
|
double |
xc_, |
|
|
double |
yc_, |
|
|
double |
x, |
|
|
double |
y, |
|
|
double |
z, |
|
|
double |
phi_, |
|
|
double |
theta_, |
|
|
double |
psi_, |
|
|
bool |
inversenorm = false, |
|
|
PD3element |
parent = NULL |
|
) |
| |
Creates a rectangle from 3 2-dimensional vectors, 1 center vector and 3 Euler angles.
The parameters x,y,z determine the 1. corner of the rectangle. The Euler-rotations are also performed with respect to this corner.
(x,y,z) can also be interpreted as a center of a coordinate system.
The 2. corner is determined by (xa_ + x, ya_ + y).
The 3. corner is determined by (xb_ + x, yb_ + y).
The 4. corner is not being calculated automatically, it is specified via (xc_,yc_)!
The ordering of the corners does not matter!!
If the 3 corner-vectors would result in a non-convex object only a triangle will be drawn!
The angles phi_, theta_ and psi_ can be declared in degrees and represent Euler-angles.
The Center (x,y,z) specifies the center of the Euler-rotations
They can be used to generate z-coordinates for the rectangle
The Euler-rotations occur in the following order:
phi_:..........Rotation around z-axis...................................x -> x'......y -> y'.......z -> z
theta_:......Rotation around the rotated x-axis (x'):.........x'-> x'......y' -> y''......z -> z'
psi_:..........Rotation around z'-axis:.................................x'-> x''......y''-> y'''.....z'-> z'