ATLAS Offline Software
Classes | Public Member Functions | Private Attributes | List of all members
Trk::TrackSurfaceIntersection Class Referencefinal

#include <TrackSurfaceIntersection.h>

Collaboration diagram for Trk::TrackSurfaceIntersection:

Classes

class  IIntersectionCache
 Base class for cache block. More...
 

Public Member Functions

 TrackSurfaceIntersection (const Amg::Vector3D &pos, const Amg::Vector3D &dir, double path)
 Constructor. More...
 
 TrackSurfaceIntersection ()=default
 
 ~TrackSurfaceIntersection ()=default
 Destructor. More...
 
 TrackSurfaceIntersection (const TrackSurfaceIntersection &other)
 
 TrackSurfaceIntersection (const TrackSurfaceIntersection &other, std::unique_ptr< IIntersectionCache > cache)
 
TrackSurfaceIntersectionoperator= (const TrackSurfaceIntersection &other)
 
 TrackSurfaceIntersection (TrackSurfaceIntersection &&other)=default
 
TrackSurfaceIntersectionoperator= (TrackSurfaceIntersection &&other)=default
 
const Amg::Vector3Dposition () const
 Method to retrieve the position of the Intersection. More...
 
Amg::Vector3Dposition ()
 
const Amg::Vector3Ddirection () const
 Method to retrieve the direction at the Intersection. More...
 
Amg::Vector3Ddirection ()
 
double pathlength () const
 Method to retrieve the pathlength propagated till the Intersection. More...
 
double & pathlength ()
 
const IIntersectionCachecache () const
 Retrieve the associated cache block, if it exists. More...
 
IIntersectionCachecache ()
 

Private Attributes

Amg::Vector3D m_position
 
Amg::Vector3D m_direction
 
double m_pathlength
 
std::unique_ptr< IIntersectionCachem_cache
 

Detailed Description

An intersection with a Surface is given by

We can optionally attach an additional block of data (‘cache’) for the private use of a particular intersection tool.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 32 of file TrackSurfaceIntersection.h.

Constructor & Destructor Documentation

◆ TrackSurfaceIntersection() [1/5]

Trk::TrackSurfaceIntersection::TrackSurfaceIntersection ( const Amg::Vector3D pos,
const Amg::Vector3D dir,
double  path 
)

Constructor.

Definition at line 18 of file TrackSurfaceIntersection.cxx.

22  : m_position(pos)
23  , m_direction(dir)
25 {
26 }

◆ TrackSurfaceIntersection() [2/5]

Trk::TrackSurfaceIntersection::TrackSurfaceIntersection ( )
default

◆ ~TrackSurfaceIntersection()

Trk::TrackSurfaceIntersection::~TrackSurfaceIntersection ( )
default

Destructor.

◆ TrackSurfaceIntersection() [3/5]

Trk::TrackSurfaceIntersection::TrackSurfaceIntersection ( const TrackSurfaceIntersection other)

Definition at line 28 of file TrackSurfaceIntersection.cxx.

30  : m_position(other.m_position)
31  , m_direction(other.m_direction)
32  , m_pathlength(other.m_pathlength)
33  , m_cache(other.m_cache ? other.m_cache->clone() : nullptr)
34 {
35 }

◆ TrackSurfaceIntersection() [4/5]

Trk::TrackSurfaceIntersection::TrackSurfaceIntersection ( const TrackSurfaceIntersection other,
std::unique_ptr< IIntersectionCache cache 
)

Definition at line 37 of file TrackSurfaceIntersection.cxx.

40  : m_position(other.m_position)
41  , m_direction(other.m_direction)
42  , m_pathlength(other.m_pathlength)
43  , m_cache(std::move(cache))
44 {
45 }

◆ TrackSurfaceIntersection() [5/5]

Trk::TrackSurfaceIntersection::TrackSurfaceIntersection ( TrackSurfaceIntersection &&  other)
default

Member Function Documentation

◆ cache() [1/2]

TrackSurfaceIntersection::IIntersectionCache * Trk::TrackSurfaceIntersection::cache ( )
inline

Definition at line 110 of file TrackSurfaceIntersection.h.

