59 x = std::atan2(mat.
zy(),mat.
zz());
60 y = std::atan2(-mat.
zx(),cosb);
61 z = std::atan2(mat.
yx(),mat.
xx());
65 x = std::atan2(-mat.
yz(),mat.
yy());
66 y = std::atan2(-mat.
zx(),cosb);
84 xercesc::DOMElement* scaleElement =
NewElement(tag);
85 scaleElement->setAttributeNode(
NewAttribute(
"name",name));
89 element->appendChild(scaleElement);
100 xercesc::DOMElement* rotationElement =
NewElement(tag);
101 rotationElement->setAttributeNode(
NewAttribute(
"name",name));
105 rotationElement->setAttributeNode(
NewAttribute(
"unit",
"deg"));
106 element->appendChild(rotationElement);
117 xercesc::DOMElement* positionElement =
NewElement(tag);
118 positionElement->setAttributeNode(
NewAttribute(
"name",name));
122 positionElement->setAttributeNode(
NewAttribute(
"unit",
"mm"));
123 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 &)
void Rotation_vectorWrite(xercesc::DOMElement *, const G4String &, const G4String &, const G4ThreeVector &)
virtual ~G4GDMLWriteDefine()