ATLAS Offline Software
xAODCnv.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // xAODCnv.h
8 // Header file for class xAODCnv
9 // Author: Johannes Elmsheuser, Will Buttinger
11 #ifndef ATHENAROOTCOMPS_XAODCNV_H
12 #define ATHENAROOTCOMPS_XAODCNV_H 1
13 
14 // STL includes
15 #include <iosfwd>
16 
17 // FrameWork includes
18 #include "GaudiKernel/Converter.h"
19 #include "GaudiKernel/ClassID.h"
21 #include "DataModelRoot/RootType.h"
22 
23 // Forward declaration
24 class TLeaf;
25 class ISvcLocator;
26 class DataObject;
27 class IOpaqueAddress;
28 class StatusCode;
30 template <class TYPE> class CnvFactory;
31 
32 namespace Athena {
33 
34 class xAODCnv
35  : public ::Converter,
36  public ::AthMessaging
37 {
38 
40  // Public methods:
42  public:
43 
45  xAODCnv( const CLID& clid, ISvcLocator* pSvcLocator );
46  xAODCnv(ISvcLocator* pSvcLocator);
47 
49  virtual ~xAODCnv();
50 
52 
53  virtual StatusCode initialize();
54 // virtual StatusCode queryInterface( const InterfaceID& riid,
55 // void** ppvInterface );
57 
59  // Const methods:
61 
63  // Non-const methods:
65 
66  long repSvcType() const;
67 
71  virtual StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj);
72 
76  virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr);
77 
79  static long storageType();
80 
82  static const CLID& classID() { return CLID_NULL; }
83 
84 
86  // Private data:
88  private:
89 
92 
93 };
94 
96 // Inline methods:
98 //std::ostream& operator<<( std::ostream& out, const xAODCnv& o );
99 
100 } //> end namespace Athena
101 
102 #endif //> !ATHENAROOTCOMPS_XAODCNV_H
Athena::xAODCnv::classID
static const CLID & classID()
Definition: xAODCnv.h:82
Athena::xAODCnv::storageType
static long storageType()
Definition: xAODCnv.cxx:245
Athena::xAODCnv::~xAODCnv
virtual ~xAODCnv()
Destructor:
Definition: xAODCnv.cxx:81
Athena::xAODCnv::repSvcType
long repSvcType() const
Definition: xAODCnv.cxx:155
Athena::xAODCnv::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
Create a transient object from a persistent representation.
Definition: xAODCnv.cxx:169
Athena::xAODCnv
Definition: xAODCnv.h:37
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
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
CnvFactory
Abstract factory to create the converter.
Definition: ToyConverter.h:16
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
Athena::xAODCnv::initialize
virtual StatusCode initialize()
Gaudi Service Implementation.
Definition: xAODCnv.cxx:88
Converter
Definition: Converter.h:27
Athena::xAODCnv::createRep
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Create a persistent representation for a transient object.
Definition: xAODCnv.cxx:198
Athena::xAODCnv::m_type
RootType m_type
the type we can convert
Definition: xAODCnv.h:91
Athena::xAODCnv::xAODCnv
xAODCnv(const CLID &clid, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition: xAODCnv.cxx:53
AthMessaging.h
RootType.h
TScopeAdapter
Definition: RootType.h:119