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 >
109 template <
typename T_MeasurementContainerList >
134 MeasurementRangeContainer::const_iterator
find(
const MeasurementRangeContainer::value_type::first_type &
key)
const {
136 [&
key](
const auto &
c) {
137 return c.first ==
key;
141 std::pair<MeasurementRangeContainer::iterator, bool>
insert(MeasurementRangeContainer::value_type&&
value) {
142 emplace_back(std::forward<MeasurementRangeContainer::value_type>(
value));
143 return {std::prev(
end()),
true};
151 template <
typename T_MeasurementRangeList>
163 unsigned int container_index,
164 unsigned int element_index)
183 assert( m_index < base_container->
size());
203 using Iterator = Acts::SourceLinkAdapterIterator<BaseIterator>;
209 std::pair<Iterator, Iterator>
range(
const Acts::Surface &surface)
const
211 typename T_MeasurementRangeList::const_iterator
228 ContainerRefWithDim<xAOD::PixelClusterContainer,2>,
229 ContainerRefWithDim<xAOD::StripClusterContainer,1>,
230 ContainerRefWithDim<xAOD::HGTDClusterContainer,3> >
234 template <std::
size_t DIM>
244 if (isDimension<2>(container.
auxbase())) {
return 2
u; }
245 else if (isDimension<3>(container.
auxbase())) {
return 3
u; }
247 throw std::runtime_error(
"Unsupported dimension for PixelClusterContainer");