120 #ifndef HEP_TRANSFROM3D_H 121 #define HEP_TRANSFROM3D_H 127 template<
class T>
class Point3D;
179 double YX,
double YY,
double YZ,
double DY,
180 double ZX,
double ZY,
double ZZ,
double DZ)
181 : xx_(XX), xy_(XY), xz_(XZ), dx_(DX),
182 yx_(YX), yy_(YY), yz_(YZ), dy_(DY),
183 zx_(ZX), zy_(ZY), zz_(ZZ), dz_(DZ) {}
187 double YX,
double YY,
double YZ,
double DY,
188 double ZX,
double ZY,
double ZZ,
double DZ) {
189 xx_ = XX; xy_ = XY; xz_ = XZ; dx_ = DX;
190 yx_ = YX; yy_ = YY; yz_ = YZ; dy_ = DY;
191 zx_ = ZX; zy_ = ZY; zz_ = ZZ; dz_ = DZ;
212 : xx_(1), xy_(0), xz_(0), dx_(0),
213 yx_(0), yy_(1), yz_(0), dy_(0),
214 zx_(0), zy_(0), zz_(1), dz_(0) {}
232 : xx_(m.xx_), xy_(m.xy_), xz_(m.xz_), dx_(m.dx_),
233 yx_(m.yx_), yy_(m.yy_), yz_(m.yz_), dy_(m.dy_),
234 zx_(m.zx_), zy_(m.zy_), zz_(m.zz_), dz_(m.dz_) {}
299 xy_= xz_= dx_= yx_= yz_= dy_= zx_= zy_= dz_= 0; xx_= yy_= zz_= 1;
438 double cosa = std::cos(a), sina = std::sin(a);
439 setTransform(1,0,0,0, 0,cosa,-sina,0, 0,sina,cosa,0);
466 double cosa = std::cos(a), sina = std::sin(a);
467 setTransform(cosa,0,sina,0, 0,1,0,0, -sina,0,cosa,0);
494 double cosa = std::cos(a), sina = std::sin(a);
495 setTransform(cosa,-sina,0,0, sina,cosa,0,0, 0,0,1,0);
528 :
Transform3D(1,0,0,x, 0,1,0,y, 0,0,1,z) {}
625 double YX,
double YY,
double YZ,
double DY,
626 double ZX,
double ZY,
double ZZ,
double DZ)
627 :
Transform3D(XX,XY,XZ,DX, YX,YY,YZ,DY, ZX,ZY,ZZ,DZ) {}
664 ReflectX3D(
double x=0) :
Reflect3D(-1,0,0,
x+
x, 0,1,0,0, 0,0,1,0) {}
685 ReflectY3D(
double y=0) :
Reflect3D(1,0,0,0, 0,-1,0,
y+
y, 0,0,1,0) {}
706 ReflectZ3D(
double z=0) :
Reflect3D(1,0,0,0, 0,1,0,0, 0,0,-1,
z+
z) {}
735 :
Transform3D(x,0,0,0, 0,y,0,0, 0,0,z,0) {}
740 :
Transform3D(s,0,0,0, 0,s,0,0, 0,0,s,0) {}
818 #include "CLHEP/Geometry/Transform3D.icc"
Translate3D(double x, double y, double z)
static const G4double tolerance
Reflect3D(double XX, double XY, double XZ, double DX, double YX, double YY, double YZ, double DY, double ZX, double ZY, double ZZ, double DZ)
static double normal(HepRandomEngine *eptr)
Scale3D(double x, double y, double z)