ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator Class Reference

#include <AtlasUncalibSourceLinkAccessor.h>

Collaboration diagram for ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator:

Public Types

using value_type = unsigned int
 
using difference_type = unsigned int
 
using pointer = const xAOD::UncalibratedMeasurementContainer **
 
using reference = const xAOD::UncalibratedMeasurementContainer *
 
using iterator_category = std::input_iterator_tag
 

Public Member Functions

 BaseIterator (const std::vector< MeasurementContainer > *containerList, unsigned int container_index, unsigned int element_index)
 
BaseIteratoroperator++ ()
 
bool operator== (const BaseIterator &a) const
 
Acts::SourceLink operator* () const
 
const std::vector< MeasurementContainer > & measurementContainerList () const
 
unsigned int containerIndex () const
 
unsigned int index () const
 

Private Attributes

const std::vector< MeasurementContainer > * m_containerList
 
unsigned int m_containerIndex
 
unsigned int m_index
 

Detailed Description

template<typename T_MeasurementRangeList>
class ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator

Definition at line 99 of file AtlasUncalibSourceLinkAccessor.h.

Member Typedef Documentation

◆ difference_type

template<typename T_MeasurementRangeList >
using ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::difference_type = unsigned int

Definition at line 132 of file AtlasUncalibSourceLinkAccessor.h.

◆ iterator_category

template<typename T_MeasurementRangeList >
using ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::iterator_category = std::input_iterator_tag

Definition at line 135 of file AtlasUncalibSourceLinkAccessor.h.

◆ pointer

template<typename T_MeasurementRangeList >
using ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::pointer = const xAOD::UncalibratedMeasurementContainer **

Definition at line 133 of file AtlasUncalibSourceLinkAccessor.h.

◆ reference

template<typename T_MeasurementRangeList >
using ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::reference = const xAOD::UncalibratedMeasurementContainer *

Definition at line 134 of file AtlasUncalibSourceLinkAccessor.h.

◆ value_type

template<typename T_MeasurementRangeList >
using ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::value_type = unsigned int

Definition at line 131 of file AtlasUncalibSourceLinkAccessor.h.

Constructor & Destructor Documentation

◆ BaseIterator()

template<typename T_MeasurementRangeList >
ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::BaseIterator ( const std::vector< MeasurementContainer > *  containerList,
unsigned int  container_index,
unsigned int  element_index 
)
inline

Definition at line 102 of file AtlasUncalibSourceLinkAccessor.h.

105  : m_containerList(containerList),
106  m_containerIndex(container_index),
107  m_index(element_index)
108  {
109  }

Member Function Documentation

◆ containerIndex()

template<typename T_MeasurementRangeList >
unsigned int ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::containerIndex ( ) const
inline

Definition at line 128 of file AtlasUncalibSourceLinkAccessor.h.

128 { return m_containerIndex; }

◆ index()

template<typename T_MeasurementRangeList >
unsigned int ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::index ( ) const
inline

Definition at line 129 of file AtlasUncalibSourceLinkAccessor.h.

129 { return m_index; }

◆ measurementContainerList()

template<typename T_MeasurementRangeList >
const std::vector< MeasurementContainer >& ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::measurementContainerList ( ) const
inline

Definition at line 127 of file AtlasUncalibSourceLinkAccessor.h.

127 { return *m_containerList; }

◆ operator*()

template<typename T_MeasurementRangeList >
Acts::SourceLink ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::operator* ( ) const
inline

Definition at line 117 of file AtlasUncalibSourceLinkAccessor.h.

118  {
119  // @TODO avoid double indirection
120  const xAOD::UncalibratedMeasurementContainer *base_container
121  = std::visit([](const auto &a) -> const xAOD::UncalibratedMeasurementContainer *{return a.containerPtr(); },
122  (*m_containerList)[m_containerIndex] );
123  assert( m_index < base_container->size());
124  return Acts::SourceLink{ makeATLASUncalibSourceLink( (*base_container)[m_index] )};
125  }

◆ operator++()

template<typename T_MeasurementRangeList >
BaseIterator& ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::operator++ ( )
inline

Definition at line 110 of file AtlasUncalibSourceLinkAccessor.h.

111  {
112  ++m_index;
113  return *this;
114  }

◆ operator==()

template<typename T_MeasurementRangeList >
bool ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::operator== ( const BaseIterator a) const
inline

Definition at line 115 of file AtlasUncalibSourceLinkAccessor.h.

115 { return m_index == a.m_index && m_containerIndex == a.m_containerIndex; }

Member Data Documentation

◆ m_containerIndex

template<typename T_MeasurementRangeList >
unsigned int ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::m_containerIndex
private

Definition at line 139 of file AtlasUncalibSourceLinkAccessor.h.

◆ m_containerList

template<typename T_MeasurementRangeList >
const std::vector< MeasurementContainer >* ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::m_containerList
private

Definition at line 138 of file AtlasUncalibSourceLinkAccessor.h.

◆ m_index

template<typename T_MeasurementRangeList >
unsigned int ActsTrk::GenUncalibSourceLinkAccessor< T_MeasurementRangeList >::BaseIterator::m_index
private

Definition at line 140 of file AtlasUncalibSourceLinkAccessor.h.


The documentation for this class was generated from the following file:
ActsTrk::GenUncalibSourceLinkAccessor::BaseIterator::m_containerList
const std::vector< MeasurementContainer > * m_containerList
Definition: AtlasUncalibSourceLinkAccessor.h:138
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
ActsTrk::makeATLASUncalibSourceLink
ATLASUncalibSourceLink makeATLASUncalibSourceLink(const xAOD::UncalibratedMeasurementContainer *container, std::size_t index, [[maybe_unused]] const EventContext &ctx)
Definition: ATLASSourceLink.h:31
ActsTrk::GenUncalibSourceLinkAccessor::BaseIterator::m_index
unsigned int m_index
Definition: AtlasUncalibSourceLinkAccessor.h:140
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
a
TList * a
Definition: liststreamerinfos.cxx:10
ActsTrk::GenUncalibSourceLinkAccessor::BaseIterator::m_containerIndex
unsigned int m_containerIndex
Definition: AtlasUncalibSourceLinkAccessor.h:139