ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkGeometry
TrkGeometry
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
14
#include "
TrkDetDescrUtils/GeometrySignature.h
"
15
#include "
TrkGeometry/BinnedMaterial.h
"
16
#include "
TrkGeometry/TrackingVolume.h
"
17
#include "
TrkSurfaces/Surface.h
"
18
// Amg
19
#include "
GeoPrimitives/GeoPrimitives.h
"
20
21
namespace
Trk
{
22
23
class
Surface
;
24
class
MaterialProperties
;
25
35
36
class
AlignableTrackingVolume
:
public
TrackingVolume
{
37
38
public
:
40
AlignableTrackingVolume
() =
default
;
41
virtual
~AlignableTrackingVolume
()
override
=
default
;
43
AlignableTrackingVolume
(std::unique_ptr<Amg::Transform3D> htrans,
44
std::shared_ptr<VolumeBounds> volbounds,
45
const
BinnedMaterial
& matprop,
46
int
sampleID,
47
const
std::string&
volumeName
=
"undefined"
);
48
50
const
TrackingVolume
*
alignedTrackingVolume
()
const
;
52
int
identify
()
const
;
54
const
BinnedMaterial
*
binnedMaterial
()
const
;
55
56
virtual
bool
isAlignable
()
const
override final;
57
58
private
:
59
std
::
unique_ptr
<
Amg
::
Transform3D
>
m_alignment
=
nullptr
;
60
const
BinnedMaterial
m_binnedMaterial
{};
61
int
m_sampleID
{};
62
};
63
64
inline
int
AlignableTrackingVolume::identify
()
const
{
65
return
m_sampleID
;
66
}
67
68
inline
const
BinnedMaterial
*
AlignableTrackingVolume::binnedMaterial
()
const
{
69
return
&
m_binnedMaterial
;
70
}
71
72
inline
bool
AlignableTrackingVolume::isAlignable
()
const
{
73
return
true
;
74
}
75
}
// namespace Trk
76
77
#endif
// TRKGEOMETRY_ALIGNABLETRACKINGVOLUME_H
78
BinnedMaterial.h
Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
GeoPrimitives.h
GeometrySignature.h
Surface.h
TrackingVolume.h
Trk::AlignableTrackingVolume::~AlignableTrackingVolume
virtual ~AlignableTrackingVolume() override=default
Trk::AlignableTrackingVolume::isAlignable
virtual bool isAlignable() const override final
Definition
AlignableTrackingVolume.h:72
Trk::AlignableTrackingVolume::m_alignment
std::unique_ptr< Amg::Transform3D > m_alignment
Definition
AlignableTrackingVolume.h:59
Trk::AlignableTrackingVolume::m_sampleID
int m_sampleID
Definition
AlignableTrackingVolume.h:61
Trk::AlignableTrackingVolume::alignedTrackingVolume
const TrackingVolume * alignedTrackingVolume() const
returns the alignedTrackingVolume
Trk::AlignableTrackingVolume::AlignableTrackingVolume
AlignableTrackingVolume()=default
Default Constructor.
Trk::AlignableTrackingVolume::identify
int identify() const
returns the id
Definition
AlignableTrackingVolume.h:64
Trk::AlignableTrackingVolume::binnedMaterial
const BinnedMaterial * binnedMaterial() const
access to binned material
Definition
AlignableTrackingVolume.h:68
Trk::AlignableTrackingVolume::m_binnedMaterial
const BinnedMaterial m_binnedMaterial
Definition
AlignableTrackingVolume.h:60
Trk::BinnedMaterial
for description of non-homogenous dense volumes
Definition
BinnedMaterial.h:31
Trk::MaterialProperties
Material with information about thickness of material.
Definition
MaterialProperties.h:40
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Trk::TrackingVolume::TrackingVolume
TrackingVolume()=default
Default Constructor.
Trk::TrackingVolume::volumeName
const std::string & volumeName() const
Returns the VolumeName - for debug reason, might be depreciated later.
unique_ptr
STL class.
const
Amg
Definition of ATLAS Math & Geometry primitives (Amg).
Definition
AmgStringHelpers.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
std
STL namespace.
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0