ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonDetDescr
MuonGeoModelR4
MuonGeoModelR4
IMuonGeoUtilityTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef MUONGEOMODELR4_IMUONGEOUTILITYTOOL_H
5
#define MUONGEOMODELR4_IMUONGEOUTILITYTOOL_H
6
7
8
#include "
GeoPrimitives/GeoPrimitives.h
"
10
11
#include <GeoModelKernel/GeoFullPhysVol.h>
12
#include <GeoModelKernel/GeoPhysVol.h>
13
#include <GeoModelKernel/GeoShape.h>
14
#include <GeoModelKernel/GeoSimplePolygonBrep.h>
15
#include <GeoModelKernel/GeoAlignableTransform.h>
16
#include <GeoModelHelpers/getChildNodesWithTrf.h>
17
#include <GaudiKernel/IAlgTool.h>
18
19
class
GeoShapeUnion;
20
21
namespace
MuonGMR4
{
22
23
class
IMuonGeoUtilityTool
:
virtual
public
IAlgTool {
24
public
:
26
DeclareInterfaceID
(
IMuonGeoUtilityTool
, 1, 0);
27
31
virtual
const
GeoAlignableTransform*
findAlignableTransform
(
const
PVConstLink& physVol)
const
= 0;
35
virtual
const
GeoShape*
extractShape
(
const
PVConstLink& physVol)
const
= 0;
39
virtual
const
GeoShape*
extractShape
(
const
GeoShape* inShape)
const
= 0;
40
43
using
physVolWithTrans
= GeoChildNodeWithTrf;
46
virtual
std::vector<physVolWithTrans>
findAllLeafNodesByName
(
const
PVConstLink& physVol,
const
std::string& volumeName)
const
= 0;
48
virtual
std::vector<const GeoShape*>
getComponents
(
const
GeoShape* booleanShape)
const
= 0;
49
51
virtual
std::string
dumpShape
(
const
GeoShape* inShape)
const
= 0;
53
virtual
std::string
dumpVolume
(
const
PVConstLink& physVol)
const
= 0;
55
virtual
std::vector<Amg::Vector2D>
polygonEdges
(
const
GeoSimplePolygonBrep& polygon)
const
= 0;
56
58
virtual
std::vector<Amg::Vector3D>
shapeEdges
(
const
GeoShape* shape,
59
const
Amg::Transform3D
& volTrf)
const
= 0;
60
61
62
};
63
64
}
65
#endif
GeoPrimitives.h
MuonGMR4::IMuonGeoUtilityTool
Definition
IMuonGeoUtilityTool.h:23
MuonGMR4::IMuonGeoUtilityTool::getComponents
virtual std::vector< const GeoShape * > getComponents(const GeoShape *booleanShape) const =0
Splits a boolean shape into its building blocks.
MuonGMR4::IMuonGeoUtilityTool::extractShape
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 ...
MuonGMR4::IMuonGeoUtilityTool::DeclareInterfaceID
DeclareInterfaceID(IMuonGeoUtilityTool, 1, 0)
Gaudi interface ID.
MuonGMR4::IMuonGeoUtilityTool::findAllLeafNodesByName
virtual std::vector< physVolWithTrans > findAllLeafNodesByName(const PVConstLink &physVol, const std::string &volumeName) const =0
Searches through all child volumes and collects the nodes where the logical volumes have the requeste...
MuonGMR4::IMuonGeoUtilityTool::dumpShape
virtual std::string dumpShape(const GeoShape *inShape) const =0
MuonGMR4::IMuonGeoUtilityTool::extractShape
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 ...
MuonGMR4::IMuonGeoUtilityTool::dumpVolume
virtual std::string dumpVolume(const PVConstLink &physVol) const =0
MuonGMR4::IMuonGeoUtilityTool::polygonEdges
virtual std::vector< Amg::Vector2D > polygonEdges(const GeoSimplePolygonBrep &polygon) const =0
Transforms the vertices of the Polygon shape into a std::vector consisting of Amg::Vector2D objects.
MuonGMR4::IMuonGeoUtilityTool::physVolWithTrans
GeoChildNodeWithTrf physVolWithTrans
Helper struct to cache a PhysVolume pointer together with the transformation to go from the volume to...
Definition
IMuonGeoUtilityTool.h:43
MuonGMR4::IMuonGeoUtilityTool::shapeEdges
virtual std::vector< Amg::Vector3D > shapeEdges(const GeoShape *shape, const Amg::Transform3D &volTrf) const =0
Returns the edge points of the polygon like GeoShapes.
MuonGMR4::IMuonGeoUtilityTool::findAlignableTransform
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 ...
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition
MdtCalibInput.h:19
Generated on
for ATLAS Offline Software by
1.17.0