ATLAS Offline Software
Public Types | Public Member Functions | List of all members
MuonGMR4::IMuonGeoUtilityTool Class Referenceabstract

#include <IMuonGeoUtilityTool.h>

Inheritance diagram for MuonGMR4::IMuonGeoUtilityTool:
Collaboration diagram for MuonGMR4::IMuonGeoUtilityTool:

Public Types

using physVolWithTrans = GeoChildNodeWithTrf
 Helper struct to cache a PhysVolume pointer together with the transformation to go from the volume to the given parent node in the tree. More...
 

Public Member Functions

 DeclareInterfaceID (IMuonGeoUtilityTool, 1, 0)
 Gaudi interface ID. More...
 
virtual const GeoAlignableTransform * findAlignableTransform (const PVConstLink &physVol) const =0
 Returns the first alignable transform in the root subtree upstream the volume the volume must not be shared, otherwise exception is thrown. More...
 
virtual const GeoShape * extractShape (const PVConstLink &physVol) const =0
 Navigates through the volume shape hiearchy to return the first shape which is neither a shift or in case of subtractions, the overall envelope shape. More...
 
virtual const GeoShape * extractShape (const GeoShape *inShape) const =0
 Navigates through the shape hiarchy to return the first shape which is neither a shift or in case of a subtraction, the overall envelope shape. More...
 
virtual std::vector< physVolWithTransfindAllLeafNodesByName (const PVConstLink &physVol, const std::string &volumeName) const =0
 Searches through all child volumes and collects the nodes where the logical volumes have the requested name together with the transformations to go from the node to the parent physical volume. More...
 
virtual std::vector< const GeoShape * > getComponents (const GeoShape *booleanShape) const =0
 Splits a boolean shape into its building blocks. More...
 
virtual std::string dumpShape (const GeoShape *inShape) const =0
 
virtual std::string dumpVolume (const PVConstLink &physVol) const =0
 
virtual std::vector< Amg::Vector2DpolygonEdges (const GeoSimplePolygonBrep &polygon) const =0
 Transforms the vertices of the Polygon shape into a std::vector consisting of Amg::Vector2D objects. More...
 
virtual std::vector< Amg::Vector3DshapeEdges (const GeoShape *shape, const Amg::Transform3D &volTrf) const =0
 Returns the edge points of the polygon like GeoShapes. More...
 

Detailed Description

Definition at line 23 of file IMuonGeoUtilityTool.h.

Member Typedef Documentation

◆ physVolWithTrans

Helper struct to cache a PhysVolume pointer together with the transformation to go from the volume to the given parent node in the tree.

Definition at line 43 of file IMuonGeoUtilityTool.h.

Member Function Documentation

◆ DeclareInterfaceID()

MuonGMR4::IMuonGeoUtilityTool::DeclareInterfaceID ( IMuonGeoUtilityTool  ,
,
 
)

Gaudi interface ID.

◆ dumpShape()

virtual std::string MuonGMR4::IMuonGeoUtilityTool::dumpShape ( const GeoShape *  inShape) const
pure virtual

◆ dumpVolume()

virtual std::string MuonGMR4::IMuonGeoUtilityTool::dumpVolume ( const PVConstLink &  physVol) const
pure virtual

◆ extractShape() [1/2]

virtual const GeoShape* MuonGMR4::IMuonGeoUtilityTool::extractShape ( const GeoShape *  inShape) const
pure virtual

Navigates through the shape hiarchy to return the first shape which is neither a shift or in case of a subtraction, the overall envelope shape.

Parameters
inShapePointer to the shape to navigate through

◆ extractShape() [2/2]

virtual const GeoShape* MuonGMR4::IMuonGeoUtilityTool::extractShape ( const PVConstLink &  physVol) const
pure virtual

Navigates through the volume shape hiearchy to return the first shape which is neither a shift or in case of subtractions, the overall envelope shape.

Parameters
physVolReference to the GeoVPhysVol to extract the shape from

◆ findAlignableTransform()

virtual const GeoAlignableTransform* MuonGMR4::IMuonGeoUtilityTool::findAlignableTransform ( const PVConstLink &  physVol) const
pure virtual

Returns the first alignable transform in the root subtree upstream the volume the volume must not be shared, otherwise exception is thrown.

Parameters
physVolReference to the GeoVPhysVol to find the associated alignable trf

◆ findAllLeafNodesByName()

virtual std::vector<physVolWithTrans> MuonGMR4::IMuonGeoUtilityTool::findAllLeafNodesByName ( const PVConstLink &  physVol,
const std::string &  volumeName 
) const
pure virtual

Searches through all child volumes and collects the nodes where the logical volumes have the requested name together with the transformations to go from the node to the parent physical volume.

◆ getComponents()

virtual std::vector<const GeoShape*> MuonGMR4::IMuonGeoUtilityTool::getComponents ( const GeoShape *  booleanShape) const
pure virtual

Splits a boolean shape into its building blocks.

◆ polygonEdges()

virtual std::vector<Amg::Vector2D> MuonGMR4::IMuonGeoUtilityTool::polygonEdges ( const GeoSimplePolygonBrep &  polygon) const
pure virtual

Transforms the vertices of the Polygon shape into a std::vector consisting of Amg::Vector2D objects.

◆ shapeEdges()

virtual std::vector<Amg::Vector3D> MuonGMR4::IMuonGeoUtilityTool::shapeEdges ( const GeoShape *  shape,
const Amg::Transform3D volTrf 
) const
pure virtual

Returns the edge points of the polygon like GeoShapes.


The documentation for this class was generated from the following file: