ATLAS Offline Software
Loading...
Searching...
No Matches
columnar::TestUtils::ColumnDataOutVector< T, Reader > Struct Template Referencefinal
Inheritance diagram for columnar::TestUtils::ColumnDataOutVector< T, Reader >:
Collaboration diagram for columnar::TestUtils::ColumnDataOutVector< T, Reader >:

Public Member Functions

 ColumnDataOutVector (const std::string &val_columnName, const T &val_defaultValue)
virtual bool connect (Backend source, std::unordered_map< std::string, const std::vector< ColumnarOffsetType > * > &offsetColumns, std::unordered_map< std::string, ColumnInfo > &requestedColumns) override
virtual void clearColumns () override
virtual void getEntry (Long64_t) override
virtual void setData (ColumnVectorData &columnData) override
virtual BranchPerfData getPerfData (float) override
virtual void collectColumnData () override
void connectColumnIndices (const ColumnVectorHeader &header)
 lookup and store column indices from the header for all enabled output columns

Public Attributes

defaultValue
const std::vector< ColumnarOffsetType > * offsetColumn = nullptr
std::vector< T > outData
unsigned entries = 0
std::vector< OutputColumnInfooutputColumns

Detailed Description

template<typename T, template< typename > class Reader>
struct columnar::TestUtils::ColumnDataOutVector< T, Reader >

Definition at line 912 of file ColumnarPhysliteTest.cxx.

Constructor & Destructor Documentation

◆ ColumnDataOutVector()

template<typename T, template< typename > class Reader>
columnar::TestUtils::ColumnDataOutVector< T, Reader >::ColumnDataOutVector ( const std::string & val_columnName,
const T & val_defaultValue )
inline

Member Function Documentation

◆ clearColumns()

template<typename T, template< typename > class Reader>
virtual void columnar::TestUtils::ColumnDataOutVector< T, Reader >::clearColumns ( )
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 947 of file ColumnarPhysliteTest.cxx.

948 {
949 outData.clear ();
950 }

◆ collectColumnData()

template<typename T, template< typename > class Reader>
virtual void columnar::TestUtils::ColumnDataOutVector< T, Reader >::collectColumnData ( )
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 971 of file ColumnarPhysliteTest.cxx.

◆ connect()

template<typename T, template< typename > class Reader>
virtual bool columnar::TestUtils::ColumnDataOutVector< T, Reader >::connect ( Backend source,
std::unordered_map< std::string, const std::vector< ColumnarOffsetType > * > & offsetColumns,
std::unordered_map< std::string, ColumnInfo > & requestedColumns )
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 925 of file ColumnarPhysliteTest.cxx.

926 {
927 auto iter = requestedColumns.find (outputColumns.at(0).name);
928 if (iter == requestedColumns.end())
929 return false;
930 outputColumns.at(0).enabled = true;
931
932 // WARNING: absolutely do not switch the next line to a
933 // reference, the pointed to element gets deleted below.
934 const auto offsetName = iter->second.offsetName;
935 if (offsetName.empty())
936 throw std::runtime_error ("missing offset column for: " + outputColumns.at(0).name);
937
938 requestedColumns.erase (iter);
939
940 if (auto offsetIter = offsetColumns.find (offsetName); offsetIter != offsetColumns.end())
941 offsetColumn = offsetIter->second;
942 else
943 throw std::runtime_error ("missing offset column for: " + outputColumns.at(0).name);
944 return true;
945 }
const std::vector< ColumnarOffsetType > * offsetColumn

◆ connectColumnIndices()

void columnar::TestUtils::IColumnData::connectColumnIndices ( const ColumnVectorHeader & header)
inlineinherited

lookup and store column indices from the header for all enabled output columns

Definition at line 673 of file ColumnarPhysliteTest.cxx.

674 {
675 for (auto& col : outputColumns)
676 {
677 if (col.enabled)
678 col.columnIndex = header.getColumnIndex (col.name);
679 }
680 }

◆ getEntry()

template<typename T, template< typename > class Reader>
virtual void columnar::TestUtils::ColumnDataOutVector< T, Reader >::getEntry ( Long64_t )
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 952 of file ColumnarPhysliteTest.cxx.

953 {
954 outData.resize (offsetColumn->back(), defaultValue);
955 }

◆ getPerfData()

template<typename T, template< typename > class Reader>
virtual BranchPerfData columnar::TestUtils::ColumnDataOutVector< T, Reader >::getPerfData ( float )
inlinenodiscardoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 963 of file ColumnarPhysliteTest.cxx.

964 {
966 result.name = outputColumns.at(0).name + "(out)";
968 return result;
969 }

◆ setData()

template<typename T, template< typename > class Reader>
virtual void columnar::TestUtils::ColumnDataOutVector< T, Reader >::setData ( ColumnVectorData & columnData)
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 957 of file ColumnarPhysliteTest.cxx.

958 {
959 if (outputColumns.at(0).columnIndex != ColumnVectorHeader::nullIndex)
960 columnData.setColumn (outputColumns.at(0).columnIndex, outData.size(), outData.data());
961 }

Member Data Documentation

◆ defaultValue

template<typename T, template< typename > class Reader>
T columnar::TestUtils::ColumnDataOutVector< T, Reader >::defaultValue

Definition at line 914 of file ColumnarPhysliteTest.cxx.

◆ entries

template<typename T, template< typename > class Reader>
unsigned columnar::TestUtils::ColumnDataOutVector< T, Reader >::entries = 0

Definition at line 917 of file ColumnarPhysliteTest.cxx.

◆ offsetColumn

template<typename T, template< typename > class Reader>
const std::vector<ColumnarOffsetType>* columnar::TestUtils::ColumnDataOutVector< T, Reader >::offsetColumn = nullptr

Definition at line 915 of file ColumnarPhysliteTest.cxx.

◆ outData

template<typename T, template< typename > class Reader>
std::vector<T> columnar::TestUtils::ColumnDataOutVector< T, Reader >::outData

Definition at line 916 of file ColumnarPhysliteTest.cxx.

◆ outputColumns

std::vector<OutputColumnInfo> columnar::TestUtils::IColumnData::outputColumns
inherited

Definition at line 666 of file ColumnarPhysliteTest.cxx.


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