ATLAS Offline Software
Control
AthenaPython
src
PyComponentMgr.h
Go to the documentation of this file.
1
3
/*
4
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// PyComponentMgr.h
8
// Header file for class PyAthena::PyComponentMgr
9
// Author: S.Binet<binet@cern.ch>
11
#ifndef ATHENAPYTHON_PYCOMPONENTMGR_H
12
#define ATHENAPYTHON_PYCOMPONENTMGR_H
13
14
// STL includes
15
#include <string>
16
#include <unordered_map>
17
18
// FrameWork includes
19
#include "GaudiKernel/ServiceHandle.h"
20
#include "
AthenaBaseComps/AthService.h
"
21
#include "
CxxUtils/checker_macros.h
"
22
23
// AthenaPython includes
24
#include "
AthenaPython/IPyComponentMgr.h
"
25
26
// Forward declaration
27
class
ISvcLocator;
28
template
<
class
TYPE>
class
SvcFactory
;
29
struct
_object;
30
typedef
_object
PyObject
;
31
class
IPyComponent
;
32
33
namespace
PyAthena
{
34
35
class
ATLAS_NOT_THREAD_SAFE
PyComponentMgr
36
:
public
extends<AthService, IPyComponentMgr>
37
{
38
friend
class
SvcFactory
<
PyAthena
::
PyComponentMgr
>;
39
41
// Public methods:
43
public
:
44
45
// Copy constructor:
46
48
PyComponentMgr
( const std::string& name, ISvcLocator* pSvcLocator );
49
51
virtual
~
PyComponentMgr
();
52
54
55
virtual
StatusCode
initialize
() override;
56
virtual
StatusCode
finalize
() override;
58
63
virtual
PyObject
* pyObject( IPyComponent* component ) override;
64
65
66
private
:
67
68
PyComponentMgr
() =
delete
;
69
70
71
private
:
72
82
PyObject
* m_dict;
83
84
typedef std::unordered_map<std::string, PyObject*>
PyComponents_t
;
90
PyComponents_t
m_components;
91
};
92
93
}
//> namespace PyAthena
94
95
#endif //> ATHENAPYTHON_PYATHENA_PYCOMPONENTMGR_H
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition:
PyTestsLib.py:50
initialize
void initialize()
Definition:
run_EoverP.cxx:894
SvcFactory
Definition:
AthCnvSvc.h:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IPyComponent
Definition:
IPyComponent.h:31
PyAthena::PyComponentMgr::PyComponents_t
std::unordered_map< std::string, PyObject * > PyComponents_t
Definition:
PyComponentMgr.h:84
PyObject
_object PyObject
Definition:
PyComponentMgr.h:29
IPyComponentMgr.h
PyAthena
Definition:
IPyComponent.h:28
calibdata.delete
list delete
Definition:
calibdata.py:46
AthService.h
checker_macros.h
Define macros for attributes used to control the static checker.
PyObject
_object PyObject
Definition:
IPyComponent.h:26
PyAthena::PyComponentMgr
Definition:
PyComponentMgr.h:37
PyAthena::ATLAS_NOT_THREAD_SAFE
StatusCode callPyMethod ATLAS_NOT_THREAD_SAFE(PyObject *self, const char *method, PyObject *arg=nullptr)
call the python method
Generated on Sun Dec 22 2024 21:16:46 for ATLAS Offline Software by
1.8.18