ATLAS Offline Software
Loading...
Searching...
No Matches
PyAthenaAud.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
6
7// PyAthenaAud.h
8// Header file for class PyAthena::Aud
9// Author: S.Binet<binet@cern.ch>
11#ifndef ATHENAPYTHON_PYATHENAAUD_H
12#define ATHENAPYTHON_PYATHENAAUD_H
13
14// STL includes
15#include <string>
16
17// FrameWork includes
18#include "Gaudi/Auditor.h"
21
22// Forward declaration
23class INamedInterface;
24// Python
25struct _object;
26typedef _object PyObject;
27
28namespace PyAthena {
29
31 public Gaudi::Auditor
32{
33 public:
34
35 // Copy constructor:
36
38 Aud( const std::string& name, ISvcLocator* svcLocator );
39
41 virtual ~Aud();
42
44
45 virtual StatusCode initialize() override;
46 virtual StatusCode sysInitialize() override;
47 virtual StatusCode finalize() override;
49
50
55 virtual const char* typeName() const override;
56
58
59 virtual void before(const std::string& evt, const std::string& name,
60 const EventContext& ctx) override;
61
62 virtual void after(const std::string& evt, const std::string& name,
63 const EventContext& ctx, const StatusCode& sc) override;
65
68 virtual PyObject* self() override { return m_self; }
69
70 protected:
71
74 virtual bool setPyAttr( PyObject* pyobj ) override;
75
77 // Private data:
79 private:
80
82 Aud();
83
85 // Protected data:
87 protected:
88
91
92};
93
94// I/O operators
96
98// Inline methods:
100
101} //> end namespace PyAthena
102
103#endif //> ATHENAPYTHON_PYATHENAAUD_H
_object PyObject
static Double_t sc
Define macros for attributes used to control the static checker.
Aud(const std::string &name, ISvcLocator *svcLocator)
Constructor with parameters:
virtual void after(const std::string &evt, const std::string &name, const EventContext &ctx, const StatusCode &sc) override
virtual StatusCode sysInitialize() override
virtual PyObject * self() override
return associated python object.
Definition PyAthenaAud.h:68
PyObject * m_self
Pointer to self (from the python world)
Definition PyAthenaAud.h:90
virtual const char * typeName() const override
return the std::type_info name of the underlying py-component This is used by concrete implementation...
virtual void before(const std::string &evt, const std::string &name, const EventContext &ctx) override
Auditor interface
virtual StatusCode finalize() override
Aud()
Default constructor:
StatusCode callPyMethod ATLAS_NOT_THREAD_SAFE(PyObject *self, const char *method, PyObject *arg=nullptr)
call the python method
void initialize()