![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUONTRACKINGGEOMETRY_MUONSTATIONTYPEBUILDER_H
6 #define MUONTRACKINGGEOMETRY_MUONSTATIONTYPEBUILDER_H
30 class CuboidVolumeBounds;
31 class TrapezoidVolumeBounds;
32 class DoubleTrapezoidVolumeBounds;
35 class GeoMaterialConverter;
36 class MaterialProperties;
40 class MuonDetectorManager;
57 std::vector<std::unique_ptr<Trk::MaterialProperties>>
m_mdtFoamMat{};
58 std::unique_ptr<Trk::MaterialProperties>
m_rpc46{};
59 std::vector<std::unique_ptr<Trk::MaterialProperties>>
m_rpcDed{};
93 const std::string&
name,
99 const GeoVPhysVol* gv,
103 const GeoVPhysVol* gv,
110 double,
Cache&)
const;
117 const std::vector<const GeoVPhysVol*>& childVols,
118 const std::vector<Amg::Transform3D>& childVolsTrf,
122 std::vector<const GeoVPhysVol*>,
123 std::vector<Amg::Transform3D>)
const;
138 std::pair<std::unique_ptr<Trk::Layer>,
146 double decodeX(
const GeoShape*)
const;
170 "Trk::TrackingVolumeArrayCreator/TrackingVolumeArrayCreator"};
180 #endif // MUONTRACKINGGEOMETRY_MUONSTATIONTYPEBUILDER_H
static const InterfaceID & interfaceID()
Interface methode.
std::unique_ptr< Trk::DetachedTrackingVolume > process_MM(const Identifier &id, const GeoVPhysVol *gv, const Amg::Transform3D &transf) const
Trk::MaterialProperties collectStationMaterial(const Trk::TrackingVolume &trVol, double) const
Ensure that the Athena extensions are properly loaded.
std::unique_ptr< Trk::TrackingVolume > processCscStation(const GeoVPhysVol *cv, const std::string &name, Cache &) const
std::unique_ptr< Trk::LayerArray > processCSCDiamondComponent(const GeoVPhysVol *, const Trk::DoubleTrapezoidVolumeBounds &, const Amg::Transform3D &, Cache &) const
std::unique_ptr< Trk::TrackingVolume > processMdtTrd(const Trk::Volume &trkVol, const GeoVPhysVol *, const Amg::Transform3D &, Cache &) const
std::unique_ptr< Trk::LayerArray > processCSCTrdComponent(const GeoVPhysVol *, const Trk::TrapezoidVolumeBounds &, const Amg::Transform3D &, Cache &) const
std::unique_ptr< Trk::MaterialProperties > m_rpc46
double envelopeThickness(const Trk::VolumeBounds &vb) const
std::vector< std::unique_ptr< Trk::MaterialProperties > > m_mdtFoamMat
StatusCode initialize()
AlgTool initailize method.
double get_x_size(const GeoVPhysVol *) const
std::unique_ptr< Trk::MaterialProperties > m_rpcExtPanel
std::unique_ptr< Trk::MaterialProperties > m_rpcLayer
Trk::VolumeConverter m_volumeConverter
Trk::GeoShapeConverter m_geoShapeConverter
std::unique_ptr< Trk::TrackingVolume > processMdtBox(const Trk::Volume &trkVol, const GeoVPhysVol *, const Amg::Transform3D &, double, Cache &) const
components
std::unique_ptr< Trk::SurfaceBounds > getLayerBoundsFromEnvelope(const Trk::Volume &envelope) const
This class provides conversion from CSC RDO data to CSC Digits.
std::unique_ptr< const Trk::Material > m_muonMaterial
the material
std::unique_ptr< Trk::LayerArray > processTGCComponent(const GeoVPhysVol *, const Trk::TrapezoidVolumeBounds &, const Amg::Transform3D &, Cache &) const
double decodeX(const GeoShape *) const
std::unique_ptr< Trk::TrackingVolumeArray > processTrdStationComponents(const GeoVPhysVol *cv, const Trk::TrapezoidVolumeBounds &envBounds, Cache &) const
std::unique_ptr< Trk::MaterialProperties > m_matCSC02
MuonStationTypeBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
std::unique_ptr< Trk::TrackingVolume > processTgcStation(const GeoVPhysVol *cv, Cache &) const
::StatusCode StatusCode
StatusCode definition for legacy code.
std::unique_ptr< Trk::MaterialProperties > m_matTGC06
Eigen::Affine3d Transform3D
double area(const Trk::SurfaceBounds &sb) const
std::unique_ptr< Trk::MaterialProperties > m_matCSCspacer1
ToolHandle< Trk::ITrackingVolumeArrayCreator > m_trackingVolumeArrayCreator
std::unique_ptr< Trk::TrackingVolume > processRpc(const Trk::Volume &inVol, const std::vector< const GeoVPhysVol * > &childVols, const std::vector< Amg::Transform3D > &childVolsTrf, Cache &) const
std::pair< std::unique_ptr< Trk::Layer >, std::vector< std::unique_ptr< Trk::Layer > > > createLayerRepresentation(Trk::TrackingVolume &trVol) const
std::unique_ptr< Trk::MaterialProperties > m_matTGC01
std::unique_ptr< Trk::DetachedTrackingVolume > process_sTGC(const Identifier &id, const GeoVPhysVol *gv, const Amg::Transform3D &transf) const
Ensure that the ATLAS eigen extensions are properly loaded.
std::unique_ptr< Trk::MaterialProperties > m_matCSCspacer2
virtual ~MuonStationTypeBuilder()=default
Destructor.
std::unique_ptr< Trk::MaterialProperties > m_matCSC01
std::unique_ptr< Trk::MaterialProperties > m_rpcMidPanel
Trk::GeoMaterialConverter m_materialConverter
StatusCode finalize()
AlgTool finalize method.
Trk::MaterialProperties getAveragedLayerMaterial(const GeoVPhysVol *, double, double) const
std::vector< std::unique_ptr< Trk::Layer > > processBoxComponentsArbitrary(const GeoVPhysVol *mv, const Trk::CuboidVolumeBounds &envBounds, Cache &cache) const
Identifier identifyNSW(const std::string &, const Amg::Transform3D &) const
void printVolumeBounds(std::string comment, const Trk::VolumeBounds &vb) const
Gaudi::Property< bool > m_resolveSpacer
std::vector< std::unique_ptr< Trk::MaterialProperties > > m_rpcDed
Gaudi::Property< bool > m_multilayerRepresentation
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
std::unique_ptr< Trk::MaterialProperties > m_mdtTubeMat
std::unique_ptr< Trk::TrackingVolume > processSpacer(const Trk::Volume &, std::vector< const GeoVPhysVol * >, std::vector< Amg::Transform3D >) const
std::unique_ptr< Trk::TrackingVolumeArray > processBoxStationComponents(const GeoVPhysVol *cv, const Trk::CuboidVolumeBounds &envBounds, Cache &) const
steering routine