59    static const G4double kMatrixPrecision = 10
E-10;
    62    if (cosb > kMatrixPrecision)
    64       x = std::atan2(mtx.
zy(),mtx.
zz());
    65       y = std::atan2(-mtx.
zx(),cosb);
    66       z = std::atan2(mtx.
yx(),mtx.
xx());
    70       x = std::atan2(-mtx.
yz(),mtx.
yy());
    71       y = std::atan2(-mtx.
zx(),cosb);
    89    xercesc::DOMElement* scaleElement = 
NewElement(tag);
    90    scaleElement->setAttributeNode(
NewAttribute(
"name",name));
    94    element->appendChild(scaleElement);
   105    xercesc::DOMElement* rotationElement = 
NewElement(tag);
   106    rotationElement->setAttributeNode(
NewAttribute(
"name",name));
   110    rotationElement->setAttributeNode(
NewAttribute(
"unit",
"deg"));
   111    element->appendChild(rotationElement);
   122    xercesc::DOMElement* positionElement = 
NewElement(tag);
   123    positionElement->setAttributeNode(
NewAttribute(
"name",name));
   127    positionElement->setAttributeNode(
NewAttribute(
"unit",
"mm"));
   128    element->appendChild(positionElement);
 static const G4double kAngularPrecision
 
void Scale_vectorWrite(xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
CLHEP::Hep3Vector G4ThreeVector
 
xercesc::DOMElement * defineElement
 
xercesc::DOMElement * NewElement(const G4String &)
 
void Position_vectorWrite(xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
virtual void DefineWrite(xercesc::DOMElement *)
 
G4GLOB_DLL std::ostream G4cout
 
static const G4double kRelativePrecision
 
xercesc::DOMAttr * NewAttribute(const G4String &, const G4String &)
 
static const G4double kLinearPrecision
 
G4ThreeVector GetAngles(const G4RotationMatrix &)
 
static const double degree
 
void Rotation_vectorWrite(xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
 
virtual ~G4GDMLWriteDefine()
 
static const G4double pos