ATLAS Offline Software
Loading...
Searching...
No Matches
LeafCnv.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// LeafCnv.h
8// Header file for class LeafCnv
9// Author: S.Binet<binet@cern.ch>
11#ifndef ATHENAROOTCOMPS_LEAFCNV_H
12#define ATHENAROOTCOMPS_LEAFCNV_H 1
13
14// STL includes
15#include <iosfwd>
16
17// FrameWork includes
18#include "GaudiKernel/Converter.h"
19#include "GaudiKernel/ClassID.h"
22
23// Forward declaration
24class TLeaf;
25class ISvcLocator;
26class DataObject;
27class IOpaqueAddress;
28class StatusCode;
30template <class TYPE> class CnvFactory;
31
32namespace Athena {
33
35 : public ::Converter,
36 public ::AthMessaging
37{
38
40 // Public methods:
42 public:
43
45 LeafCnv( const CLID& clid, ISvcLocator* pSvcLocator );
46 LeafCnv(ISvcLocator* pSvcLocator);
47
49 virtual ~LeafCnv();
50
52
53 virtual StatusCode initialize();
55
57 // Const methods:
59
61 // Non-const methods:
63
64 long repSvcType() const;
65
69 virtual StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj);
70
74 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr);
75
77 static long storageType();
78
80 static const CLID& classID() { return CLID_NULL; }
81
82
84 // Private data:
86 private:
87
90
91};
92
94// Inline methods:
96//std::ostream& operator<<( std::ostream& out, const LeafCnv& o );
97
98} //> end namespace Athena
99
100#endif //> !ATHENAROOTCOMPS_LEAFCNV_H
uint32_t CLID
The Class ID type.
TTypeAdapter RootType
Definition RootType.h:211
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
static long storageType()
Definition LeafCnv.cxx:207
virtual StatusCode initialize()
Gaudi Service Implementation.
Definition LeafCnv.cxx:87
LeafCnv(const CLID &clid, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition LeafCnv.cxx:53
long repSvcType() const
Definition LeafCnv.cxx:127
static const CLID & classID()
Definition LeafCnv.h:80
virtual ~LeafCnv()
Destructor:
Definition LeafCnv.cxx:80
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Create a persistent representation for a transient object.
Definition LeafCnv.cxx:162
RootType m_type
the type we can convert
Definition LeafCnv.h:89
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
Create a transient object from a persistent representation.
Definition LeafCnv.cxx:140
Abstract factory to create the converter.
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....