ATLAS Offline Software
xAODCnv.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 // 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();
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 xAODCnv& o );
97 
98 } //> end namespace Athena
99 
100 #endif //> !ATHENAROOTCOMPS_XAODCNV_H
Athena::xAODCnv::classID
static const CLID & classID()
Definition: xAODCnv.h:80
Athena::xAODCnv::storageType
static long storageType()
Definition: xAODCnv.cxx:218
Athena::xAODCnv::~xAODCnv
virtual ~xAODCnv()
Destructor:
Definition: xAODCnv.cxx:81
Athena::xAODCnv::repSvcType
long repSvcType() const
Definition: xAODCnv.cxx:128
Athena::xAODCnv::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)
Create a transient object from a persistent representation.
Definition: xAODCnv.cxx:142
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:171
Athena::xAODCnv::m_type
RootType m_type
the type we can convert
Definition: xAODCnv.h:89
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