40 : r_min(0.), r_max(0.)
56 if(number_of_plane==1)
77 { invdir.
setX(1.0 / RayDir.
x()); }
80 { invdir.
setY(1.0 / RayDir.
y()); }
83 { invdir.
setZ(1.0 / RayDir.
z()); }
87 Vcross( dir2, RayDir, dir1);
89 Vadd2(p2, RayOrigin, RayDir);
90 Vadd2(p3, RayOrigin, dir1);
91 Vadd2(p4, RayOrigin, dir2);
113 f = std::fabs(in.
x());
116 if( std::fabs(in.
y()) < f )
118 f = std::fabs(in.
y());
122 if( std::fabs(in.
z()) < f )
129 f = std::sqrt((in.
y())*(in.
y())+(in.
z())*(in.
z()));
135 f = std::sqrt((in.
z())*(in.
z())+(in.
x())*(in.
x()));
139 f = std::sqrt((in.
x())*(in.
x())+(in.
y())*(in.
y()));
230 Vcross( plane1, B_A, C_A );
242 Vscale( plane1, pl2, mag );
245 plane1.
d =
Vdot( plane1, a );
257 "Invalid zero direction given !");
269 a.
a = b.
y() * c.
z() - b.
z() * c.
y() ;
270 a.
b = b.
z() * c.
x() - b.
x() * c.
z() ;
271 a.
c = b.
x() * c.
y() - b.
y() * c.
x() ;
277 a.
setX(b.
y() * c.
z() - b.
z() * c.
y()) ;
278 a.
setY(b.
z() * c.
x() - b.
x() * c.
z()) ;
279 a.
setZ(b.
x() * c.
y() - b.
y() * c.
x()) ;
317 return (a.
a * b.
x() +
325 return ( a.
a * a.
a + a.
b * a.
b + a.
c *a.
c );
331 return (std::sqrt(
Magsq( a )) );
const G4Point3D PINFINITY(kInfinity, kInfinity, kInfinity)
HepGeom::Vector3D< G4double > G4Vector3D
G4int NearZero(G4double val, G4double epsilon) const
static void Vmove(G4Point3D &a, const G4Point3D &b)
static G4double Vdot(const G4Plane &a, const G4Point3D &b)
const G4Plane & GetPlane(G4int number_of_plane) const
static void Vcross(G4Plane &a, const G4Vector3D &b, const G4Vector3D &c)
void Vsetall(G4Vector3D &a, G4double s)
static G4int CalcPlane3Pts(G4Plane &plane, const G4Point3D &a, const G4Point3D &b, const G4Point3D &c)
static void Vscale(G4Plane &a, const G4Plane &b, G4double c)
static G4double Magsq(const G4Plane &a)
static void Vsub2(G4Vector3D &a, const G4Point3D &b, const G4Point3D &c)
void Init(const G4Point3D &start0, const G4Vector3D &dir0)
void MatVecOrtho(register G4Vector3D &out, register const G4Vector3D &in)
static void Vadd2(G4Point3D &a, const G4Point3D &b, const G4Vector3D &c)
static G4double Magnitude(const G4Plane &a)
BasicVector3D< T > unit() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)