50 G4gsrotm(irot, theta1,phi1, theta2,phi2, theta3,phi3);
68 G4ThreeVector x(std::sin(th1r)*std::cos(phi1r), std::sin(th1r)*std::sin(phi1r), std::cos(th1r));
69 G4ThreeVector y(std::sin(th2r)*std::cos(phi2r), std::sin(th2r)*std::sin(phi2r), std::cos(th2r));
70 G4ThreeVector z(std::sin(th3r)*std::cos(phi3r), std::sin(th3r)*std::sin(phi3r), std::cos(th3r));
77 if (1-std::abs(check)>tol) {
78 G4cerr <<
"Coordinate axes forming rotation matrix "
79 << irot <<
" are not orthonormal.(" << 1-std::abs(check) <<
")"
81 G4cerr <<
" theta1=" << theta1;
82 G4cerr <<
" phi1=" << phi1;
83 G4cerr <<
" theta2=" << theta2;
84 G4cerr <<
" phi2=" << phi2;
85 G4cerr <<
" theta3=" << theta3;
86 G4cerr <<
" phi3=" << phi3;
89 "Non orthogonal axes!");
G3G4DLL_API G3RotTable G3Rot
G3G4DLL_API G4int Ipar[1000]
void G3fillParams(G4String *tokens, const char *ptypes)
G3G4DLL_API G4double Rpar[1000]
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
static constexpr double pi
void PG4gsrotm(G4String *tokens)
void G4gsrotm(G4int irot, G4double theta1, G4double phi1, G4double theta2, G4double phi2, G4double theta3, G4double phi3)
G4GLOB_DLL std::ostream G4cerr
Hep3Vector cross(const Hep3Vector &) const
void Put(G4int id, G4RotationMatrix *matrix)
void SetRotationMatrixByRow(const G4ThreeVector &Row1, const G4ThreeVector &Row2, const G4ThreeVector &Row3)