ATLAS Offline Software
Loading...
Searching...
No Matches
AthCUDAExamples::TrackParticleInterface< BASE > Struct Template Reference

Interface for the VecMem based GPU friendly TrackParticleContainer. More...

#include <TrackParticleContainer.h>

Inheritance diagram for AthCUDAExamples::TrackParticleInterface< BASE >:
Collaboration diagram for AthCUDAExamples::TrackParticleInterface< BASE >:

Public Member Functions

VECMEM_HOST_AND_DEVICE const auto & theta () const
 Get the polar angles of the tracks (const)
VECMEM_HOST_AND_DEVICE auto & theta ()
 Get the polar angles of the tracks (non-const)
VECMEM_HOST_AND_DEVICE const auto & phi () const
 Get the azimuthal angles of the tracks (const)
VECMEM_HOST_AND_DEVICE auto & phi ()
 Get the azimuthal angles of the tracks (non-const)
VECMEM_HOST_AND_DEVICE const auto & qOverP () const
 Get the inverse momenta of the tracks (const)
VECMEM_HOST_AND_DEVICE auto & qOverP ()
 Get the inverse momenta of the tracks (non-const)

Detailed Description

template<typename BASE>
struct AthCUDAExamples::TrackParticleInterface< BASE >

Interface for the VecMem based GPU friendly TrackParticleContainer.

Definition at line 15 of file Control/AthenaExamples/AthExCUDA/src/TrackParticleContainer.h.

Member Function Documentation

◆ phi() [1/2]

template<typename BASE>
VECMEM_HOST_AND_DEVICE auto & AthCUDAExamples::TrackParticleInterface< BASE >::phi ( )
inline

Get the azimuthal angles of the tracks (non-const)

Definition at line 32 of file Control/AthenaExamples/AthExCUDA/src/TrackParticleContainer.h.

32{ return BASE::template get<1>(); }
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:130
Interface for the VecMem based GPU friendly TrackParticleContainer.

◆ phi() [2/2]

template<typename BASE>
VECMEM_HOST_AND_DEVICE const auto & AthCUDAExamples::TrackParticleInterface< BASE >::phi ( ) const
inline

Get the azimuthal angles of the tracks (const)

Definition at line 29 of file Control/AthenaExamples/AthExCUDA/src/TrackParticleContainer.h.

29{ return BASE::template get<1>(); }

◆ qOverP() [1/2]

template<typename BASE>
VECMEM_HOST_AND_DEVICE auto & AthCUDAExamples::TrackParticleInterface< BASE >::qOverP ( )
inline

Get the inverse momenta of the tracks (non-const)

Definition at line 39 of file Control/AthenaExamples/AthExCUDA/src/TrackParticleContainer.h.

39{ return BASE::template get<2>(); }

◆ qOverP() [2/2]

template<typename BASE>
VECMEM_HOST_AND_DEVICE const auto & AthCUDAExamples::TrackParticleInterface< BASE >::qOverP ( ) const
inline

Get the inverse momenta of the tracks (const)

Definition at line 36 of file Control/AthenaExamples/AthExCUDA/src/TrackParticleContainer.h.

36{ return BASE::template get<2>(); }

◆ theta() [1/2]

template<typename BASE>
VECMEM_HOST_AND_DEVICE auto & AthCUDAExamples::TrackParticleInterface< BASE >::theta ( )
inline

Get the polar angles of the tracks (non-const)

Definition at line 25 of file Control/AthenaExamples/AthExCUDA/src/TrackParticleContainer.h.

25{ return BASE::template get<0>(); }

◆ theta() [2/2]

template<typename BASE>
VECMEM_HOST_AND_DEVICE const auto & AthCUDAExamples::TrackParticleInterface< BASE >::theta ( ) const
inline

Get the polar angles of the tracks (const)

Definition at line 22 of file Control/AthenaExamples/AthExCUDA/src/TrackParticleContainer.h.

22{ return BASE::template get<0>(); }

The documentation for this struct was generated from the following file: