5 #ifndef GEOMODELKERNEL_GEOVPHYSVOL_H 6 #define GEOMODELKERNEL_GEOVPHYSVOL_H 8 #include "GeoModelKernel/GeoPVLink.h" 18 #include "GeoModelKernel/GeoDefinitions.h" 19 #include "GeoModelKernel/Query.h" 22 #include "GeoModelKernel/GeoLogVol.h" 23 #include "GeoModelKernel/GeoGraphNode.h" 84 virtual GeoTrf::Transform3D getDefX (
const GeoVAlignmentStore* store=
nullptr)
const = 0;
85 virtual unsigned int getNChildNodes()
const=0;
86 virtual const GeoGraphNode *
const *getChildNode (
unsigned int i)
const=0;
virtual GeoTrf::Transform3D getXToChildVol(unsigned int index, const GeoVAlignmentStore *store=nullptr) const =0
Returns the transform to the ith volume.
A Logical Volume, or agglomeration of shape and material. The logical volume increases the reference ...
virtual std::string getNameOfChildVol(unsigned int i) const =0
Returns the name of the child.
Abstract base class for GeoModel alignment stores The interface allows to store/retrieve transformati...
This type of action sees and traverses a simpler tree of positioned volumes. It does not descend into...
virtual PVConstLink getChildVol(unsigned int index) const =0
Returns the ith child volume.
void apply(GeoVolumeAction *action) const
virtual void dockTo(GeoVPhysVol *parent)
PVConstLink getParent() const
Gets the parent, if the parent is unique, and otherwise returns a nullptr pointer.
const GeoLogVol * getLogVol() const
Returns the logical volume.
virtual GeoTrf::Transform3D getDefXToChildVol(unsigned int index, const GeoVAlignmentStore *store=nullptr) const =0
Returns the default transform to the ith volume.
virtual Query< int > getIdOfChildVol(unsigned int i) const =0
Returns the id of the child.
Smart pointer to physical volume... constant.
virtual unsigned int getNChildVolAndST() const =0
Returns the number of child physical volumes and Serial Transformers.
Query< unsigned int > indexOf(PVConstLink daughter) const
Represents Nodes that can be assembled together to make a graph. Subclasses (for now): ...
const GeoVPhysVol * m_parentPtr
virtual unsigned int getNChildVols() const =0
Returns the number of child physical volumes.