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 void | GetPotentialAndFieldAt (double x, double y, double z, double &pot, double &ex, double &ey, double &ez) |
| virtual double | GetSelfDoubleLayerPotential () |
| virtual double | GetDoubleLayerPotentialAt (double x, double y, double z) |
| | D3triangle (double xa_, double ya_, double xb_, double yb_, double x, double y, double z, double phi_, double theta_, double psi_, bool inversenorm=false, PD3element parent=NULL, bool stripeit=true) |
| | Creates a triangle from 2 2-dimensional vectors, 1 3-dimensional center vector and 3 Euler-angles.
|
| | D3triangle (double x1_, double y1_, double z1_, double x2_, double y2_, double z2_, double x3_, double y3_, double z3_, bool inversenorm=false, PD3element parent=NULL, bool stripeit=true) |
| | Creates a triangle from 3 3-dimensional vectors.
|
| | ~D3triangle () |
| virtual void | rotate (double phi_, double theta_, double psi_) |
| virtual void | shift (double xs, double ys, double zs) |
| virtual void | GetTriangle (double *A, double *B, double *C, double *COL) |
| virtual void | createNewSubelements (double length) |
Static Public Member Functions |
| static bool | IntersectWithRay (double ax, double ay, double az, double bx, double by, double bz, double cx, double cy, double cz, double xdir, double ydir, double zdir, double &mul) |
Public Attributes |
| double | x1 |
| double | y1 |
| double | z1 |
| double | x2 |
| double | y2 |
| double | z2 |
| double | x3 |
| double | y3 |
| double | z3 |
Protected Member Functions |
| void | Stripeit (double length) |
| void | Newtriangles (double length) |
Protected Attributes |
| bool | stripeit |
| double | xa |
| double | ya |
| double | xb |
| double | yb |
| D3triangle::D3triangle |
( |
double |
xa_, |
|
|
double |
ya_, |
|
|
double |
xb_, |
|
|
double |
yb_, |
|
|
double |
x, |
|
|
double |
y, |
|
|
double |
z, |
|
|
double |
phi_, |
|
|
double |
theta_, |
|
|
double |
psi_, |
|
|
bool |
inversenorm = false, |
|
|
PD3element |
parent = NULL, |
|
|
bool |
stripeit = true |
|
) |
| |
Creates a triangle 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 triangle. 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 ordering 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 triangle
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'
| D3triangle::D3triangle |
( |
double |
x1_, |
|
|
double |
y1_, |
|
|
double |
z1_, |
|
|
double |
x2_, |
|
|
double |
y2_, |
|
|
double |
z2_, |
|
|
double |
x3_, |
|
|
double |
y3_, |
|
|
double |
z3_, |
|
|
bool |
inversenorm = false, |
|
|
PD3element |
parent = NULL, |
|
|
bool |
stripeit = true |
|
) |
| |
Creates a triangle from 3 3-dimensional vectors.
(x1_,y1_z1_), (x2_,y2_,z2_), (x3_,y3_,z3_) define the corners of the triangle. The ordering does not matter!!