ATLAS Offline Software
Loading...
Searching...
No Matches
AthDevice::SoACopy< COLUMNS > Class Template Reference

Utility to help with copying data between xAOD and VecMem SoA containers. More...

#include <SoACopy.h>

Collaboration diagram for AthDevice::SoACopy< COLUMNS >:

Public Member Functions

 SoACopy (COLUMNS... columns)
 Constructor with a parameter pack.
 SoACopy (const std::tuple< COLUMNS... > &columns)
 Constructor with a tuple.
template<typename SCHEMA>
void operator() (const SG::AuxVectorBase &input, vecmem::edm::view< SCHEMA > &output, const EventContext &ctx, const IMemoryResourcesTool &mrs, const ICopiesTool &copies) const
 Copy data from an input xAOD container into a VecMem SoA container.
template<typename SCHEMA, typename INTERFACE, typename BASE>
void operator() (const vecmem::edm::view< SCHEMA > &input, DataVector< INTERFACE, BASE > &output, const EventContext &ctx, const IMemoryResourcesTool &mrs, const ICopiesTool &copies) const
 Copy data from an input VecMem SoA container into an xAOD container.

Private Attributes

std::tuple< COLUMNS... > m_columns
 Columns to copy back and forth between the containers.

Detailed Description

template<Concepts::SoAColumn... COLUMNS>
class AthDevice::SoACopy< COLUMNS >

Utility to help with copying data between xAOD and VecMem SoA containers.

Definition at line 25 of file SoACopy.h.

Constructor & Destructor Documentation

◆ SoACopy() [1/2]

template<Concepts::SoAColumn... COLUMNS>
AthDevice::SoACopy< COLUMNS >::SoACopy ( COLUMNS... columns)

Constructor with a parameter pack.

◆ SoACopy() [2/2]

template<Concepts::SoAColumn... COLUMNS>
AthDevice::SoACopy< COLUMNS >::SoACopy ( const std::tuple< COLUMNS... > & columns)

Constructor with a tuple.

Member Function Documentation

◆ operator()() [1/2]

template<Concepts::SoAColumn... COLUMNS>
template<typename SCHEMA>
void AthDevice::SoACopy< COLUMNS >::operator() ( const SG::AuxVectorBase & input,
vecmem::edm::view< SCHEMA > & output,
const EventContext & ctx,
const IMemoryResourcesTool & mrs,
const ICopiesTool & copies ) const

Copy data from an input xAOD container into a VecMem SoA container.

Parameters
inputThe input xAOD container
outputThe output VecMem SoA container
ctxThe event context
mrsThe memory resources tool
copiesThe copies tool

◆ operator()() [2/2]

template<Concepts::SoAColumn... COLUMNS>
template<typename SCHEMA, typename INTERFACE, typename BASE>
void AthDevice::SoACopy< COLUMNS >::operator() ( const vecmem::edm::view< SCHEMA > & input,
DataVector< INTERFACE, BASE > & output,
const EventContext & ctx,
const IMemoryResourcesTool & mrs,
const ICopiesTool & copies ) const

Copy data from an input VecMem SoA container into an xAOD container.

Parameters
inputThe input VecMem SoA container
outputThe output xAOD container
ctxThe event context
mrsThe memory resources tool
copiesThe copies tool

Member Data Documentation

◆ m_columns

template<Concepts::SoAColumn... COLUMNS>
std::tuple<COLUMNS...> AthDevice::SoACopy< COLUMNS >::m_columns
private

Columns to copy back and forth between the containers.

Definition at line 63 of file SoACopy.h.


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