Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TestVectorTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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 
20 
21 #include <string>
22 #include <vector>
23 
25 {
29  struct TVHolder
30  {
31  TVHolder() = default;
32  TVHolder(const std::string &name) : name(name) {}
33  std::string name = "";
34  std::vector<uint64_t> inputTV{0};
35  std::vector<uint64_t> refTV{0};
36  };
37 }
38 
47 class TestVectorTool : public extends<AthAlgTool, IEFTrackingFPGAIntegrationTool>
48 {
49 public:
50  using extends::extends;
51 
52  StatusCode initialize() override;
53 
59  StatusCode prepareTV(const std::string &inputFile, std::vector<uint64_t> &testVector) const;
60 
64  StatusCode compare(const std::vector<uint64_t> &tv_1, const std::vector<uint64_t> &tv_2) const;
65 
71  StatusCode compare(const EFTrackingFPGAIntegration::TVHolder &tvHolder, const std::vector<uint64_t> &tv_comp) const;
72 
78  StatusCode encodePixelL2G(const xAOD::PixelClusterContainer *pixelClusters, std::vector<uint64_t> &encodedData) const;
79 
86  StatusCode encodeStripL2G(const xAOD::StripClusterContainer *stripClusters, std::vector<uint64_t> &encodedData) const;
87 
88 private:
89  const PixelID* m_pixelid {nullptr};
90 };
91 
92 #endif // EFTRACKING_FPGA_INTEGRATION__TEST_VECTOR_TOOL_H
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
EFTrackingFPGAIntegration::TVHolder::refTV
std::vector< uint64_t > refTV
Definition: TestVectorTool.h:35
EFTrackingFPGAIntegration::TVHolder::TVHolder
TVHolder(const std::string &name)
Definition: TestVectorTool.h:32
TestVectorTool::m_pixelid
const PixelID * m_pixelid
Definition: TestVectorTool.h:89
TestVectorTool::initialize
StatusCode initialize() override
Definition: TestVectorTool.cxx:16
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:24
EFTrackingFPGAIntegration::TVHolder::name
std::string name
Definition: TestVectorTool.h:33
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:81
CaloCondBlobAlgs_fillNoiseFromASCII.inputFile
string inputFile
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:17
TestVectorTool::encodePixelL2G
StatusCode encodePixelL2G(const xAOD::PixelClusterContainer *pixelClusters, std::vector< uint64_t > &encodedData) const
Encode xAOD pixel cluster to L2G EDM TV.
Definition: TestVectorTool.cxx:161
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PixelClusterContainer.h
AthAlgTool.h
EFTrackingFPGAIntegration::TVHolder
Definition: TestVectorTool.h:30
EFTrackingFPGAIntegration
Definition: BenchmarkAlg.h:28
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
TestVectorTool::encodeStripL2G
StatusCode encodeStripL2G(const xAOD::StripClusterContainer *stripClusters, std::vector< uint64_t > &encodedData) const
Encode xAOD strip cluster to L2G EDM TV.
Definition: TestVectorTool.cxx:271
TestVectorTool
Definition: TestVectorTool.h:48
StripClusterContainer.h
IEFTrackingFPGAIntegrationTool.h
PixelID
Definition: PixelID.h:67
EFTrackingFPGAIntegration::TVHolder::TVHolder
TVHolder()=default
EFTrackingFPGAIntegration::TVHolder::inputTV
std::vector< uint64_t > inputTV
Definition: TestVectorTool.h:34