9#ifndef TRKGEOMETRY_DETACHEDTRACKINGVOLUME_H
10#define TRKGEOMETRY_DETACHEDTRACKINGVOLUME_H
53 std::unique_ptr<TrackingVolume> vol,
54 std::unique_ptr<Layer> layer,
55 std::unique_ptr<
const std::vector<Layer*>> multilayer =
nullptr);
65 const std::string&
name()
const;
97 void compactify(
size_t& cSurfaces,
size_t& tSurfaces);
126inline std::span<Layer const* const>
136inline std::span<Layer* const>
std::unique_ptr< Layer > m_layerRepresentation
void move(Amg::Transform3D &shift)
moving object around
DetachedTrackingVolume * clone(const std::string &name, Amg::Transform3D &shift) const
clone with transform
GeometrySignature geometrySignature() const
return the Signature
friend class IDetachedTrackingVolumeBuilder
DetachedTrackingVolume()
Default Constructor.
void sign(GeometrySignature signat, GeometryType geotype)
sign the volume - the geometry builder has to do that
const std::string & name() const
returns the Name
GeometryType geometryType() const
return the Type
const Layer * layerRepresentation() const
returns layer representation
std::unique_ptr< Amg::Transform3D > m_baseTransform
std::unique_ptr< const std::vector< Layer * > > m_multilayerRepresentation
friend class TrackingVolume
Declare the IDetachedTrackingVolumeBuilder as a friend, to be able to change the volumelink.
const TrackingVolume * trackingVolume() const
returns the TrackingVolume
void setBaseTransform(std::unique_ptr< Amg::Transform3D > transf=nullptr)
alignment methods: set base transform / default argument to current transform
std::unique_ptr< TrackingVolume > m_trkVolume
~DetachedTrackingVolume()
Destructor.
friend class DetachedTrackingVolumeBuilder
void compactify(size_t &cSurfaces, size_t &tSurfaces)
Compactify – set TG as owner to surfaces.
std::span< Layer const *const > multilayerRepresentation() const
returns (multi)layer representation
Base Class for a Detector Layer in the Tracking realm.
magnetic field properties to steer the behavior of the extrapolation
Material with information about thickness of material.
Abstract Base Class for tracking surfaces.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Eigen::Affine3d Transform3D
Ensure that the ATLAS eigen extensions are properly loaded.