Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
EFTrackingDataStreamLoaderAlgorithm.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef EFTRACKING_DATA_STREAM_LOADER_ALGORITHM
6 #define EFTRACKING_DATA_STREAM_LOADER_ALGORITHM
7 
8 #include <mutex>
9 
12 #include "TestVectorTool.h"
13 
15 {
16  Gaudi::Property<std::string> m_inputCsvPath{
17  this,
18  "inputCsvPath",
19  "",
20  "Path to input csv container."
21  };
22 
24  this,
25  "inputDataStream",
26  "",
27  "Key to access encoded 64bit words following the EFTracking specification, read as input."
28  };
29 
30  Gaudi::Property<std::size_t> m_bufferSize {
31  this,
32  "bufferSize",
33  8192,
34  "Capacity of std::vector."
35  };
36 
37  ToolHandle<TestVectorTool> m_testVectorTool{
38  this,
39  "TestVectorTool",
40  "TestVectorTool",
41  "Tool to prepare test vector"
42  };
43 
44  // Hack to track progress through the test vector across multiple calls to
45  // execute. The performance impact is not important as this algorithm is only
46  // used in small tests.
47  mutable std::size_t m_eventNumber ATLAS_THREAD_SAFE {0};
48  mutable std::mutex m_mutex ATLAS_THREAD_SAFE;
49 
50  public:
51  EFTrackingDataStreamLoaderAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
52  StatusCode initialize() override final;
53  StatusCode execute(const EventContext& ctx) const override final;
54 };
55 
56 #endif
57 
EFTrackingDataStreamLoaderAlgorithm
Definition: EFTrackingDataStreamLoaderAlgorithm.h:15
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
EFTrackingDataStreamLoaderAlgorithm::m_inputCsvPath
Gaudi::Property< std::string > m_inputCsvPath
Definition: EFTrackingDataStreamLoaderAlgorithm.h:16
EFTrackingDataStreamLoaderAlgorithm::EFTrackingDataStreamLoaderAlgorithm
EFTrackingDataStreamLoaderAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: EFTrackingDataStreamLoaderAlgorithm.cxx:89
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
EFTrackingDataStreamLoaderAlgorithm::m_testVectorTool
ToolHandle< TestVectorTool > m_testVectorTool
Definition: EFTrackingDataStreamLoaderAlgorithm.h:37
EFTrackingDataStreamLoaderAlgorithm::execute
StatusCode execute(const EventContext &ctx) const override final
Definition: EFTrackingDataStreamLoaderAlgorithm.cxx:102
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EFTrackingDataStreamLoaderAlgorithm::initialize
StatusCode initialize() override final
Definition: EFTrackingDataStreamLoaderAlgorithm.cxx:95
EFTrackingDataStreamLoaderAlgorithm::ATLAS_THREAD_SAFE
std::size_t m_eventNumber ATLAS_THREAD_SAFE
Definition: EFTrackingDataStreamLoaderAlgorithm.h:47
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
columnar::final
CM final
Definition: ColumnAccessor.h:106
EFTrackingDataStreamLoaderAlgorithm::ATLAS_THREAD_SAFE
std::mutex m_mutex ATLAS_THREAD_SAFE
Definition: EFTrackingDataStreamLoaderAlgorithm.h:48
TestVectorTool.h
EFTrackingDataStreamLoaderAlgorithm::m_bufferSize
Gaudi::Property< std::size_t > m_bufferSize
Definition: EFTrackingDataStreamLoaderAlgorithm.h:30
EFTrackingDataStreamLoaderAlgorithm::m_inputDataStreamKey
SG::WriteHandleKey< std::vector< unsigned long > > m_inputDataStreamKey
Definition: EFTrackingDataStreamLoaderAlgorithm.h:23