ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkVolumes
TrkVolumes
BoundarySubtractedCylinderSurface.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// BoundarySubtractedCylinderSurface.h, (c) ATLAS Detector software
8
9
#ifndef TRKVOLUMES_BOUNDARYSUBTRACTEDCYLIMDERSURFACE_H
10
#define TRKVOLUMES_BOUNDARYSUBTRACTEDCYLIMDERSURFACE_H
11
12
// Trk
13
#include "
GeoPrimitives/GeoPrimitives.h
"
14
#include "
TrkEventPrimitives/PropDirection.h
"
15
#include "
TrkGeometrySurfaces/SubtractedCylinderSurface.h
"
16
#include "
TrkParameters/TrackParameters.h
"
17
#include "
TrkVolumes/BoundarySurface.h
"
18
19
namespace
Trk
{
20
21
// class TrackParameters;
22
class
Volume
;
23
26
27
BoundarySubtractedCylinderSurface description inside the tracking realm,
28
it extends the Surface description to make a surface being a boundary of a
29
Trk::Volume
30
31
@author Andreas.Salzburger@cern.ch
32
@author Christos Anastopoulos (Athena MT modifications)
33
*/
34
35
template
<
class
Tvol>
36
class
BoundarySubtractedCylinderSurface
final
37
:
public
BoundarySurface
<Tvol>,
38
public
SubtractedCylinderSurface
{
40
typedef
BinnedArray<Tvol>
VolumeArray
;
41
42
public
:
44
BoundarySubtractedCylinderSurface
() =
default
;
45
47
BoundarySubtractedCylinderSurface
(
48
const
BoundarySubtractedCylinderSurface<Tvol>
& bcs) =
default
;
49
51
virtual
~BoundarySubtractedCylinderSurface
() =
default
;
52
54
BoundarySubtractedCylinderSurface
&
operator=
(
55
const
BoundarySubtractedCylinderSurface
& vol) =
default
;
56
58
BoundarySubtractedCylinderSurface
(
const
Tvol*
inside
,
const
Tvol*
outside
,
59
const
SubtractedCylinderSurface
& csf)
60
:
BoundarySurface
<Tvol>(
inside
,
outside
),
61
SubtractedCylinderSurface
(csf) {}
62
64
BoundarySubtractedCylinderSurface
(std::shared_ptr<const VolumeArray> insideArray,
65
std::shared_ptr<const VolumeArray> outsideArray,
66
const
SubtractedCylinderSurface
& csf)
67
:
BoundarySurface
<Tvol>(insideArray, outsideArray),
68
SubtractedCylinderSurface
(csf) {}
69
71
BoundarySubtractedCylinderSurface
(
const
Tvol*
inside
,
const
Tvol*
outside
,
72
const
SubtractedCylinderSurface
& csf,
73
const
Amg::Transform3D
& tr)
74
:
BoundarySurface
<Tvol>(
inside
,
outside
),
75
SubtractedCylinderSurface
(csf, tr) {}
76
83
virtual
const
Tvol*
attachedVolume
(
const
TrackParameters
& parms,
84
PropDirection
dir)
const
override
final
;
85
88
virtual
const
Tvol*
attachedVolume
(
const
Amg::Vector3D
& pos,
89
const
Amg::Vector3D
& mom,
90
PropDirection
dir)
const
override
final
;
91
93
virtual
const
Surface
&
surfaceRepresentation
()
const
override final;
94
virtual
Surface
&
surfaceRepresentation
() override final;
95
};
96
97
// Hash include the inline functions
98
#include "TrkVolumes/BoundarySubtractedCylinderSurface.icc"
99
100
}
// end of namespace Trk
101
102
#endif
// TRKVOLUMES_BOUNDARYSUBTRACTEDCYLINDERSURFACE_H
103
BoundarySurface.h
GeoPrimitives.h
PropDirection.h
SubtractedCylinderSurface.h
TrackParameters.h
Trk::BinnedArray
Binned Array for avoiding map searches/.
Definition
BinnedArray.h:36
Trk::BoundarySubtractedCylinderSurface::VolumeArray
BinnedArray< Tvol > VolumeArray
typedef the BinnedArray
Definition
BoundarySubtractedCylinderSurface.h:40
Trk::BoundarySubtractedCylinderSurface::operator=
BoundarySubtractedCylinderSurface & operator=(const BoundarySubtractedCylinderSurface &vol)=default
Assignment operator.
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface(const BoundarySubtractedCylinderSurface< Tvol > &bcs)=default
Copy constructor.
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface()=default
Default Constructor - needed for pool and inherited classes.
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface(std::shared_ptr< const VolumeArray > insideArray, std::shared_ptr< const VolumeArray > outsideArray, const SubtractedCylinderSurface &csf)
Constructor for a Boundary with two VolumeArrays attached to it.
Definition
BoundarySubtractedCylinderSurface.h:64
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface(const Tvol *inside, const Tvol *outside, const SubtractedCylinderSurface &csf)
Constructor for a Boundary with exact two Volumes attached to it.
Definition
BoundarySubtractedCylinderSurface.h:58
Trk::BoundarySubtractedCylinderSurface::surfaceRepresentation
virtual const Surface & surfaceRepresentation() const override final
The Surface Representation of this.
Definition
BoundarySubtractedCylinderSurface.h:12
Trk::BoundarySubtractedCylinderSurface::~BoundarySubtractedCylinderSurface
virtual ~BoundarySubtractedCylinderSurface()=default
Virtual Destructor.
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface(const Tvol *inside, const Tvol *outside, const SubtractedCylinderSurface &csf, const Amg::Transform3D &tr)
Copy constructor with a shift.
Definition
BoundarySubtractedCylinderSurface.h:71
Trk::BoundarySubtractedCylinderSurface::attachedVolume
virtual const Tvol * attachedVolume(const TrackParameters &parms, PropDirection dir) const override final
Get the next Volume depending on the TrackParameters and the requested direction, gives back 0 if the...
Definition
BoundarySubtractedCylinderSurface.h:26
Trk::BoundarySurface::BoundarySurface
BoundarySurface()=default
Default Constructor - needed for pool and inherited classes.
Trk::SubtractedCylinderSurface::SubtractedCylinderSurface
SubtractedCylinderSurface()=default
Defaults.
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Trk::Volume
Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume c...
Definition
Volume.h:36
const
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::PropDirection
PropDirection
PropDirection, enum for direction of the propagation.
Definition
PropDirection.h:19
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Trk::inside
@ inside
Definition
PropDirection.h:29
Trk::outside
@ outside
Definition
PropDirection.h:29
Generated on
for ATLAS Offline Software by
1.17.0