ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::DevicePixelMeasurement< BASE > Class Template Reference

Interface for the DeviceMeasurementContainer type. More...

#include <DeviceMeasurementContainers.h>

Inheritance diagram for ActsTrk::DevicePixelMeasurement< BASE >:
Collaboration diagram for ActsTrk::DevicePixelMeasurement< BASE >:

Public Member Functions

Measurement Information
TRACCC_HOST_DEVICE auto & identifier ()
TRACCC_HOST_DEVICE const auto & identifier () const
TRACCC_HOST_DEVICE auto & local_position ()
TRACCC_HOST_DEVICE const auto & local_position () const
TRACCC_HOST_DEVICE auto & local_variance ()
TRACCC_HOST_DEVICE const auto & local_variance () const
TRACCC_HOST_DEVICE auto & global_position ()
TRACCC_HOST_DEVICE const auto & global_position () const
TRACCC_HOST_DEVICE auto & module_id_hash ()
 Athena module identifier hash where the measurement belongs (non-const).
TRACCC_HOST_DEVICE const auto & module_id_hash () const
 Athena module identifier hash where the measurement belongs (const).
Utility functions
template<typename T>
TRACCC_HOST_DEVICE bool operator== (const DevicePixelMeasurement< T > &other) const
 Equality operator.
template<typename T>
TRACCC_HOST_DEVICE std::partial_ordering operator<=> (const DevicePixelMeasurement< T > &other) const
 Comparison operator.

Friends

TRACCC_HOST friend std::ostream & operator<< (std::ostream &os, const DevicePixelMeasurement &m)

Detailed Description

template<typename BASE>
class ActsTrk::DevicePixelMeasurement< BASE >

Interface for the DeviceMeasurementContainer type.

It provides the API that users would interact with, while using the columns/arrays of the SoA containers, or the variables of the AoS proxies created on top of the SoA containers.

Definition at line 24 of file DeviceMeasurementContainers.h.

Member Function Documentation

◆ global_position() [1/2]

template<typename BASE>
TRACCC_HOST_DEVICE auto & ActsTrk::DevicePixelMeasurement< BASE >::global_position ( )
inline
Returns
A non-const array of 3 floats

Definition at line 63 of file DeviceMeasurementContainers.h.

63{ return BASE::template get<3>(); }
Interface for the DeviceMeasurementContainer type.
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:132

◆ global_position() [2/2]

template<typename BASE>
TRACCC_HOST_DEVICE const auto & ActsTrk::DevicePixelMeasurement< BASE >::global_position ( ) const
inline
Returns
A const array of 3 floats

Definition at line 66 of file DeviceMeasurementContainers.h.

66{ return BASE::template get<3>(); }

◆ identifier() [1/2]

template<typename BASE>
TRACCC_HOST_DEVICE auto & ActsTrk::DevicePixelMeasurement< BASE >::identifier ( )
inline
Returns
A non-const long unsigned int

Definition at line 42 of file DeviceMeasurementContainers.h.

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

◆ identifier() [2/2]

template<typename BASE>
TRACCC_HOST_DEVICE const auto & ActsTrk::DevicePixelMeasurement< BASE >::identifier ( ) const
inline
Returns
A const long unsigned int

Definition at line 45 of file DeviceMeasurementContainers.h.

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

◆ local_position() [1/2]

template<typename BASE>
TRACCC_HOST_DEVICE auto & ActsTrk::DevicePixelMeasurement< BASE >::local_position ( )
inline
Returns
A non-const array of 2 floats

Definition at line 49 of file DeviceMeasurementContainers.h.

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

◆ local_position() [2/2]

template<typename BASE>
TRACCC_HOST_DEVICE const auto & ActsTrk::DevicePixelMeasurement< BASE >::local_position ( ) const
inline
Returns
A const array of 2 floats

Definition at line 52 of file DeviceMeasurementContainers.h.

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

◆ local_variance() [1/2]

template<typename BASE>
TRACCC_HOST_DEVICE auto & ActsTrk::DevicePixelMeasurement< BASE >::local_variance ( )
inline
Returns
A non-const array of 4 floats

Definition at line 56 of file DeviceMeasurementContainers.h.

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

◆ local_variance() [2/2]

template<typename BASE>
TRACCC_HOST_DEVICE const auto & ActsTrk::DevicePixelMeasurement< BASE >::local_variance ( ) const
inline
Returns
A const array of 4 floats

Definition at line 59 of file DeviceMeasurementContainers.h.

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

◆ module_id_hash() [1/2]

template<typename BASE>
TRACCC_HOST_DEVICE auto & ActsTrk::DevicePixelMeasurement< BASE >::module_id_hash ( )
inline

Athena module identifier hash where the measurement belongs (non-const).

Returns
A non-const unsigned integer

Definition at line 71 of file DeviceMeasurementContainers.h.

71{ return BASE::template get<4>(); }

◆ module_id_hash() [2/2]

template<typename BASE>
TRACCC_HOST_DEVICE const auto & ActsTrk::DevicePixelMeasurement< BASE >::module_id_hash ( ) const
inline

Athena module identifier hash where the measurement belongs (const).

Returns
A const unsigned integer

Definition at line 75 of file DeviceMeasurementContainers.h.

75{ return BASE::template get<4>(); }

◆ operator<=>()

template<typename BASE>
template<typename T>
TRACCC_HOST_DEVICE std::partial_ordering ActsTrk::DevicePixelMeasurement< BASE >::operator<=> ( const DevicePixelMeasurement< T > & other) const

Comparison operator.

Note
This function must only be used on proxy objects, not on containers!
Parameters
[in]otherThe object to compare with
Returns
A weak ordering object, describing the relation between the two objects

◆ operator==()

template<typename BASE>
template<typename T>
TRACCC_HOST_DEVICE bool ActsTrk::DevicePixelMeasurement< BASE >::operator== ( const DevicePixelMeasurement< T > & other) const

Equality operator.

Note
This function must only be used on proxy objects, not on containers!
Parameters
[in]otherThe object to compare with
Returns
true if the objects are equal, false otherwise

◆ operator<<

template<typename BASE>
TRACCC_HOST friend std::ostream & operator<< ( std::ostream & os,
const DevicePixelMeasurement< BASE > & m )
friend
Returns
a string stream that prints the measurement details

Definition at line 111 of file DeviceMeasurementContainers.h.

111 {
112 os << "id = " << m.identifier()
113 << ", ";
114 os << "module_hash = " << m.module_id_hash()
115 << ", ";
116 os << "local_pos = [" << m.local_position()[0]
117 << ", " << m.local_position()[1]
118 << "], ";
119 os << "local_var = [" << m.local_variance()[0]
120 << ", " << m.local_variance()[1]
121 << "], ";
122 os << "global_pos = [" << m.global_position()[0]
123 << ", " << m.global_position()[1]
124 << ", " << m.global_position()[2]
125 << "]";
126 return os;
127 }
TRACCC_HOST_DEVICE auto & module_id_hash()
Athena module identifier hash where the measurement belongs (non-const).
TRACCC_HOST_DEVICE auto & local_position()
TRACCC_HOST_DEVICE auto & local_variance()
TRACCC_HOST_DEVICE auto & global_position()

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