Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
AlignableTrackingVolume.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // AlignableTrackingVolume.h, (c) ATLAS Detector software
8 
9 #ifndef TRKGEOMETRY_ALIGNABLETRACKINGVOLUME_H
10 #define TRKGEOMETRY_ALIGNABLETRACKINGVOLUME_H
11 
12 class MsgStream;
13 
17 #include "TrkSurfaces/Surface.h"
18 // Amg
20 
21 namespace Trk {
22 
23 class Surface;
24 class MaterialProperties;
25 
37 
38  public:
41  virtual ~AlignableTrackingVolume() override = default;
44  Amg::Transform3D* align,
45  VolumeBounds* volbounds,
46  const BinnedMaterial* matprop,
47  int sampleID,
48  const std::string& volumeName = "undefined");
49 
53  int identify() const;
55  const BinnedMaterial* binnedMaterial() const;
56 
57  virtual bool isAlignable() const override final;
58 
59  private:
60  std::unique_ptr<Amg::Transform3D> m_alignment = nullptr;
61  std::unique_ptr<TrackingVolume> m_alignedTV = nullptr;
62  std::unique_ptr<const BinnedMaterial> m_binnedMaterial = nullptr;
63  int m_sampleID{};
64 };
65 
67  return m_sampleID;
68 }
69 
71  return m_binnedMaterial.get();
72 }
73 
75  return true;
76 }
77 } // namespace Trk
78 
79 #endif // TRKGEOMETRY_ALIGNABLETRACKINGVOLUME_H
80 
BinnedMaterial.h
GeometrySignature.h
Surface.h
Trk::BinnedMaterial
Definition: BinnedMaterial.h:31
Trk::AlignableTrackingVolume::~AlignableTrackingVolume
virtual ~AlignableTrackingVolume() override=default
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Trk::AlignableTrackingVolume::binnedMaterial
const BinnedMaterial * binnedMaterial() const
access to binned material
Definition: AlignableTrackingVolume.h:70
GeoPrimitives.h
Trk::VolumeBounds
Definition: VolumeBounds.h:45
Trk::AlignableTrackingVolume::m_alignedTV
std::unique_ptr< TrackingVolume > m_alignedTV
Definition: AlignableTrackingVolume.h:61
Trk::AlignableTrackingVolume::m_alignment
std::unique_ptr< Amg::Transform3D > m_alignment
Definition: AlignableTrackingVolume.h:60
Trk::AlignableTrackingVolume::identify
int identify() const
returns the id
Definition: AlignableTrackingVolume.h:66
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::AlignableTrackingVolume::isAlignable
virtual bool isAlignable() const override final
Definition: AlignableTrackingVolume.h:74
Trk::AlignableTrackingVolume::alignedTrackingVolume
const TrackingVolume * alignedTrackingVolume() const
returns the alignedTrackingVolume
Definition: AlignableTrackingVolume.cxx:32
Trk::AlignableTrackingVolume::m_binnedMaterial
std::unique_ptr< const BinnedMaterial > m_binnedMaterial
Definition: AlignableTrackingVolume.h:62
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackingVolume::volumeName
const std::string & volumeName() const
Returns the VolumeName - for debug reason, might be depreciated later.
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
Trk::AlignableTrackingVolume::AlignableTrackingVolume
AlignableTrackingVolume()=default
Default Constructor.
TrackingVolume.h
Trk::AlignableTrackingVolume::m_sampleID
int m_sampleID
Definition: AlignableTrackingVolume.h:63
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Trk::AlignableTrackingVolume
Definition: AlignableTrackingVolume.h:36