ATLAS Offline Software
DetDescrConverter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /***************************************************************************
6  Detector description conversion service package
7  -----------------------------------------------
8  ***************************************************************************/
9 
10 //<doc><file> $Id: DetDescrConverter.h,v 1.6 2008-12-14 02:24:44 ssnyder Exp $
11 //<version> $Name: not supported by cvs2svn $
12 
13 #ifndef DETDESCRCNVSVC_DETDESCRCONVERTER_H
14 #define DETDESCRCNVSVC_DETDESCRCONVERTER_H
15 
16 //<<<<<< INCLUDES >>>>>>
17 
18 #include "GaudiKernel/Converter.h"
19 
20 //<<<<<< PUBLIC TYPES >>>>>>
21 
22 class DetDescrCnvSvc;
23 class DetDescrAddress;
24 class DataObject;
25 
26 // Abstract factory to create the converter
27 template <class TYPE>
28 class CnvFactory;
29 
30 //<<<<<< CLASS DECLARATIONS >>>>>>
31 
32 class DetDescrConverter : public Converter {
33  public:
34  virtual StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj) = 0;
35  virtual StatusCode fillObjRefs(IOpaqueAddress* pAddr, DataObject* pObj);
36  virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr);
37  virtual StatusCode fillRepRefs(IOpaqueAddress* pAddr, DataObject* pObj);
38 
40  static long storageType();
41 
42  protected:
43  DetDescrConverter(const CLID& myCLID, ISvcLocator* svcloc);
44 };
45 
46 #endif // DETDESCRCNVSVC_DETDESCRCONVERTER_H
DetDescrConverter::DetDescrConverter
DetDescrConverter(const CLID &myCLID, ISvcLocator *svcloc)
Definition: DetDescrConverter.cxx:39
DetDescrCnvSvc
Definition: DetDescrCnvSvc.h:17
DetDescrConverter::fillRepRefs
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Definition: DetDescrConverter.cxx:30
DetDescrConverter
Definition: DetDescrConverter.h:32
DetDescrAddress
Definition: DetDescrAddress.h:32
DetDescrConverter::fillObjRefs
virtual StatusCode fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Definition: DetDescrConverter.cxx:20
DetDescrConverter::createRep
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Definition: DetDescrConverter.cxx:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DetDescrConverter::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)=0
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
Converter
Definition: Converter.h:27
DetDescrConverter::storageType
static long storageType()
Storage type for all DetDescrConverters.
Definition: DetDescrConverter.cxx:35