ATLAS Offline Software
Loading...
Searching...
No Matches
NtupleCnvSvc.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5*/
6
7// NtupleCnvSvc.h
8// Header file for class NtupleCnvSvc
9// Author: S.Binet<binet@cern.ch>
11#ifndef ATHENAROOTCOMPS_NTUPLECNVSVC_H
12#define ATHENAROOTCOMPS_NTUPLECNVSVC_H 1
13
14// STL includes
15#include <string>
16
17// FrameWork includes
19
20// GaudiKernel
21#include "GaudiKernel/IConversionSvc.h"
22
23// Forward declaration
24class ISvcLocator;
25template <class TYPE> class SvcFactory;
26
27namespace Athena {
28
30 : public extends<::AthCnvSvc, ::IConversionSvc>
31{
32
34 // Public methods:
36 public:
37
38 // Copy constructor:
39
41 NtupleCnvSvc( const std::string& name, ISvcLocator* pSvcLocator );
42
44 virtual ~NtupleCnvSvc();
45
46 // Assignment operator:
47 //NtupleCnvSvc &operator=(const NtupleCnvSvc &alg);
48
50
51 virtual StatusCode initialize();
52 virtual StatusCode finalize();
54
56
57
60 virtual
61 StatusCode updateServiceState(IOpaqueAddress* pAddress);
62
67 virtual
68 StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject);
69
75 virtual
76 StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress);
77
83 virtual
84 StatusCode fillRepRefs(IOpaqueAddress* pAddress, DataObject* pObject);
85
90 virtual
91 StatusCode connectOutput(const std::string& outputConnectionSpec,
92 const std::string& openMode);
93
97 virtual
98 StatusCode connectOutput(const std::string& outputConnectionSpec);
99
101 virtual
102 StatusCode commitOutput(const std::string& outputConnectionSpec,
103 bool doCommit);
104
106
108
109
117 virtual
118 StatusCode createAddress(long svcType,
119 const CLID& clid,
120 const std::string* par,
121 const unsigned long* ip,
122 IOpaqueAddress*& refpAddress);
123
127 virtual
128 StatusCode convertAddress(const IOpaqueAddress* pAddress,
129 std::string& refAddress);
130
136 virtual
137 StatusCode createAddress(long svcType,
138 const CLID& clid,
139 const std::string& refAddress,
140 IOpaqueAddress*& refpAddress);
142
143protected:
144
146 virtual
147 IConverter* createConverter(long typ,
148 const CLID& clid,
149 const ICnvFactory* fac);
150
152 // Private data:
154 private:
155
158
160
161
162};
163
164} //> end namespace Athena
165
166#endif //> !ATHENAROOTCOMPS_NTUPLECNVSVC_H
uint32_t CLID
The Class ID type.
virtual StatusCode commitOutput(const std::string &outputConnectionSpec, bool doCommit)
Commit pending output.
virtual StatusCode createAddress(long svcType, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
IAddressCreator interfaces
virtual ~NtupleCnvSvc()
Destructor:
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Implementation of IConverter: Resolve the references of the converted object.
virtual StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress)
Implementation of IConverter: Convert the transient object to the requested representation.
NtupleCnvSvc()
Default constructor:
virtual StatusCode updateServiceState(IOpaqueAddress *pAddress)
IConversionSvc and IConverter interfaces
virtual StatusCode convertAddress(const IOpaqueAddress *pAddress, std::string &refAddress)
Convert address to string form.
virtual StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject)
Implementation of IConverter: Create the transient representation of an object from persistent state.
virtual StatusCode connectOutput(const std::string &outputConnectionSpec, const std::string &openMode)
Connect the output connection specification to the service with open mode.
virtual IConverter * createConverter(long typ, const CLID &clid, const ICnvFactory *fac)
Create new Converter using factory (override AthCnvSvc::createConverter)
virtual StatusCode finalize()
virtual StatusCode initialize()
Gaudi Service Implementation.
NtupleCnvSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....