110  {
111  return m_cache.get();
112 }

◆ cache() [2/2]

const TrackSurfaceIntersection::IIntersectionCache * Trk::TrackSurfaceIntersection::cache ( ) const
inline

Retrieve the associated cache block, if it exists.

Definition at line 105 of file TrackSurfaceIntersection.h.

105  {
106  return m_cache.get();
107 }

◆ direction() [1/2]

Amg::Vector3D & Trk::TrackSurfaceIntersection::direction ( )
inline

Definition at line 92 of file TrackSurfaceIntersection.h.

92  {
93  return m_direction;
94 }

◆ direction() [2/2]

const Amg::Vector3D & Trk::TrackSurfaceIntersection::direction ( ) const
inline

Method to retrieve the direction at the Intersection.

Definition at line 88 of file TrackSurfaceIntersection.h.

88  {
89  return m_direction;
90 }

◆ operator=() [1/2]

Trk::TrackSurfaceIntersection & Trk::TrackSurfaceIntersection::operator= ( const TrackSurfaceIntersection other)

Definition at line 48 of file TrackSurfaceIntersection.cxx.

49 {
50  if (this != &other) {
51  m_position = other.m_position;
52  m_direction = other.m_direction;
53  m_pathlength = other.m_pathlength;
54  m_cache = other.m_cache ? other.m_cache->clone() : nullptr;
55  }
56  return *this;
57 }

◆ operator=() [2/2]

TrackSurfaceIntersection& Trk::TrackSurfaceIntersection::operator= ( TrackSurfaceIntersection &&  other)
default

◆ pathlength() [1/2]

double & Trk::TrackSurfaceIntersection::pathlength ( )
inline

Definition at line 100 of file TrackSurfaceIntersection.h.

100  {
101  return m_pathlength;
102 }

◆ pathlength() [2/2]

double Trk::TrackSurfaceIntersection::pathlength ( ) const
inline

Method to retrieve the pathlength propagated till the Intersection.

Definition at line 96 of file TrackSurfaceIntersection.h.

96  {
97  return m_pathlength;
98 }

◆ position() [1/2]

Amg::Vector3D & Trk::TrackSurfaceIntersection::position ( )
inline

Definition at line 84 of file TrackSurfaceIntersection.h.

84  {
85  return m_position;
86 }

◆ position() [2/2]

const Amg::Vector3D & Trk::TrackSurfaceIntersection::position ( ) const
inline

Method to retrieve the position of the Intersection.

Definition at line 80 of file TrackSurfaceIntersection.h.

80  {
81  return m_position;
82 }

Member Data Documentation

◆ m_cache

std::unique_ptr<IIntersectionCache> Trk::TrackSurfaceIntersection::m_cache
private

Definition at line 77 of file TrackSurfaceIntersection.h.

◆ m_direction

Amg::Vector3D Trk::TrackSurfaceIntersection::m_direction
private

Definition at line 75 of file TrackSurfaceIntersection.h.

◆ m_pathlength

double Trk::TrackSurfaceIntersection::m_pathlength
private

Definition at line 76 of file TrackSurfaceIntersection.h.

◆ m_position

Amg::Vector3D Trk::TrackSurfaceIntersection::m_position
private

Definition at line 74 of file TrackSurfaceIntersection.h.


The documentation for this class was generated from the following files:
Trk::TrackSurfaceIntersection::cache
const IIntersectionCache * cache() const
Retrieve the associated cache block, if it exists.
Definition: TrackSurfaceIntersection.h:105
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:126
Trk::TrackSurfaceIntersection::m_cache
std::unique_ptr< IIntersectionCache > m_cache
Definition: TrackSurfaceIntersection.h:77
Trk::TrackSurfaceIntersection::m_pathlength
double m_pathlength
Definition: TrackSurfaceIntersection.h:76
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk::TrackSurfaceIntersection::m_direction
Amg::Vector3D m_direction
Definition: TrackSurfaceIntersection.h:75
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
Trk::TrackSurfaceIntersection::m_position
Amg::Vector3D m_position
Definition: TrackSurfaceIntersection.h:74