ATLAS Offline Software
NtupleCnvSvc.h
Go to the documentation of this file.
1 
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
24 class ISvcLocator;
25 template <class TYPE> class SvcFactory;
26 
27 namespace 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 
143 protected:
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
Athena::NtupleCnvSvc::~NtupleCnvSvc
virtual ~NtupleCnvSvc()
Destructor:
Definition: NtupleCnvSvc.cxx:43
Athena::NtupleCnvSvc::fillRepRefs
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Implementation of IConverter: Resolve the references of the converted object.
Definition: NtupleCnvSvc.cxx:122
Athena::NtupleCnvSvc::connectOutput
virtual StatusCode connectOutput(const std::string &outputConnectionSpec, const std::string &openMode)
Connect the output connection specification to the service with open mode.
Definition: NtupleCnvSvc.cxx:138
Athena::NtupleCnvSvc
Definition: NtupleCnvSvc.h:31
SvcFactory
Definition: AthCnvSvc.h:28
AthCnvSvc.h
Athena::NtupleCnvSvc::commitOutput
virtual StatusCode commitOutput(const std::string &outputConnectionSpec, bool doCommit)
Commit pending output.
Definition: NtupleCnvSvc.cxx:172
Athena::NtupleCnvSvc::updateServiceState
virtual StatusCode updateServiceState(IOpaqueAddress *pAddress)
IConversionSvc and IConverter interfaces
Definition: NtupleCnvSvc.cxx:67
Athena::NtupleCnvSvc::createAddress
virtual StatusCode createAddress(long svcType, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
IAddressCreator interfaces
Definition: NtupleCnvSvc.cxx:193
Athena
Some weak symbol referencing magic...
Definition: AthLegacySequence.h:21
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Athena::NtupleCnvSvc::convertAddress
virtual StatusCode convertAddress(const IOpaqueAddress *pAddress, std::string &refAddress)
Convert address to string form.
Definition: NtupleCnvSvc.cxx:209
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
Athena::NtupleCnvSvc::initialize
virtual StatusCode initialize()
Gaudi Service Implementation.
Definition: NtupleCnvSvc.cxx:49
Athena::NtupleCnvSvc::NtupleCnvSvc
NtupleCnvSvc()
Default constructor:
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
Athena::NtupleCnvSvc::createConverter
virtual IConverter * createConverter(long typ, const CLID &clid, const ICnvFactory *fac)
Create new Converter using factory (override AthCnvSvc::createConverter)
Definition: NtupleCnvSvc.cxx:261
Athena::NtupleCnvSvc::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject)
Implementation of IConverter: Create the transient representation of an object from persistent state.
Definition: NtupleCnvSvc.cxx:83
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
Athena::NtupleCnvSvc::finalize
virtual StatusCode finalize()
Definition: NtupleCnvSvc.cxx:57
Athena::NtupleCnvSvc::createRep
virtual StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress)
Implementation of IConverter: Convert the transient object to the requested representation.
Definition: NtupleCnvSvc.cxx:105