ATLAS Offline Software
AlignableTrackingVolume.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // AlignableTrackingVolume.cxx, (c) ATLAS Detector software
8 
9 // Trk
11 
14 
16  : Trk::TrackingVolume(),
17  m_alignedTV(nullptr),
18  m_sampleID(0),
19  m_alignment(nullptr),
20  m_binnedMaterial(nullptr) {}
21 
23  Amg::Transform3D* htrans, Amg::Transform3D* align, VolumeBounds* volbounds,
24  const Trk::BinnedMaterial* matprop, int sampleID,
25  const std::string& volumeName)
26  : Trk::TrackingVolume(htrans, volbounds, *matprop, nullptr, nullptr,
27  volumeName),
28  m_alignedTV(nullptr),
29  m_sampleID(sampleID),
30  m_alignment(align),
31  m_binnedMaterial(matprop) {
33 }
34 
36  // the volume does not own entry/exit surfaces
37  delete m_alignedTV;
38  delete m_alignment;
39  delete m_binnedMaterial;
40 }
41 
43  const {
44  if (m_alignedTV) return m_alignedTV;
45  return this;
46 }
Trk::AlignableTrackingVolume::~AlignableTrackingVolume
virtual ~AlignableTrackingVolume() override
Destructor.
Definition: AlignableTrackingVolume.cxx:35
Trk::AlignableTrackingVolume::m_alignedTV
const TrackingVolume * m_alignedTV
Definition: AlignableTrackingVolume.h:65
Trk::BinnedMaterial
Definition: BinnedMaterial.h:38
VolumeBounds.h
Trk::AlignableTrackingVolume::m_alignment
Amg::Transform3D * m_alignment
Definition: AlignableTrackingVolume.h:67
Trk::VolumeBounds
Definition: VolumeBounds.h:45
Trk::TrackingVolume::cloneTV
TrackingVolume * cloneTV(Amg::Transform3D &transform) const
clone at new position
Definition: TrackingVolume.cxx:1235
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::AlignableTrackingVolume::alignedTrackingVolume
const TrackingVolume * alignedTrackingVolume() const
returns the alignedTrackingVolume
Definition: AlignableTrackingVolume.cxx:42
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::AlignableTrackingVolume::AlignableTrackingVolume
AlignableTrackingVolume()
Default Constructor.
Definition: AlignableTrackingVolume.cxx:15
TrackingVolume.h
Trk::TrackingVolume
Definition: TrackingVolume.h:121
AlignableTrackingVolume.h