ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
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
 

Public Attributes

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

Detailed Description

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

Definition at line 587 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

Definition at line 593 of file ColumnarPhysliteTest.cxx.

594  : defaultValue (val_defaultValue)
595  {
596  outputColumns.push_back ({.name = val_columnName});
597  }

Member Function Documentation

◆ clearColumns()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 621 of file ColumnarPhysliteTest.cxx.

622  {
623  outData.clear ();
624  }

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

600  {
601  auto iter = requestedColumns.find (outputColumns.at(0).name);
602  if (iter == requestedColumns.end())
603  return false;
604  outputColumns.at(0).enabled = true;
605 
606  // WARNING: absolutely do not switch the next line to a
607  // reference, the pointed to element gets deleted below.
608  const auto offsetName = iter->second.offsetName;
609  if (offsetName.empty())
610  throw std::runtime_error ("missing offset column for: " + outputColumns.at(0).name);
611 
612  requestedColumns.erase (iter);
613 
614  if (auto offsetIter = offsetColumns.find (offsetName); offsetIter != offsetColumns.end())
615  offsetColumn = offsetIter->second;
616  else
617  throw std::runtime_error ("missing offset column for: " + outputColumns.at(0).name);
618  return true;
619  }

◆ getEntry()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 626 of file ColumnarPhysliteTest.cxx.

627  {
628  outData.resize (offsetColumn->back(), defaultValue);
629  }

◆ getPerfData()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 637 of file ColumnarPhysliteTest.cxx.

638  {
639  BranchPerfData result;
640  result.name = outputColumns.at(0).name + "(out)";
641  return result;
642  }

◆ setData()

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

Implements columnar::TestUtils::IColumnData.

Definition at line 631 of file ColumnarPhysliteTest.cxx.

632  {
633  if (outputColumns.at(0).enabled)
634  tool.setColumn (outputColumns.at(0).name, outData.size(), outData.data());
635  }

Member Data Documentation

◆ defaultValue

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

Definition at line 589 of file ColumnarPhysliteTest.cxx.

◆ offsetColumn

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

Definition at line 590 of file ColumnarPhysliteTest.cxx.

◆ outData

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

Definition at line 591 of file ColumnarPhysliteTest.cxx.

◆ outputColumns

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

Definition at line 369 of file ColumnarPhysliteTest.cxx.


The documentation for this struct was generated from the following file:
createLinkingScheme.iter
iter
Definition: createLinkingScheme.py:62
get_generator_info.result
result
Definition: get_generator_info.py:21
columnar::TestUtils::ColumnDataOutVector::offsetColumn
const std::vector< ColumnarOffsetType > * offsetColumn
Definition: ColumnarPhysliteTest.cxx:590
columnar::TestUtils::ColumnDataOutVector::defaultValue
T defaultValue
Definition: ColumnarPhysliteTest.cxx:589
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:452
columnar::TestUtils::IColumnData::outputColumns
std::vector< OutputColumnInfo > outputColumns
Definition: ColumnarPhysliteTest.cxx:369
columnar::TestUtils::ColumnDataOutVector::outData
std::vector< T > outData
Definition: ColumnarPhysliteTest.cxx:591