43 #ifndef G4UMULTIUNION_HH
44 #define G4UMULTIUNION_HH
46 #include <CLHEP/Vector/Rotation.h>
52 #include "HepPolyhedronProcessor.h"
95 HepGeom::Rotate3D rot;
96 HepGeom::Translate3D transl ;
97 HepGeom::Scale3D scale;
99 trans.getDecomposition(scale,rot,transl);
103 tr.
fRot[0] = rot.xx(); tr.
fRot[1] = rot.xy(); tr.
fRot[2] = rot.xz();
104 tr.
fRot[3] = rot.yx(); tr.
fRot[4] = rot.yy(); tr.
fRot[5] = rot.yz();
105 tr.
fRot[6] = rot.zx(); tr.
fRot[7] = rot.zy(); tr.
fRot[8] = rot.zz();
116 rot(CLHEP::HepRep3x3(tr.
fRot[0], tr.
fRot[1], tr.
fRot[2],
UMultiUnion * GetShape() const
int GetNumberOfSolids() const
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
const std::string & GetName() const
G4Polyhedron * CreatePolyhedron() const
VUSolid * GetSolid() const
G4Transform3D * GetTransformation(G4int index) const
const UTransform3D & GetTransformation(int index) const
G4UMultiUnion & operator=(const G4UMultiUnion &source)
G4USolid(const G4String &pName, VUSolid *shape)
G4UMultiUnion(const G4String &name)
void AddNode(VUSolid &solid, UTransform3D &trans)
VUSolid * GetSolid(int index) const
void AddNode(G4VSolid &solid, G4Transform3D &trans)
static const G4double pos
int GetNumberOfSolids() const