 |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKGEOMETRY_DETACHEDTRACKINGVOLUME_H
10 #define TRKGEOMETRY_DETACHEDTRACKINGVOLUME_H
25 class MaterialProperties;
26 class MagneticFieldProperties;
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);
126 inline std::span<Layer const* const>
136 inline std::span<Layer* const>
148 #endif // TRKGEOMETRY_DETACHEDTRACKINGVOLUME_H
void sign(GeometrySignature signat, GeometryType geotype)
sign the volume - the geometry builder has to do that
DetachedTrackingVolume()
Default Constructor.
const TrackingVolume * trackingVolume() const
returns the TrackingVolume
friend class DetachedTrackingVolumeBuilder
void compactify(size_t &cSurfaces, size_t &tSurfaces)
Compactify – set TG as owner to surfaces.
std::unique_ptr< Amg::Transform3D > m_baseTransform
~DetachedTrackingVolume()
Destructor.
std::unique_ptr< const std::vector< Layer * > > m_multilayerRepresentation
std::unique_ptr< Layer > m_layerRepresentation
void setBaseTransform(std::unique_ptr< Amg::Transform3D > transf=nullptr)
alignment methods: set base transform / default argument to current transform
void move(Amg::Transform3D &shift)
moving object around
Eigen::Affine3d Transform3D
std::span< Layer const *const > multilayerRepresentation() const
returns (multi)layer representation
std::unique_ptr< TrackingVolume > m_trkVolume
DetachedTrackingVolume * clone(const std::string &name, Amg::Transform3D &shift) const
clone with transform
Ensure that the ATLAS eigen extensions are properly loaded.
const std::string & name() const
returns the Name
const Layer * layerRepresentation() const
returns layer representation
GeometryType geometryType() const
return the Type
GeometrySignature geometrySignature() const
return the Signature