24#include "G4ReflectedSolid.hh"
25#include "G4ScaledSolid.hh"
29 const std::string& name,
VGM::ISolid* solid,
const HepGeom::Scale3D& scale3D)
45 fScaledSolid =
new G4ScaledSolid(name, g4Solid, scale3D);
52 G4ScaledSolid* scaledSolid, G4ReflectedSolid* reflectedScaled)
56 fScaledSolid(scaledSolid),
61 if (reflectedScaled) {
62 fToBeReflected =
true;
79 :
VGM::ISolid(rhs),
VGM::IScaledSolid(rhs),
BaseVGM::VScaledSolid(rhs)
100 return fScaledSolid->GetName();
109 G4VSolid* g4Solid = fScaledSolid->GetUnscaledSolid();
VGM implementation for Geant4 Scaled solid.
virtual VGM::ISolid * ConstituentSolid() const
Return the constituent solid.
virtual std::string Name() const
Return the name of this solid.
virtual VGM::Transform Scale() const
Return the 3D scale.
G4VSolid * GetSolid(VGM::ISolid *iSolid) const
static SolidMap * Instance()
void AddSolid(VGM::ISolid *, G4VSolid *)
The VGM interface to solids.
VGM::Transform TransformScale(const HepGeom::Scale3D &scaleTransform)
std::vector< double > Transform