23#include "TGeoMatrix.h"
24#include "TGeoScaledShape.h"
28 const std::string& name,
VGM::ISolid* solid, TGeoScale* scale)
29 :
VGM::ISolid(),
VGM::IScaledSolid(),
BaseVGM::VScaledSolid(), fScaledShape(0)
39 fScaledShape =
new TGeoScaledShape(name.data(), rootSolid, scale);
49 fScaledShape(scaledShape)
65 :
VGM::ISolid(rhs),
VGM::IScaledSolid(rhs),
BaseVGM::VScaledSolid(rhs)
86 return fScaledShape->GetName();
95 TGeoShape* rootSolid = fScaledShape->GetShape();
VGM implementation for Root Scaled solid.
virtual VGM::ISolid * ConstituentSolid() const
Return the constituent solid.
virtual VGM::Transform Scale() const
Return the 3D scale.
virtual std::string Name() const
Return the name of this solid.
TGeoShape * GetSolid(VGM::ISolid *iSolid) const
void AddSolid(VGM::ISolid *, TGeoShape *)
static SolidMap * Instance()
The VGM interface to solids.
VGM::Transform TransformScale(const TGeoScale &scale)
std::vector< double > Transform