ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRawEvent
InDetRawData
InDetRawData
PhaseIIInDetRawDataContainerMT.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef PHASEII_RAWDATACONTAINERMT_H
5
#define PHASEII_RAWDATACONTAINERMT_H
6
7
#include "
PhaseIIInDetRawDataContainer.h
"
8
#include "
ContainerRangeGuard.h
"
9
10
namespace
PhaseII
{
19
template
<
class
T_RawDataContainer>
20
class
IndexedRangesMT
:
public
PhaseII::IndexedRanges
<T_RawDataContainer, std::atomic<PhaseII::DataRange> >
21
{
22
public
:
23
typedef
std::true_type
thread_safe
;
// to allow usage with update handle
24
using
BASE
=
PhaseII::IndexedRanges<T_RawDataContainer, std::atomic<PhaseII::DataRange>
>;
25
26
using
ContainerPtr
=
typename
DynamicContainerListHelper<T_RawDataContainer>::ContainerPtr
;
27
IndexedRangesMT
(
unsigned
int
n_ranges,
unsigned
int
container_list_size) :
BASE
(n_ranges,container_list_size) {}
28
34
ContainerPtr
getNewContainerPtr
() {
35
return
m_containerListHelper
.getNewContainer(this->
m_containers
);
36
}
37
38
private
:
39
DynamicContainerListHelper<T_RawDataContainer>
m_containerListHelper
;
40
};
41
44
template
<
typename
T_RawDataContainerCollection,
typename
T_RawDataContainerPtr,
typename
T_RangeType,
typename
T_Coordinates>
45
void
addDataForModule
(T_RawDataContainerCollection &rdo_container_collection,
46
ContainerRangeGuard<T_RawDataContainerPtr, T_RangeType>
&range_guard,
47
T_Coordinates &&coordinates,
48
std::uint32_t data_word);
49
50
}
51
#include "
PhaseIIInDetRawDataContainerMT.icc
"
52
#endif
ContainerRangeGuard.h
PhaseIIInDetRawDataContainerMT.icc
PhaseIIInDetRawDataContainer.h
PhaseII::ContainerRangeGuard
Helper class to keep track of a range of elements added to the end of a container.
Definition
ContainerRangeGuard.h:32
PhaseII::IndexedRangesMT< PhaseII::PixelRawDataContainer >::m_containerListHelper
DynamicContainerListHelper< PhaseII::PixelRawDataContainer > m_containerListHelper
Definition
PhaseIIInDetRawDataContainerMT.h:39
PhaseII::IndexedRangesMT::IndexedRangesMT
IndexedRangesMT(unsigned int n_ranges, unsigned int container_list_size)
Definition
PhaseIIInDetRawDataContainerMT.h:27
PhaseII::IndexedRangesMT::getNewContainerPtr
ContainerPtr getNewContainerPtr()
get an unused container to add new RDOs.
Definition
PhaseIIInDetRawDataContainerMT.h:34
PhaseII::IndexedRangesMT::BASE
PhaseII::IndexedRanges< T_RawDataContainer, std::atomic< PhaseII::DataRange > > BASE
Definition
PhaseIIInDetRawDataContainerMT.h:24
PhaseII::IndexedRangesMT::ContainerPtr
typename DynamicContainerListHelper< T_RawDataContainer >::ContainerPtr ContainerPtr
Definition
PhaseIIInDetRawDataContainerMT.h:26
PhaseII::IndexedRangesMT::thread_safe
std::true_type thread_safe
Definition
PhaseIIInDetRawDataContainerMT.h:23
PhaseII::IndexedRanges
Helper class to associate ranges of elements in multiple containers to a contiguous index.
Definition
PhaseIIInDetRawDataContainer.h:109
PhaseII::IndexedRangesMT< PhaseII::PixelRawDataContainer >::m_containers
ContainerList< PhaseII::PixelRawDataContainer > m_containers
Definition
PhaseIIInDetRawDataContainer.h:198
PhaseII
Definition
ContainerRangeGuard.h:7
PhaseII::addDataForModule
void addDataForModule(T_RawDataContainerCollection &rdo_container_collection, ContainerRangeGuard< T_RawDataContainerPtr, T_RangeType > &range_guard, T_Coordinates &&coordinates, std::uint32_t data_word)
convenience method to add data to an RDO container, add a new RDO container, copy the data added for ...
DynamicContainerListHelper::ContainerPtr
Helper which provides a pointer to a container and the index of the container in the container list.
Definition
ContainerList.h:92
DynamicContainerListHelper
Helper class which allows to dynamically grow the container list.
Definition
ContainerList.h:88
Generated on
for ATLAS Offline Software by
1.17.0