24#include "G4DisplacedSolid.hh"
25#include "G4ReflectedSolid.hh"
29 VGM::ISolid* constituentSolid, CLHEP::HepRotation* rotation,
30 const CLHEP::Hep3Vector& translation)
32 VGM::IDisplacedSolid(),
47 fDisplacedSolid =
new G4DisplacedSolid(name, g4Solid, rotation, translation);
54 G4DisplacedSolid* displacedSolid, G4ReflectedSolid* reflectedDisplaced)
56 VGM::IDisplacedSolid(),
58 fDisplacedSolid(displacedSolid),
63 if (reflectedDisplaced) {
64 fToBeReflected =
true;
73 :
VGM::ISolid(),
VGM::IDisplacedSolid(),
BaseVGM::VDisplacedSolid()
80 :
VGM::ISolid(rhs),
VGM::IDisplacedSolid(rhs),
BaseVGM::VDisplacedSolid(rhs)
101 return fDisplacedSolid->GetName();
110 G4VSolid* g4Solid = fDisplacedSolid->GetConstituentMovedSolid();
124 fDisplacedSolid->GetObjectTranslation());
VGM implementation for Geant4 displaced solid.
virtual std::string Name() const
Return the name of this solid.
virtual ~DisplacedSolid()
virtual VGM::ISolid * ConstituentSolid() const
Return the constituent solid.
virtual VGM::Transform Displacement() const
Return the 3D displacement of the constituent solid.
G4VSolid * GetSolid(VGM::ISolid *iSolid) const
static SolidMap * Instance()
void AddSolid(VGM::ISolid *, G4VSolid *)
The VGM interface to solids.
VGM::Transform Transform(const CLHEP::HepRotation &rotation, const CLHEP::Hep3Vector &translation)
std::vector< double > Transform