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>
14 
15 #include <gtest/gtest.h>
16 
17 #include <functional>
18 #include <string>
19 #include <vector>
20 
21 class TFile;
22 class TTree;
23 
24 namespace columnar
25 {
26  namespace PhysliteTestHelpers
27  {
28  class IColumnData;
29  }
30 
31  class ColumnarToolWrapper;
32 
33  struct ColumnarPhysLiteTest : testing::Test
34  {
35  std::unique_ptr<TFile> file;
36  TTree *tree = nullptr;
37 
38  std::vector<std::shared_ptr<PhysliteTestHelpers::IColumnData>> knownColumns;
39  std::vector<std::shared_ptr<PhysliteTestHelpers::IColumnData>> usedColumns;
40  std::unordered_map<std::string,const std::vector<ColumnarOffsetType>*> offsetColumns;
41 
44 
46  std::string makeUniqueName ();
47 
49  static bool checkMode ();
50 
51  void setupKnownColumns ();
52 
53  void setupColumns (ColumnarToolWrapper& toolWrapper);
54 
56  struct XAODArgs
57  {
58  std::string inputContainer;
59  std::string outputContainer;
60  bool isPrepCall = false;
61  };
62 
63  void doCall (asg::AsgTool& tool, const std::string& name, const std::string& container, std::function<void(XAODArgs&)> callXAOD, const std::vector<std::pair<std::string,std::string>>& containerRenames, const std::string& sysName = "");
64  };
65 }
66 
67 #endif
CaloCondBlobAlgs_fillNoiseFromASCII.sysName
sysName
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:92
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
columnar::ColumnarPhysLiteTest::XAODArgs::outputContainer
std::string outputContainer
Definition: ColumnarPhysliteTest.h:59
columnar::ColumnarPhysLiteTest::setupColumns
void setupColumns(ColumnarToolWrapper &toolWrapper)
Definition: ColumnarPhysliteTest.cxx:1415
columnar::ColumnarPhysLiteTest::XAODArgs::inputContainer
std::string inputContainer
Definition: ColumnarPhysliteTest.h:58
columnar::ColumnarPhysLiteTest::offsetColumns
std::unordered_map< std::string, const std::vector< ColumnarOffsetType > * > offsetColumns
Definition: ColumnarPhysliteTest.h:40
columnar::ColumnarPhysLiteTest::~ColumnarPhysLiteTest
~ColumnarPhysLiteTest()
columnar::ColumnarPhysLiteTest::ColumnarPhysLiteTest
ColumnarPhysLiteTest()
Definition: ColumnarPhysliteTest.cxx:1201
columnar::ColumnarPhysLiteTest::file
std::unique_ptr< TFile > file
Definition: ColumnarPhysliteTest.h:35
columnar::ColumnarPhysLiteTest::XAODArgs::isPrepCall
bool isPrepCall
Definition: ColumnarPhysliteTest.h:60
IColumnarTool.h
columnar::ColumnarPhysLiteTest::makeUniqueName
std::string makeUniqueName()
make a unique tool name to be used in unit tests
Definition: ColumnarPhysliteTest.cxx:1226
columnar::ColumnarPhysLiteTest::setupKnownColumns
void setupKnownColumns()
Definition: ColumnarPhysliteTest.cxx:1238
columnar::ColumnarPhysLiteTest::knownColumns
std::vector< std::shared_ptr< PhysliteTestHelpers::IColumnData > > knownColumns
Definition: ColumnarPhysliteTest.h:38
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
columnar::ColumnarToolWrapper
a class that wraps an IColumnarTool for use in Python
Definition: ColumnarToolWrapper.h:36
columnar::ColumnarPhysLiteTest::doCall
void doCall(asg::AsgTool &tool, const std::string &name, const std::string &container, std::function< void(XAODArgs &)> callXAOD, const std::vector< std::pair< std::string, std::string >> &containerRenames, const std::string &sysName="")
Definition: ColumnarPhysliteTest.cxx:1447
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:452
columnar::ColumnarPhysLiteTest::tree
TTree * tree
Definition: ColumnarPhysliteTest.h:36
columnar::ColumnarPhysLiteTest::checkMode
static bool checkMode()
check whether we have the right mode
Definition: ColumnarPhysliteTest.cxx:1233
columnar
Definition: ClusterDef.h:16
columnar::ColumnarPhysLiteTest
Definition: ColumnarPhysliteTest.h:34
ColumnInfo.h
AsgTool.h
columnar::ColumnarPhysLiteTest::XAODArgs
the arguments for the function calling in xAOD mode
Definition: ColumnarPhysliteTest.h:57
columnar::PhysliteTestHelpers::IColumnData
Definition: ColumnarPhysliteTest.cxx:187
columnar::ColumnarPhysLiteTest::usedColumns
std::vector< std::shared_ptr< PhysliteTestHelpers::IColumnData > > usedColumns
Definition: ColumnarPhysliteTest.h:39