ATLAS Offline Software
TestVectorTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
12 #ifndef EFTRACKING_FPGA_INTEGRATION__TEST_VECTOR_TOOL_H
13 #define EFTRACKING_FPGA_INTEGRATION__TEST_VECTOR_TOOL_H
14 
17 
18 #include <string>
19 #include <vector>
20 
22 {
26  struct TVHolder
27  {
28  TVHolder() = default;
29  TVHolder(const std::string &name) : name(name) {}
30  std::string name = "";
31  std::vector<uint64_t> inputTV{0};
32  std::vector<uint64_t> refTV{0};
33  };
34 }
35 
43 class TestVectorTool : public extends<AthAlgTool, IEFTrackingFPGAIntegrationTool>
44 {
45 public:
46  using extends::extends;
47 
48  StatusCode initialize() override;
49 
55  StatusCode prepareTV(const std::string inputFile, std::vector<uint64_t> &testVector) const;
56 
60  StatusCode compare(const std::vector<uint64_t> &tv_1, const std::vector<uint64_t> &tv_2) const;
61 
67  StatusCode compare(const EFTrackingFPGAIntegration::TVHolder &tvHolder, const std::vector<uint64_t> &tv_comp) const;
68 };
69 
70 #endif // EFTRACKING_FPGA_INTEGRATION__TEST_VECTOR_TOOL_H
EFTrackingFPGAIntegration::TVHolder::refTV
std::vector< uint64_t > refTV
Definition: TestVectorTool.h:32
TestVectorTool::prepareTV
StatusCode prepareTV(const std::string inputFile, std::vector< uint64_t > &testVector) const
Prepare test vector in the form of std::vector<uint64_t>, can be either .txt or .bin.
Definition: TestVectorTool.cxx:21
EFTrackingFPGAIntegration::TVHolder::TVHolder
TVHolder(const std::string &name)
Definition: TestVectorTool.h:29
TestVectorTool::initialize
StatusCode initialize() override
Definition: TestVectorTool.cxx:14
EFTrackingFPGAIntegration::TVHolder::name
std::string name
Definition: TestVectorTool.h:30
TestVectorTool::compare
StatusCode compare(const std::vector< uint64_t > &tv_1, const std::vector< uint64_t > &tv_2) const
Compare two TV in the form of std::vector<uint64_t>
Definition: TestVectorTool.cxx:78
CaloCondBlobAlgs_fillNoiseFromASCII.inputFile
string inputFile
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:17
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
EFTrackingFPGAIntegration::TVHolder
Definition: TestVectorTool.h:27
EFTrackingFPGAIntegration
Definition: TestVectorTool.h:22
TestVectorTool
Definition: TestVectorTool.h:44
IEFTrackingFPGAIntegrationTool.h
EFTrackingFPGAIntegration::TVHolder::TVHolder
TVHolder()=default
EFTrackingFPGAIntegration::TVHolder::inputTV
std::vector< uint64_t > inputTV
Definition: TestVectorTool.h:31