#include <MuonGeoUtilityTool.h>
Definition at line 18 of file MuonGeoUtilityTool.h.
◆ ~MuonGeoUtilityTool()
| MuonGMR4::MuonGeoUtilityTool::~MuonGeoUtilityTool |
( |
| ) |
|
|
finaloverridevirtualdefault |
◆ dumpShape()
| std::string MuonGMR4::MuonGeoUtilityTool::dumpShape |
( |
const GeoShape * | inShape | ) |
const |
|
finaloverride |
◆ dumpVolume()
| std::string MuonGMR4::MuonGeoUtilityTool::dumpVolume |
( |
const PVConstLink & | physVol | ) |
const |
|
finaloverride |
◆ extractShape() [1/2]
| const GeoShape * MuonGMR4::MuonGeoUtilityTool::extractShape |
( |
const GeoShape * | inShape | ) |
const |
|
finaloverride |
Definition at line 40 of file MuonGeoUtilitiyTool.cxx.
40 {
41
42 if (inShape->typeID() == GeoShapeShift::getClassTypeID()) {
43 const auto shift = dynamic_pointer_cast<const GeoShapeShift>(compressShift(inShape));
45 "Shape is a shift by "<<GeoTrf::toString(shift->getX())
46 << ". Continue navigation "<<printGeoShape(shift));
48 }
49 if (inShape->typeID() == GeoShapeSubtraction::getClassTypeID()){
51 "Shape is a subtraction. Extract the basic shape. Continue navigation "<<inShape);
52 const GeoShapeSubtraction* subtract = static_cast<const GeoShapeSubtraction*>(inShape);
54 }
55 return inShape;
56}
#define ATH_MSG_VERBOSE(x)
◆ extractShape() [2/2]
| const GeoShape * MuonGMR4::MuonGeoUtilityTool::extractShape |
( |
const PVConstLink & | physVol | ) |
const |
|
finaloverride |
◆ findAlignableTransform()
| const GeoAlignableTransform * MuonGMR4::MuonGeoUtilityTool::findAlignableTransform |
( |
const PVConstLink & | physVol | ) |
const |
|
finaloverride |
Definition at line 59 of file MuonGeoUtilitiyTool.cxx.
59 {
60 PVConstLink
parent{physVol->getParent()}, child{physVol};
61 while (parent) {
62 const GeoGraphNode *
const * node1 =
parent->findChildNode(child);
63 const GeoGraphNode *
const * fence =
parent->getChildNode(0);
64 for(
const GeoGraphNode *
const * current = node1 - 1;
current>=fence;
current--) {
66 if (dynamic_cast<const GeoVPhysVol*>(node)) {
67 break;
68 }
69 const GeoAlignableTransform* alignTrans{
dynamic_cast<const GeoAlignableTransform*
>(
node)};
70 if (alignTrans) {
71 return alignTrans;
72 }
73 }
75 parent = child->getParent();
76 }
77 return nullptr;
78}
◆ findAllLeafNodesByName()
| std::vector< MuonGeoUtilityTool::physVolWithTrans > MuonGMR4::MuonGeoUtilityTool::findAllLeafNodesByName |
( |
const PVConstLink & | physVol, |
|
|
const std::string & | volumeName ) const |
|
finaloverride |
Definition at line 80 of file MuonGeoUtilitiyTool.cxx.
80 {
81 return getAllSubVolumes(physVol,[&volumeName](
const physVolWithTrans& child){
82 return child.volume->getLogVol()->getName() == volumeName || child.nodeName == volumeName;
83 });
84}
IMuonGeoUtilityTool::physVolWithTrans physVolWithTrans
◆ getComponents()
| std::vector< const GeoShape * > MuonGMR4::MuonGeoUtilityTool::getComponents |
( |
const GeoShape * | booleanShape | ) |
const |
|
finaloverride |
◆ polygonEdges()
| std::vector< Amg::Vector2D > MuonGMR4::MuonGeoUtilityTool::polygonEdges |
( |
const GeoSimplePolygonBrep & | polygon | ) |
const |
|
override |
Transforms the vertices of the Polygon shape into a std::vector consisting of Amg::Vector2D objects.
Definition at line 89 of file MuonGeoUtilitiyTool.cxx.
89 {
92 for (
unsigned int i = 0;
i < polygon.getNVertices(); ++
i) {
93 polygonEdges.emplace_back(polygon.getXVertex(i), polygon.getYVertex(i));
95 }
97}
◆ shapeEdges()
The documentation for this class was generated from the following files: