Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef ATLASUNCALIBSROUCELINACCESOR_H
5 #define ATLASUNCALIBSROUCELINACCESOR_H
16 #include <unordered_map>
47 MeasurementRange(
unsigned int container_idx,
unsigned int start_element_idx,
unsigned int end_element_idx)
58 void updateEnd(std::size_t container_idx,
unsigned int end_element_idx) {
83 template <
typename T_MeasurementContainerList >
111 template <
typename T_MeasurementRangeList>
123 unsigned int container_index,
124 unsigned int element_index)
143 assert( m_index < base_container->
size());
163 using Iterator = Acts::SourceLinkAdapterIterator<BaseIterator>;
169 std::pair<Iterator, Iterator>
range(
const Acts::Surface &surface)
const
171 typename T_MeasurementRangeList::const_iterator
188 ContainerRefWithDim<xAOD::PixelClusterContainer,2>,
189 ContainerRefWithDim<xAOD::StripClusterContainer,1>,
190 ContainerRefWithDim<xAOD::HGTDClusterContainer,3> >
194 template <std::
size_t DIM>
204 if (isDimension<2>(container.
auxbase())) {
return 2
u; }
205 else if (isDimension<3>(container.
auxbase())) {
return 3
u; }
207 throw std::runtime_error(
"Unsupported dimension for PixelClusterContainer");
static bool isDimension(const SG::AuxVectorBase &container)
static constexpr unsigned int createRangeValue(unsigned int container_idx, unsigned int index)
const std::vector< MeasurementContainer > & measurementContainerList() const
Acts::SourceLinkAdapterIterator< BaseIterator > Iterator
static constexpr unsigned int extractContainerIndex(unsigned int value)
Helper class to provide type-safe access to aux data.
void updateEnd(std::size_t container_idx, unsigned int end_element_idx)
BaseIterator(const std::vector< MeasurementContainer > *containerList, unsigned int container_index, unsigned int element_index)
static constexpr unsigned int extractElementIndex(unsigned int value)
unsigned int difference_type
typename T_MeasurementContainerList::measurement_container_variant_t MeasurementContainer
unsigned int m_containerIndex
BaseIterator & operator++()
const T_MeasurementRangeList * m_measurementRanges
static constexpr unsigned int CONTAINER_IDX_SHIFT
@ u
Enums for curvilinear frames.
Manage index tracking and synchronization of auxiliary data.
const SG::AuxVectorBase & auxbase() const
Convert to AuxVectorBase.
std::size_t numContainers() const
std::input_iterator_tag iterator_category
const MeasurementContainer & container(unsigned index) const
GenUncalibSourceLinkAccessor(const T_MeasurementRangeList &measurement_ranges)
unsigned int elementBeginIndex() const
ATLASUncalibSourceLink makeATLASUncalibSourceLink(const xAOD::UncalibratedMeasurementContainer *container, std::size_t index, [[maybe_unused]] const EventContext &ctx)
typename T_MeasurementRangeList::MeasurementContainer MeasurementContainer
Accessor for the above source link container.
const std::vector< MeasurementContainer > & measurementContainerList() const
MeasurementRange(unsigned int container_idx, unsigned int start_element_idx, unsigned int end_element_idx)
unsigned int index() const
std::pair< Iterator, Iterator > range(const Acts::Surface &surface) const
T_MeasurementContainerList m_measurementContainerList
Acts::SourceLink operator*() const
static constexpr unsigned int ELEMENT_IDX_MASK
unsigned int getDimension(const xAOD::PixelClusterContainer &container)
std::string to_string(const DetectorType &type)
const std::vector< MeasurementContainer > & measurementContainerList() const
const std::vector< MeasurementContainer > * m_containerList
static MeasurementRange noMeasurementExpected()
bool isAvailable(const std::string &name, const std::string &clsname="") const
Test to see if a variable exists in the store.
void setContainer(unsigned int container_index, const xAOD::UncalibratedMeasurementContainer *container)
unsigned int elementEndIndex() const
bool operator==(const BaseIterator &a) const
bool isConsistentRange() const
unsigned int containerIndex() const
unsigned int containerIndex() const
const MeasurementContainer & container(unsigned index) const
bool isMeasurementExpected() const
static constexpr unsigned int CONTAINER_IDX_MASK