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