20#ifndef ROOT_GM_MULTI_UNION_H
21#define ROOT_GM_MULTI_UNION_H
27#include "TGeoMatrix.h"
30class TGeoCompositeShape;
38 MultiUnion(
const std::string& name, std::vector<VGM::ISolid*> constituents,
39 std::vector<TGeoMatrix*> transforms);
43 virtual std::string
Name()
const;
55 static const char fgkUnionChar;
56 static const char fgkSeparator;
58 TGeoCompositeShape* fCompositeShape;
60 std::vector<VGM::ISolid*> fConstituents;
61 std::vector<TGeoMatrix*> fTransforms;
The ABC for Boolean solids.
VGM implementation for Root Boolean solid.
virtual bool ToBeReflected() const
Return true if the solid has to be first reflected before being placed.
virtual std::string Name() const
Return the name of this solid.
virtual int NofSolids() const
Return the number of constituent solids.
virtual ISolid * ConstituentSolid(int index) const
Return the i-th constituent solid.
virtual VGM::Transform Transformation(int index) const
Return the displacement of the ith constituent solid.
VGM implementation for Root.
std::vector< double > Transform