9#ifndef MUONTRACKINGGEOMETRY_MUONINERTMATERIALBUILDERIMPL_H
10#define MUONTRACKINGGEOMETRY_MUONINERTMATERIALBUILDERIMPL_H
25#include "GaudiKernel/ToolHandle.h"
27#include "GeoModelKernel/GeoVPhysVol.h"
58 using DetachedVolVec = std::vector<std::unique_ptr<Trk::DetachedTrackingVolume>>;
70 std::vector<std::pair<std::unique_ptr<Trk::DetachedTrackingVolume>,
71 std::vector<Amg::Transform3D>>>;
79 std::vector<std::pair<
const GeoVPhysVol*,
80 std::vector<Amg::Transform3D>>>& vols)
const;
82 void printInfo(
const GeoVPhysVol* pv)
const;
86 this,
"SimplifyGeometry",
89 this,
"SimplifyGeometryToLayers",
92 this,
"DebugMode",
false};
94 Gaudi::Property<bool>
m_buildBT{
this,
"BuildBarrelToroids",
96 Gaudi::Property<bool>
m_buildECT{
this,
"BuildEndcapToroids",
Gaudi::Property< double > m_blendLimit
std::vector< std::unique_ptr< Trk::DetachedTrackingVolume > > DetachedVolVec
Gaudi::Property< bool > m_simplifyToLayers
Trk::GeoShapeConverter m_geoShapeConverter
shape converter
Trk::VolumeConverter m_volumeConverter
gm->trk volume helper
DetachedVolVec buildDetachedTrackingVolumesImpl(const PVConstLink &treeTop, bool blend) const
Gaudi::Property< bool > m_buildNSWInert
Gaudi::Property< bool > m_simplify
void getObjsForTranslation(const GeoVPhysVol *pv, const Amg::Transform3D &, std::vector< std::pair< const GeoVPhysVol *, std::vector< Amg::Transform3D > > > &vols) const
Method extracting material objects from GeoModel tree.
Gaudi::Property< bool > m_buildShields
Trk::GMTreeBrowser m_gmBrowser
gm tree helper
Gaudi::Property< bool > m_debugMode
MuonInertMaterialBuilderImpl(const std::string &, const std::string &, const IInterface *)
Constructor.
virtual ~MuonInertMaterialBuilderImpl()=default
Destructor.
Gaudi::Property< bool > m_buildECT
Gaudi::Property< bool > m_buildFeets
DetachedVolumeVecWithTrfs buildDetachedTrackingVolumeTypes(const PVConstLink &top, bool blend) const
virtual StatusCode initialize() override
AlgTool initialize method.
void printInfo(const GeoVPhysVol *pv) const
Dump from GeoModel tree.
void printChildren(const GeoVPhysVol *pv) const
std::vector< std::pair< std::unique_ptr< Trk::DetachedTrackingVolume >, std::vector< Amg::Transform3D > > > DetachedVolumeVecWithTrfs
Method creating material object prototypes.
Gaudi::Property< bool > m_buildSupports
Gaudi::Property< bool > m_buildBT
Gaudi::Property< int > m_buildRails
A Helper Class that facilitates navigation through GeoModel tree.
A Simple Helper Class that convertes the GeoShape object used in GeoModel full detector description t...
The only way to change BoundarySurfaces etc from Tracking Volumes.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
A Simple Helper Class that collects methods for material simplification.
Eigen::Affine3d Transform3D
Ensure that the Athena extensions are properly loaded.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.