ATLAS Offline Software
ColumnarPhysliteTest.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef COLUMNAR_TEST_FIXTURES__COLUMNAR_PHYS_LITE_TEST_H
9 #define COLUMNAR_TEST_FIXTURES__COLUMNAR_PHYS_LITE_TEST_H
10 
11 #include <AsgTools/AsgTool.h>
15 
16 #include <gtest/gtest.h>
17 
18 #include <functional>
19 #include <string>
20 #include <vector>
21 
22 class TFile;
23 class TTree;
24 
25 namespace columnar
26 {
27  class ToolColumnVectorMap;
28 
29  namespace TestUtils
30  {
31  class IColumnData;
32  }
33 
34 
35  struct ColumnarPhysLiteTest : testing::Test
36  {
37  std::unique_ptr<TFile> file;
38  TTree *tree = nullptr;
39 
40  std::vector<std::shared_ptr<TestUtils::IColumnData>> knownColumns;
41  std::vector<std::shared_ptr<TestUtils::IColumnData>> usedColumns;
42  std::unordered_map<std::string,const std::vector<ColumnarOffsetType>*> offsetColumns;
43 
46 
48  std::string makeUniqueName ();
49 
51  static bool checkMode ();
52 
53  void setupKnownColumns ();
54 
55  void setupColumns (ToolColumnVectorMap& toolWrapper);
56 
57  void doCall (asg::AsgTool& tool, const std::string& name, const std::string& container, TestUtils::IXAODToolCaller& xAODToolCaller, const std::vector<std::pair<std::string,std::string>>& containerRenames, const std::string& sysName = "");
58  };
59 }
60 
61 #endif
CaloCondBlobAlgs_fillNoiseFromASCII.sysName
sysName
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:92
IXAODToolCaller.h
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
columnar::ColumnarPhysLiteTest::knownColumns
std::vector< std::shared_ptr< TestUtils::IColumnData > > knownColumns
Definition: ColumnarPhysliteTest.h:40
TestUtils
Definition: TestUtils.py:1
columnar::ColumnarPhysLiteTest::offsetColumns
std::unordered_map< std::string, const std::vector< ColumnarOffsetType > * > offsetColumns
Definition: ColumnarPhysliteTest.h:42
columnar::ColumnarPhysLiteTest::~ColumnarPhysLiteTest
~ColumnarPhysLiteTest()
columnar::ColumnarPhysLiteTest::ColumnarPhysLiteTest
ColumnarPhysLiteTest()
Definition: ColumnarPhysliteTest.cxx:1702
columnar::ToolColumnVectorMap
a class that interfaces an IColumnarTool to a ColumnVectorHeader
Definition: ToolColumnVectorMap.h:30
columnar::ColumnarPhysLiteTest::setupColumns
void setupColumns(ToolColumnVectorMap &toolWrapper)
Definition: ColumnarPhysliteTest.cxx:1896
columnar::ColumnarPhysLiteTest::file
std::unique_ptr< TFile > file
Definition: ColumnarPhysliteTest.h:37
columnar::ColumnarPhysLiteTest::doCall
void doCall(asg::AsgTool &tool, const std::string &name, const std::string &container, TestUtils::IXAODToolCaller &xAODToolCaller, const std::vector< std::pair< std::string, std::string >> &containerRenames, const std::string &sysName="")
Definition: ColumnarPhysliteTest.cxx:1969
columnar::TestUtils::IXAODToolCaller
a wrapper around a CP tool in xAOD mdoe to call it in the PHYSLITE test
Definition: IXAODToolCaller.h:32
IColumnarTool.h
columnar::ColumnarPhysLiteTest::makeUniqueName
std::string makeUniqueName()
make a unique tool name to be used in unit tests
Definition: ColumnarPhysliteTest.cxx:1727
columnar::ColumnarPhysLiteTest::setupKnownColumns
void setupKnownColumns()
Definition: ColumnarPhysliteTest.cxx:1739
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:452
columnar::ColumnarPhysLiteTest::tree
TTree * tree
Definition: ColumnarPhysliteTest.h:38
columnar::ColumnarPhysLiteTest::checkMode
static bool checkMode()
check whether we have the right mode
Definition: ColumnarPhysliteTest.cxx:1734
columnar
Definition: ClusterDef.h:16
columnar::ColumnarPhysLiteTest
Definition: ColumnarPhysliteTest.h:36
columnar::ColumnarPhysLiteTest::usedColumns
std::vector< std::shared_ptr< TestUtils::IColumnData > > usedColumns
Definition: ColumnarPhysliteTest.h:41
ColumnInfo.h
AsgTool.h