20#ifndef ROOT_GM_PLACEMENT_H
21#define ROOT_GM_PLACEMENT_H
30class TGeoPatternFinder;
50 std::vector<const TGeoNode*> assemblyNodes);
64 virtual std::string
Name()
const;
65 virtual int CopyNo()
const;
69 double& width,
double& offset,
double& halfGap)
const;
72 std::vector<VGM::Transform>& transforms,
73 std::vector<VGM::IVolume*>& volumes)
const;
82 TGeoMatrix* transformation)
const;
85 static bool fgIncludeAssembliesInNames;
86 static char fgNameSeparator;
87 static char fgNamePrefix;
92 TGeoMatrix* fVGMMatrix;
93 std::vector<const TGeoNode*> fAssemblyNodes;
The abstract base class to positions of volumes.
VGM implementation for Root positions of volumes.
static bool GetIncludeAssembliesInNames()
static void SetNamePrefix(char namePrefix)
virtual VGM::Transform Transformation() const
Return the 3D transformation (if simple placement)
static void SetNameSeparator(char nameSeparator)
static char GetNamePrefix()
virtual VGM::PlacementType Type() const
Return the type of this placement.
static void SetIncludeAssembliesInNames(bool includeAssembliesInNames)
virtual std::string Name() const
Return the name of this placement.
static char GetNameSeparator()
virtual bool ParameterisedPlacementData(std::vector< VGM::Transform > &transforms, std::vector< VGM::IVolume * > &volumes) const
Fill the parameterised placement data if relevant and return true; return false if not parameterised ...
virtual int CopyNo() const
Return the copy number of this placement.
virtual bool MultiplePlacementData(VGM::Axis &axis, int &nofItems, double &width, double &offset, double &halfGap) const
Fill the multiple placement data if relevant and return true; return false if not multiple placement.
The VGM interface to volumes.
VGM implementation for Root.
std::vector< double > Transform