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

Public Member Functions

 ColumnDataScalar (const std::string &val_branchName)
virtual bool connect (TTree *tree, std::unordered_map< std::string, const std::vector< ColumnarOffsetType > * > &, std::unordered_map< std::string, ColumnInfo > &requestedColumns) override
virtual void clearColumns () override
virtual void getEntry (Long64_t entry) override
virtual void setData (ColumnVectorData &columnData) override
virtual BranchPerfData getPerfData (float emptyTime) 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

BranchReader< T > branchReader
Benchmark benchmarkUnpack
Benchmark benchmark
std::vector< T > outData
unsigned entries = 0
std::vector< OutputColumnInfooutputColumns

Detailed Description

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

Definition at line 372 of file ColumnarPhysliteTest.cxx.

Constructor & Destructor Documentation

◆ ColumnDataScalar()

template<typename T>
columnar::TestUtils::ColumnDataScalar< T >::ColumnDataScalar ( const std::string & val_branchName)
inlineexplicit

Member Function Documentation

◆ clearColumns()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 399 of file ColumnarPhysliteTest.cxx.

400 {
401 outData.clear ();
402 }

◆ collectColumnData()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 435 of file ColumnarPhysliteTest.cxx.

◆ connect()

template<typename T>
virtual bool columnar::TestUtils::ColumnDataScalar< T >::connect ( TTree * tree,
std::unordered_map< std::string, const std::vector< ColumnarOffsetType > * > & ,
std::unordered_map< std::string, ColumnInfo > & requestedColumns )
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 386 of file ColumnarPhysliteTest.cxx.

387 {
388 auto iter = requestedColumns.find (outputColumns.at(0).name);
389 if (iter == requestedColumns.end())
390 return false;
391 outputColumns.at(0).enabled = true;
392 requestedColumns.erase (iter);
393
394 branchReader.connectTree (tree);
395
396 return true;
397 }

◆ 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 303 of file ColumnarPhysliteTest.cxx.

304 {
305 for (auto& col : outputColumns)
306 {
307 if (col.enabled)
308 col.columnIndex = header.getColumnIndex (col.name);
309 }
310 }

◆ getEntry()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 404 of file ColumnarPhysliteTest.cxx.

405 {
406 benchmark.startTimer ();
407 const auto& branchData = branchReader.getEntry (entry);
408 benchmark.stopTimer ();
409 benchmarkUnpack.startTimer ();
410 outData.push_back (branchData);
411 benchmarkUnpack.stopTimer ();
412 }

◆ getPerfData()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 420 of file ColumnarPhysliteTest.cxx.

421 {
423 result.name = branchReader.columnName();
424 result.timeRead = benchmark.getEntryTime(emptyTime);
425 result.timeUnpack = benchmarkUnpack.getEntryTime(emptyTime);
426 benchmark.setSilence();
427 benchmarkUnpack.setSilence();
428 result.entrySize = branchReader.entrySize();
429 result.uncompressedSize = branchReader.uncompressedSize();
430 result.numBaskets = branchReader.numBaskets();
432 return result;
433 }

◆ setData()

template<typename T>
virtual void columnar::TestUtils::ColumnDataScalar< T >::setData ( ColumnVectorData & columnData)
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 414 of file ColumnarPhysliteTest.cxx.

415 {
416 if (outputColumns.at(0).columnIndex != ColumnVectorHeader::nullIndex)
417 columnData.setColumn (outputColumns.at(0).columnIndex, outData.size(), outData.data());
418 }

Member Data Documentation

◆ benchmark

template<typename T>
Benchmark columnar::TestUtils::ColumnDataScalar< T >::benchmark

Definition at line 376 of file ColumnarPhysliteTest.cxx.

◆ benchmarkUnpack

template<typename T>
Benchmark columnar::TestUtils::ColumnDataScalar< T >::benchmarkUnpack

Definition at line 375 of file ColumnarPhysliteTest.cxx.

◆ branchReader

template<typename T>
BranchReader<T> columnar::TestUtils::ColumnDataScalar< T >::branchReader

Definition at line 374 of file ColumnarPhysliteTest.cxx.

◆ entries

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

Definition at line 378 of file ColumnarPhysliteTest.cxx.

◆ outData

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

Definition at line 377 of file ColumnarPhysliteTest.cxx.

◆ outputColumns

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

Definition at line 296 of file ColumnarPhysliteTest.cxx.


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