ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
AthenaRoot
AthenaRootComps
src
RootCnv.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// RootCnv.h
8
// Header file for class Athena::RootCnv
9
// Author Peter van Gemmeren <gemmeren@anl.gov>
11
#ifndef ATHENAROOTCOMPS_ROOTCNV_H
12
#define ATHENAROOTCOMPS_ROOTCNV_H 1
13
18
19
// fwk includes
20
#include "GaudiKernel/Converter.h"
21
#include "GaudiKernel/ServiceHandle.h"
22
#include "
AthenaBaseComps/AthMessaging.h
"
23
#include "
DataModelRoot/RootType.h
"
24
25
// fwd declares
26
class
IAthenaRootCnvSvc
;
27
class
ITPCnvBase
;
28
30
template
<
class
TYPE>
class
CnvFactory
;
31
32
namespace
Athena
{
37
class
RootCnv
:
public
::Converter
,
public
::AthMessaging
{
38
friend
class
CnvFactory
<
Athena
::
RootCnv
>;
39
40
public
:
42
RootCnv
(const CLID& id, ISvcLocator* pSvcLocator);
43
RootCnv
(ISvcLocator* pSvcLocator);
44
46
virtual
~
RootCnv
();
47
49
virtual
StatusCode
initialize
();
50
virtual
StatusCode
finalize
();
51
53
long
repSvcType
()
const
;
54
58
virtual
StatusCode
createObj
(IOpaqueAddress* pAddr, DataObject*& pObj);
59
63
virtual
StatusCode
fillObjRefs
(IOpaqueAddress* pAddr, DataObject* pObj);
64
68
virtual
StatusCode
createRep
(DataObject* pObj, IOpaqueAddress*& pAddr);
69
73
virtual
StatusCode
fillRepRefs
(IOpaqueAddress* pAddr, DataObject* pObj);
74
76
static long
storageType
();
77
79
static
const
CLID
&
classID
() {
return
CLID_NULL; }
80
81
private
:
83
RootCnv
();
//< not implemented
84
RootCnv
(const ::Athena::RootCnv&);
//< not implemented
85
RootCnv
&
operator=
(const ::Athena::RootCnv&);
//< not implemented
86
87
protected
:
89
ServiceHandle< ::IAthenaRootCnvSvc>
m_cnvSvc
;
90
91
private
:
93
RootType
m_ttype
;
94
96
RootType
m_ptype
;
97
98
ITPCnvBase
*
m_tpcnv
;
99
};
100
101
}
//< end namespace Athena
102
103
#endif
/* !ATHENAROOTCOMPS_ROOTCNV_H */
AthMessaging.h
CLID
uint32_t CLID
The Class ID type.
Definition
Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
RootType.h
RootType
TTypeAdapter RootType
Definition
RootType.h:211
AthMessaging::AthMessaging
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Definition
AthMessaging.cxx:13
Athena::RootCnv::initialize
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
Definition
RootCnv.cxx:63
Athena::RootCnv::fillObjRefs
virtual StatusCode fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Resolve the references of the created transient object.
Definition
RootCnv.cxx:123
Athena::RootCnv::m_ttype
RootType m_ttype
transient type
Definition
RootCnv.h:93
Athena::RootCnv::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
Create a transient object from a ROOT persistent representation.
Definition
RootCnv.cxx:105
Athena::RootCnv::fillRepRefs
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Resolve the references of the created transient object.
Definition
RootCnv.cxx:155
Athena::RootCnv::createRep
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Create a ROOT persistent representation for a transient object.
Definition
RootCnv.cxx:128
Athena::RootCnv::m_cnvSvc
ServiceHandle< ::IAthenaRootCnvSvc > m_cnvSvc
ServiceHandle to the conversion service.
Definition
RootCnv.h:89
Athena::RootCnv::finalize
virtual StatusCode finalize()
Definition
RootCnv.cxx:93
Athena::RootCnv::classID
static const CLID & classID()
Definition
RootCnv.h:79
Athena::RootCnv::operator=
RootCnv & operator=(const ::Athena::RootCnv &)
Athena::RootCnv::m_tpcnv
ITPCnvBase * m_tpcnv
Definition
RootCnv.h:98
Athena::RootCnv::RootCnv
RootCnv(const CLID &id, ISvcLocator *pSvcLocator)
Standard Constructor.
Definition
RootCnv.cxx:44
Athena::RootCnv::RootCnv
RootCnv()
Default constructor:
Athena::RootCnv::RootCnv
RootCnv(const ::Athena::RootCnv &)
Athena::RootCnv::repSvcType
long repSvcType() const
Retrieve the class type of the data store the converter uses.
Definition
RootCnv.cxx:97
Athena::RootCnv::storageType
static long storageType()
Definition
RootCnv.cxx:101
Athena::RootCnv::m_ptype
RootType m_ptype
persistent type
Definition
RootCnv.h:96
CnvFactory
Abstract factory to create the converter.
Definition
ToyConverter.h:16
Converter::Converter
Converter()
Definition
Converter.h:29
IAthenaRootCnvSvc
This class provides the interface between Athena and RootSvc.
Definition
IAthenaRootCnvSvc.h:30
ITPCnvBase
Definition
ITPCnvBase.h:24
ServiceHandle
Definition
ClusterMakerTool.h:36
Athena
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....
Definition
AthDsoUtils.h:10
Athena::const
const
helper method to get the collection index (into m_inputCollectionsName) and tuple index (into m_tuple...
Definition
RootNtupleEventSelector.cxx:1303
Generated on
for ATLAS Offline Software by
1.17.0