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

Public Member Functions

 ColumnDataOutVector (const std::string &val_columnName, const T &val_defaultValue)
virtual bool connect (TTree *, 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 (TestUtils::ToolWrapperData &tool) override
virtual BranchPerfData getPerfData (float) override
virtual void collectColumnData () override

Public Attributes

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

Detailed Description

template<typename T>
struct columnar::TestUtils::ColumnDataOutVector< T >

Definition at line 548 of file ColumnarPhysliteTest.cxx.

Constructor & Destructor Documentation

◆ ColumnDataOutVector()

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

Member Function Documentation

◆ clearColumns()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 583 of file ColumnarPhysliteTest.cxx.

584 {
585 outData.clear ();
586 }

◆ collectColumnData()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 607 of file ColumnarPhysliteTest.cxx.

◆ connect()

template<typename T>
virtual bool columnar::TestUtils::ColumnDataOutVector< T >::connect ( TTree * ,
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 561 of file ColumnarPhysliteTest.cxx.

562 {
563 auto iter = requestedColumns.find (outputColumns.at(0).name);
564 if (iter == requestedColumns.end())
565 return false;
566 outputColumns.at(0).enabled = true;
567
568 // WARNING: absolutely do not switch the next line to a
569 // reference, the pointed to element gets deleted below.
570 const auto offsetName = iter->second.offsetName;
571 if (offsetName.empty())
572 throw std::runtime_error ("missing offset column for: " + outputColumns.at(0).name);
573
574 requestedColumns.erase (iter);
575
576 if (auto offsetIter = offsetColumns.find (offsetName); offsetIter != offsetColumns.end())
577 offsetColumn = offsetIter->second;
578 else
579 throw std::runtime_error ("missing offset column for: " + outputColumns.at(0).name);
580 return true;
581 }
const std::vector< ColumnarOffsetType > * offsetColumn

◆ getEntry()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 588 of file ColumnarPhysliteTest.cxx.

589 {
590 outData.resize (offsetColumn->back(), defaultValue);
591 }

◆ getPerfData()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 599 of file ColumnarPhysliteTest.cxx.

600 {
602 result.name = outputColumns.at(0).name + "(out)";
604 return result;
605 }

◆ setData()

template<typename T>
virtual void columnar::TestUtils::ColumnDataOutVector< T >::setData ( TestUtils::ToolWrapperData & tool)
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 593 of file ColumnarPhysliteTest.cxx.

594 {
595 if (outputColumns.at(0).enabled)
596 tool.setColumn (outputColumns.at(0).name, outData.size(), outData.data());
597 }

Member Data Documentation

◆ defaultValue

template<typename T>
T columnar::TestUtils::ColumnDataOutVector< T >::defaultValue

Definition at line 550 of file ColumnarPhysliteTest.cxx.

◆ entries

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

Definition at line 553 of file ColumnarPhysliteTest.cxx.

◆ offsetColumn

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

Definition at line 551 of file ColumnarPhysliteTest.cxx.

◆ outData

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

Definition at line 552 of file ColumnarPhysliteTest.cxx.

◆ outputColumns

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

Definition at line 311 of file ColumnarPhysliteTest.cxx.


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