ATLAS Offline Software
Trigger
EFTracking
FPGATrackSim
FPGATrackSimInput
src
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
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
#include "
FPGATrackSimInput/IFPGATrackSimEventOutputHeaderTool.h
"
17
#include <numeric>
18
#include <atomic>
19
20
class
FPGATrackSimLogicalEventInputHeader
;
21
class
FPGATrackSimLogicalEventOutputHeader
;
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
33
virtual
StatusCode
readData
(
FPGATrackSimLogicalEventInputHeader
* INheader_1st,
FPGATrackSimLogicalEventInputHeader
* INheader_2nd,
FPGATrackSimLogicalEventOutputHeader
* OUTheader,
bool
&last)
override
;
34
virtual
StatusCode
writeData
(
FPGATrackSimLogicalEventInputHeader
* INheader_1st,
FPGATrackSimLogicalEventInputHeader
* INheader_2nd,
FPGATrackSimLogicalEventOutputHeader
* OUTheader)
override
;
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
Generated on Thu Jul 4 2024 21:15:59 for ATLAS Offline Software by
1.8.18