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

Interface for the DeviceMeasurementContainer type. More...

#include <DeviceMeasurementContainers.h>

Inheritance diagram for ActsTrk::DeviceStripMeasurement< BASE >:
Collaboration diagram for ActsTrk::DeviceStripMeasurement< 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 & 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 DeviceStripMeasurement< T > &other) const
 Equality operator.
template<typename T>
TRACCC_HOST_DEVICE std::partial_ordering operator<=> (const DeviceStripMeasurement< T > &other) const
 Comparison operator.

Friends

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

Detailed Description

template<typename BASE>
class ActsTrk::DeviceStripMeasurement< 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 137 of file DeviceMeasurementContainers.h.

Member Function Documentation

◆ identifier() [1/2]

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

Definition at line 155 of file DeviceMeasurementContainers.h.

155{ return BASE::template get<0>(); }
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

◆ identifier() [2/2]

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

Definition at line 158 of file DeviceMeasurementContainers.h.

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

◆ local_position() [1/2]

template<typename BASE>
TRACCC_HOST_DEVICE auto & ActsTrk::DeviceStripMeasurement< BASE >::local_position ( )
inline
Returns
A non-const float

Definition at line 162 of file DeviceMeasurementContainers.h.

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

◆ local_position() [2/2]

template<typename BASE>
TRACCC_HOST_DEVICE const auto & ActsTrk::DeviceStripMeasurement< BASE >::local_position ( ) const
inline
Returns
A const float

Definition at line 165 of file DeviceMeasurementContainers.h.

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

◆ local_variance() [1/2]

template<typename BASE>
TRACCC_HOST_DEVICE auto & ActsTrk::DeviceStripMeasurement< BASE >::local_variance ( )
inline
Returns
A non-const float

Definition at line 169 of file DeviceMeasurementContainers.h.

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

◆ local_variance() [2/2]

template<typename BASE>
TRACCC_HOST_DEVICE const auto & ActsTrk::DeviceStripMeasurement< BASE >::local_variance ( ) const
inline
Returns
A const float

Definition at line 172 of file DeviceMeasurementContainers.h.

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

◆ module_id_hash() [1/2]

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

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

Returns
A non-const unsigned integer

Definition at line 177 of file DeviceMeasurementContainers.h.

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

◆ module_id_hash() [2/2]

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

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

Returns
A const unsigned integer

Definition at line 181 of file DeviceMeasurementContainers.h.

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

◆ operator<=>()

template<typename BASE>
template<typename T>
TRACCC_HOST_DEVICE std::partial_ordering ActsTrk::DeviceStripMeasurement< BASE >::operator<=> ( const DeviceStripMeasurement< 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::DeviceStripMeasurement< BASE >::operator== ( const DeviceStripMeasurement< 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 DeviceStripMeasurement< BASE > & m )
friend
Returns
a string stream that prints the measurement details

Definition at line 217 of file DeviceMeasurementContainers.h.

217 {
218 os << "id = " << m.identifier()
219 << ", ";
220 os << "module_hash = " << m.module_id_hash()
221 << ", ";
222 os << "local_pos = " << m.local_position()[0]
223 << ", ";
224 os << "local_var = " << m.local_variance()[0]
225 << ", ";
226 return os;
227 }
TRACCC_HOST_DEVICE auto & module_id_hash()
Athena module identifier hash where the measurement belongs (non-const).

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