|
GeoModel - GeoModelCore
|
Public Member Functions | |
| GeoVPhysVol (const GeoLogVol *LogVol) | |
| GeoVPhysVol (const GeoVPhysVol &right)=delete | |
| GeoVPhysVol & | operator= (const GeoVPhysVol &right)=delete |
| bool | isShared () const |
| Query< unsigned int > | indexOf (PVConstLink daughter) const |
| 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 unsigned int | getNChildVols () const =0 |
| Returns the number of child physical volumes. | |
| virtual PVConstLink | getChildVol (unsigned int index) const =0 |
| Returns the ith child volume. | |
| virtual GeoTrf::Transform3D | getXToChildVol (unsigned int index, const GeoVAlignmentStore *store=nullptr) const =0 |
| Returns the transform to the ith volume. | |
| virtual GeoTrf::Transform3D | getDefXToChildVol (unsigned int index, const GeoVAlignmentStore *store=nullptr) const =0 |
| Returns the default transform to the ith volume. | |
| virtual std::string | getNameOfChildVol (unsigned int i) const =0 |
| Returns the name of the child. | |
| void | apply (GeoVolumeAction *action) const |
| virtual void | dockTo (GeoVPhysVol *parent) |
| virtual Query< int > | getIdOfChildVol (unsigned int i) const =0 |
| Returns the id of the child. | |
| virtual unsigned int | getNChildVolAndST () const =0 |
| Returns the number of child physical volumes and Serial Transformers. | |
| virtual GeoTrf::Transform3D | getX (const GeoVAlignmentStore *store=nullptr) const =0 |
| virtual GeoTrf::Transform3D | getDefX (const GeoVAlignmentStore *store=nullptr) const =0 |
| virtual unsigned int | getNChildNodes () const =0 |
| virtual const GeoGraphNode *const * | getChildNode (unsigned int i) const =0 |
| virtual const GeoGraphNode *const * | findChildNode (const GeoGraphNode *n) const =0 |
Public Member Functions inherited from GeoGraphNode | |
| virtual void | exec (GeoNodeAction *action) const |
Public Member Functions inherited from RCBase | |
| void | ref () const |
| void | unref () const |
| unsigned int | refCount () const |
Private Attributes | |
| const GeoVPhysVol * | m_parentPtr |
| const GeoLogVol * | m_logVol |
Definition at line 28 of file GeoVPhysVol.h.
| void GeoVPhysVol::apply | ( | GeoVolumeAction * | action | ) | const |
Applies an action to the volume. The volume executes the action and the applies it to the children, either from the top down or the bottom up, depending upon the configuration of the action.
Definition at line 44 of file GeoVPhysVol.cxx.
|
virtual |
When a node is added to a parent in the graph, the node is always notified. What happens at that time is up to the node. Most nodes do not need to do anything. Some–the alignable transforms in particular–need to take some actions, such as adding the parent volume to a list.
Reimplemented from GeoGraphNode.
Definition at line 93 of file GeoVPhysVol.cxx.
| Query< unsigned int > GeoVPhysVol::indexOf | ( | PVConstLink | daughter | ) | const |
Returns the index of a specific daughter volume. The Query class can be used just like an unsigned int, but it provides and isValid() method to determine whether it is valid and throws an exception if an invalid value is blithely used.
Definition at line 24 of file GeoVPhysVol.cxx.
|
inline |
Returns true if the physical volume is accessed by more than one parent. Should check this before trusting the parent pointer.
Definition at line 101 of file GeoVPhysVol.h.
|
private |
If one parent ...pointer=PARENT; If no parent ...pointer=nullptr. If more than one parent ...pointer=this;
Definition at line 96 of file GeoVPhysVol.h.
1.8.11