ATLAS Offline Software
FPGATrackSimOutputHeaderTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef FPGATrackSim_READOUTPUTHEADERTOOL_H
6 #define FPGATrackSim_READOUTPUTHEADERTOOL_H
7 
17 #include <numeric>
18 #include <atomic>
19 
22 
23 class FPGATrackSimOutputHeaderTool : public extends<AthAlgTool, IFPGATrackSimEventOutputHeaderTool>
24 {
25 
26 public:
27 
28  FPGATrackSimOutputHeaderTool(std::string const &, std::string const &, IInterface const *);
29  virtual ~FPGATrackSimOutputHeaderTool() = default;
30  virtual StatusCode initialize() override;
31  virtual StatusCode finalize() override;
32 
35 
36  std::string fileName() { return std::accumulate(m_inpath.value().begin(), m_inpath.value().end(), std::string{}); }
37 
38 private:
39  // JO configuration
40  StringArrayProperty m_inpath {this, "InFileName", {"."}, "input file paths"};
41  StringProperty m_rwoption {this, "RWstatus", std::string("READ"), "define read or write file option: READ, RECREATE, HEADER"};
42  BooleanProperty m_runSecondStage {this, "RunSecondStage",false, "flag to enable running the second stage fitting"};
43 
44  // internal counters
45  std::atomic<unsigned> m_event = 0;
46  std::atomic<unsigned> m_totevent = 0;
47  std::atomic<unsigned> m_file = 0;
48 
49  std::string m_branchNameIn_1st;
50  std::string m_branchNameIn_2nd;
51  std::string m_branchNameOut;
52 
53  StatusCode openFile(std::string const & path);
54 
55 };
56 
57 #endif // FPGATrackSim_READOUTPUTHEADERTOOL_H
FPGATrackSimOutputHeaderTool::m_branchNameIn_1st
std::string m_branchNameIn_1st
Definition: FPGATrackSimOutputHeaderTool.h:49
FPGATrackSimLogicalEventInputHeader
Definition: FPGATrackSimLogicalEventInputHeader.h:21
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:126
FPGATrackSimOutputHeaderTool::openFile
StatusCode openFile(std::string const &path)
Definition: FPGATrackSimOutputHeaderTool.cxx:14
FPGATrackSimOutputHeaderTool::m_runSecondStage
BooleanProperty m_runSecondStage
Definition: FPGATrackSimOutputHeaderTool.h:42
FPGATrackSimOutputHeaderTool::m_branchNameOut
std::string m_branchNameOut
Definition: FPGATrackSimOutputHeaderTool.h:51
FPGATrackSimOutputHeaderTool::writeData
virtual StatusCode writeData(FPGATrackSimLogicalEventInputHeader *INheader_1st, FPGATrackSimLogicalEventInputHeader *INheader_2nd, FPGATrackSimLogicalEventOutputHeader *OUTheader) override
Definition: FPGATrackSimOutputHeaderTool.cxx:146
FPGATrackSimOutputHeaderTool
Definition: FPGATrackSimOutputHeaderTool.h:24
accumulate
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
Definition: FPGATrackSimMatrixAccumulator.cxx:22
FPGATrackSimOutputHeaderTool::finalize
virtual StatusCode finalize() override
Definition: FPGATrackSimOutputHeaderTool.cxx:125
FPGATrackSimOutputHeaderTool::m_file
std::atomic< unsigned > m_file
Definition: FPGATrackSimOutputHeaderTool.h:47
FPGATrackSimOutputHeaderTool::m_inpath
StringArrayProperty m_inpath
Definition: FPGATrackSimOutputHeaderTool.h:40
FPGATrackSimOutputHeaderTool::m_rwoption
StringProperty m_rwoption
Definition: FPGATrackSimOutputHeaderTool.h:41
FPGATrackSimOutputHeaderTool::m_branchNameIn_2nd
std::string m_branchNameIn_2nd
Definition: FPGATrackSimOutputHeaderTool.h:50
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
FPGATrackSimOutputHeaderTool::m_event
std::atomic< unsigned > m_event
Definition: FPGATrackSimOutputHeaderTool.h:45
FPGATrackSimOutputHeaderTool::readData
virtual StatusCode readData(FPGATrackSimLogicalEventInputHeader *INheader_1st, FPGATrackSimLogicalEventInputHeader *INheader_2nd, FPGATrackSimLogicalEventOutputHeader *OUTheader, bool &last) override
Definition: FPGATrackSimOutputHeaderTool.cxx:203
FPGATrackSimOutputHeaderTool::fileName
std::string fileName()
Definition: FPGATrackSimOutputHeaderTool.h:36
FPGATrackSimOutputHeaderTool::m_totevent
std::atomic< unsigned > m_totevent
Definition: FPGATrackSimOutputHeaderTool.h:46
IFPGATrackSimEventOutputHeaderTool.h
FPGATrackSimOutputHeaderTool::FPGATrackSimOutputHeaderTool
FPGATrackSimOutputHeaderTool(std::string const &, std::string const &, IInterface const *)
Definition: FPGATrackSimOutputHeaderTool.cxx:9
FPGATrackSimLogicalEventOutputHeader
Definition: FPGATrackSimLogicalEventOutputHeader.h:12
FPGATrackSimOutputHeaderTool::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimOutputHeaderTool.cxx:72
FPGATrackSimOutputHeaderTool::~FPGATrackSimOutputHeaderTool
virtual ~FPGATrackSimOutputHeaderTool()=default