ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthenaMPTools
src
SharedWriterTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ATHENAMPTOOLS_SHAREDWRITERTOOL_H
6
#define ATHENAMPTOOLS_SHAREDWRITERTOOL_H
7
8
#include "
AthenaMPToolBase.h
"
9
10
class
IConversionSvc;
11
12
class
SharedWriterTool
final :
public
AthenaMPToolBase
13
{
14
public
:
15
SharedWriterTool
(
const
std::string&
type
16
,
const
std::string& name
17
,
const
IInterface* parent);
18
19
virtual
~SharedWriterTool
()
override
;
20
21
virtual
StatusCode
initialize
()
override
;
22
virtual
StatusCode
finalize
()
override
;
23
24
// _________IAthenaMPTool_________
25
virtual
int
makePool
ATLAS_NOT_THREAD_SAFE
(
int
maxevt,
int
nprocs,
const
std::string& topdir)
override
;
26
virtual
StatusCode exec
ATLAS_NOT_THREAD_SAFE
()
override
;
27
28
virtual
void
subProcessLogs
(std::vector<std::string>&)
override
;
29
virtual
AthenaMP::AllWorkerOutputs_ptr
generateOutputReport
()
override
;
30
31
// _____ Actual working horses ________
32
virtual
std::unique_ptr<AthenaInterprocess::ScheduledWork>
bootstrap_func
()
override
;
33
virtual
std::unique_ptr<AthenaInterprocess::ScheduledWork>
exec_func
()
override
;
34
virtual
std::unique_ptr<AthenaInterprocess::ScheduledWork>
fin_func
()
override
;
35
36
private
:
37
SharedWriterTool
();
38
SharedWriterTool
(
const
SharedWriterTool
&);
39
SharedWriterTool
&
operator=
(
const
SharedWriterTool
&);
40
41
// Properties
42
Gaudi::Property<bool>
m_nMotherProcess
{
43
this
,
"MotherProcess"
,
false
,
44
"Expect mother process to write event data. The default is false."
};
45
Gaudi::Property<bool>
m_debug
{
46
this
,
"Debug"
,
false
,
47
"Are we running in debug mode? The default is false"
};
48
49
int
m_rankId
;
// Each worker has its own unique RankID from the range (0,...,m_nprocs-1)
50
51
AthenaInterprocess::SharedQueue
*
m_sharedRankQueue
;
52
SmartIF<IConversionSvc>
m_cnvSvc
;
53
54
};
55
56
#endif
AthenaMPToolBase.h
AthenaInterprocess::SharedQueue
Definition
SharedQueue.h:21
AthenaMPToolBase::AthenaMPToolBase
AthenaMPToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition
AthenaMPToolBase.cxx:33
SharedWriterTool::m_nMotherProcess
Gaudi::Property< bool > m_nMotherProcess
Definition
SharedWriterTool.h:42
SharedWriterTool::exec_func
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > exec_func() override
Definition
SharedWriterTool.cxx:218
SharedWriterTool::m_cnvSvc
SmartIF< IConversionSvc > m_cnvSvc
Definition
SharedWriterTool.h:52
SharedWriterTool::m_debug
Gaudi::Property< bool > m_debug
Definition
SharedWriterTool.h:45
SharedWriterTool::operator=
SharedWriterTool & operator=(const SharedWriterTool &)
SharedWriterTool::SharedWriterTool
SharedWriterTool(const SharedWriterTool &)
SharedWriterTool::fin_func
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > fin_func() override
Definition
SharedWriterTool.cxx:260
SharedWriterTool::SharedWriterTool
SharedWriterTool()
SharedWriterTool::bootstrap_func
virtual std::unique_ptr< AthenaInterprocess::ScheduledWork > bootstrap_func() override
Definition
SharedWriterTool.cxx:110
SharedWriterTool::generateOutputReport
virtual AthenaMP::AllWorkerOutputs_ptr generateOutputReport() override
Definition
SharedWriterTool.cxx:104
SharedWriterTool::ATLAS_NOT_THREAD_SAFE
virtual StatusCode exec ATLAS_NOT_THREAD_SAFE() override
SharedWriterTool::m_rankId
int m_rankId
Definition
SharedWriterTool.h:49
SharedWriterTool::ATLAS_NOT_THREAD_SAFE
virtual int makePool ATLAS_NOT_THREAD_SAFE(int maxevt, int nprocs, const std::string &topdir) override
SharedWriterTool::m_sharedRankQueue
AthenaInterprocess::SharedQueue * m_sharedRankQueue
Definition
SharedWriterTool.h:51
SharedWriterTool::subProcessLogs
virtual void subProcessLogs(std::vector< std::string > &) override
Definition
SharedWriterTool.cxx:96
SharedWriterTool::~SharedWriterTool
virtual ~SharedWriterTool() override
Definition
SharedWriterTool.cxx:29
SharedWriterTool::finalize
virtual StatusCode finalize() override
Definition
SharedWriterTool.cxx:44
SharedWriterTool::SharedWriterTool
SharedWriterTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
SharedWriterTool.cxx:19
SharedWriterTool::initialize
virtual StatusCode initialize() override
Definition
SharedWriterTool.cxx:33
AthenaMP::AllWorkerOutputs_ptr
std::unique_ptr< AllWorkerOutputs > AllWorkerOutputs_ptr
Definition
IAthenaMPTool.h:32
type
Generated on
for ATLAS Offline Software by
1.17.0