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;
100 return fScaledSolid->GetName();
109 G4VSolid* g4Solid = fScaledSolid->GetUnscaledSolid();
virtual VGM::ISolid * ConstituentSolid() const
Return the constituent solid.
virtual std::string Name() const
Return the name of this solid.
ScaledSolid(const std::string &name, VGM::ISolid *solid, const HepGeom::Scale3D &scale3D)
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