ATLAS Offline Software
AthenaRootSerializeSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ATHENAROOTSERIALIZESVC_H
6 #define ATHENAROOTSERIALIZESVC_H
7 
15 
19 class AthenaRootSerializeSvc : public extends<AthService, IAthenaSerializeSvc> {
20  // Allow the factory class access to the constructor
21  friend class SvcFactory<AthenaRootSerializeSvc>;
22 
23 public:
25  AthenaRootSerializeSvc(const std::string& name, ISvcLocator* pSvcLocator);
27  virtual ~AthenaRootSerializeSvc();
28 
30  virtual StatusCode initialize() override;
31 
32  virtual void* serialize(const void* object, const std::string& name, size_t& nbytes) const override;
33  virtual void* serialize(const void* object, const Guid& id, size_t& nbytes) const override;
34  virtual void* serialize(const void* object, const RootType& cltype, size_t& nbytes) const override;
35 
36  virtual void* deserialize(void* buffer, size_t& nbytes, const std::string& name) const override;
37  virtual void* deserialize(void* buffer, size_t& nbytes, const Guid& id) const override;
38  virtual void* deserialize(void* buffer, size_t& nbytes, const RootType& cltype) const override;
39 };
40 
41 #endif
AthenaRootSerializeSvc::deserialize
virtual void * deserialize(void *buffer, size_t &nbytes, const std::string &name) const override
Definition: AthenaRootSerializeSvc.cxx:57
AthenaRootSerializeSvc::~AthenaRootSerializeSvc
virtual ~AthenaRootSerializeSvc()
Destructor.
Definition: AthenaRootSerializeSvc.cxx:22
SvcFactory
Definition: AthCnvSvc.h:28
createCoolChannelIdFile.buffer
buffer
Definition: createCoolChannelIdFile.py:12
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthenaRootSerializeSvc
This class provides the AthenaSerializeSvc using ROOT.
Definition: AthenaRootSerializeSvc.h:19
IAthenaSerializeSvc.h
AthenaRootSerializeSvc::initialize
virtual StatusCode initialize() override
Gaudi Service Interface method implementations:
Definition: AthenaRootSerializeSvc.cxx:26
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AthenaRootSerializeSvc::AthenaRootSerializeSvc
AthenaRootSerializeSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
Definition: AthenaRootSerializeSvc.cxx:17
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition: Guid.h:20
AthService.h
AthenaRootSerializeSvc::serialize
virtual void * serialize(const void *object, const std::string &name, size_t &nbytes) const override
Definition: AthenaRootSerializeSvc.cxx:37
TScopeAdapter
Definition: RootType.h:119