The Gaudi Framework  v33r0 (d5ea422b)
RDirectoryCnv.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef ROOTHIST_RDIRECTORYCNV_H
12 #define ROOTHIST_RDIRECTORYCNV_H 1
13 
14 // Include files
15 #include "GaudiKernel/NTuple.h"
16 #include "RConverter.h"
17 
18 namespace RootHistCnv {
19 
26  class RDirectoryCnv : public RConverter {
27  public:
29  StatusCode createObj( IOpaqueAddress* pAddr, DataObject*& refpObj ) override;
31  StatusCode fillObjRefs( IOpaqueAddress* pAddr, DataObject* refpObj ) override;
33  StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAddr ) override;
35  StatusCode updateRep( IOpaqueAddress* pAddr, DataObject* pObject ) override;
37  static const CLID& classID() { return CLID_NTupleDirectory; }
39  RDirectoryCnv( ISvcLocator* svc ) : RConverter( CLID_NTupleDirectory, svc ) {}
41  RDirectoryCnv( ISvcLocator* svc, const CLID& clid ) : RConverter( clid, svc ) {}
42  };
43 } // namespace RootHistCnv
44 
45 #endif // RootHistCnv_RDirectORYCNV_H
RDirectoryCnv(ISvcLocator *svc, const CLID &clid)
Standard constructor.
Definition: RDirectoryCnv.h:41
Root Converter.
Definition: RConverter.h:41
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:35
StatusCode createRep(DataObject *pObj, IOpaqueAddress *&refpAddr) override
Convert the transient object to the requested representation.
StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&refpObj) override
Create the transient representation of an object.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:61
Create persistent and transient representations of data store directories.
Definition: RDirectoryCnv.h:26
unsigned int CLID
Class ID definition.
Definition: ClassID.h:18
StatusCode fillObjRefs(IOpaqueAddress *pAddr, DataObject *refpObj) override
Update the transient object from the other representation.
StatusCode updateRep(IOpaqueAddress *pAddr, DataObject *pObject) override
Convert the transient object to the requested representation.
Opaque address interface definition.
RDirectoryCnv(ISvcLocator *svc)
Standard constructor.
Definition: RDirectoryCnv.h:39
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:40
static const CLID & classID()
Inquire class type.
Definition: RDirectoryCnv.h:37