58 static const G4double kMatrixPrecision = 10
E-10;
61 if (cosb > kMatrixPrecision)
63 x = std::atan2(mtx.
zy(),mtx.
zz());
64 y = std::atan2(-mtx.
zx(),cosb);
65 z = std::atan2(mtx.
yx(),mtx.
xx());
69 x = std::atan2(-mtx.
yz(),mtx.
yy());
70 y = std::atan2(-mtx.
zx(),cosb);
88 xercesc::DOMElement* scaleElement =
NewElement(tag);
89 scaleElement->setAttributeNode(
NewAttribute(
"name",name));
93 element->appendChild(scaleElement);
104 xercesc::DOMElement* rotationElement =
NewElement(tag);
105 rotationElement->setAttributeNode(
NewAttribute(
"name",name));
109 rotationElement->setAttributeNode(
NewAttribute(
"unit",
"deg"));
110 element->appendChild(rotationElement);
121 xercesc::DOMElement* positionElement =
NewElement(tag);
122 positionElement->setAttributeNode(
NewAttribute(
"name",name));
126 positionElement->setAttributeNode(
NewAttribute(
"unit",
"mm"));
127 element->appendChild(positionElement);