ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SourceLink Class Referencefinal

Type-erased source link wrapper. More...

#include <Acts/EventData/SourceLink.hpp>

Public Member Functions

 SourceLink (const SourceLink &other)=default
 Copy constructor.
 SourceLink (SourceLink &&other)=default
 Move constructor.
template<typename T>
requires (!std::same_as<std::decay_t<T>, SourceLink>)
 SourceLink (T &&upstream)
 Constructor from concrete source link.
template<typename T>
T & get ()
 Concrete source link class getter.
template<typename T>
const T & get () const
 Concrete source link class getter, const version.
template<typename T>
T * getPtr ()
 Concrete source link pointer getter.
template<typename T>
const T * getPtr () const
 Concrete source link pointer getter, const version.
SourceLinkoperator= (const SourceLink &other)=default
 Copy assignment operator.
SourceLinkoperator= (SourceLink &&other)=default
 Move assignment operator.

Detailed Description

Type-erased source link wrapper.

Constructor & Destructor Documentation

◆ SourceLink() [1/3]

Acts::SourceLink::SourceLink ( const SourceLink & other)
default

Copy constructor.

Parameters
otherSource link to copy from

◆ SourceLink() [2/3]

Acts::SourceLink::SourceLink ( SourceLink && other)
default

Move constructor.

Parameters
otherSource link to move from

◆ SourceLink() [3/3]

template<typename T>
requires (!std::same_as<std::decay_t<T>, SourceLink>)
Acts::SourceLink::SourceLink ( T && upstream)
explicit

Constructor from concrete source link.

Template Parameters
TThe source link type
Parameters
upstreamThe upstream source link to store

Member Function Documentation

◆ get() [1/2]

template<typename T>
T & Acts::SourceLink::get ( )

Concrete source link class getter.

Template Parameters
TThe source link type to retrieve
Returns
Reference to the stored source link

◆ get() [2/2]

template<typename T>
const T & Acts::SourceLink::get ( ) const

Concrete source link class getter, const version.

Template Parameters
TThe source link type to retrieve
Returns
Const reference to the stored source link

◆ getPtr() [1/2]

template<typename T>
T * Acts::SourceLink::getPtr ( )

Concrete source link pointer getter.

Template Parameters
TThe source link type to retrieve
Returns
Pointer to the stored source link, or nullptr if the type doesn't match or the SourceLink is empty

◆ getPtr() [2/2]

template<typename T>
const T * Acts::SourceLink::getPtr ( ) const

Concrete source link pointer getter, const version.

Template Parameters
TThe source link type to retrieve
Returns
Const pointer to the stored source link, or nullptr if the type doesn't match or the SourceLink is empty

◆ operator=() [1/2]

SourceLink & Acts::SourceLink::operator= ( const SourceLink & other)
default

Copy assignment operator.

Parameters
otherSource link to copy from
Returns
Reference to this source link

◆ operator=() [2/2]

SourceLink & Acts::SourceLink::operator= ( SourceLink && other)
default

Move assignment operator.

Parameters
otherSource link to move from
Returns
Reference to this source link