ATLAS Offline Software
DetDescrConverter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /***************************************************************************
6  Detector description conversion service package
7  -----------------------------------------------
8  ***************************************************************************/
9 
10 #ifndef DETDESCRCNVSVC_DETDESCRCONVERTER_H
11 #define DETDESCRCNVSVC_DETDESCRCONVERTER_H
12 
13 #include "GaudiKernel/Converter.h"
14 #include "GaudiKernel/ServiceHandle.h"
15 
18 #include "StoreGate/StoreGateSvc.h"
19 
20 class DetDescrCnvSvc;
21 class DetDescrAddress;
22 class DataObject;
23 
24 
25 class DetDescrConverter : public Converter, public AthMessaging {
26  public:
27  virtual StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj) = 0;
28  virtual StatusCode fillObjRefs(IOpaqueAddress* pAddr, DataObject* pObj);
29  virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr);
30  virtual StatusCode fillRepRefs(IOpaqueAddress* pAddr, DataObject* pObj);
31 
33  const ServiceHandle<StoreGateSvc>& detStore() const { return m_detStore; }
34 
36  static long storageType();
37 
38  protected:
39  DetDescrConverter(const CLID& myCLID, ISvcLocator* svcloc, const char* name = nullptr);
40 
41  private:
43 };
44 
45 #endif // DETDESCRCNVSVC_DETDESCRCONVERTER_H
AthCheckMacros.h
DetDescrCnvSvc
Definition: DetDescrCnvSvc.h:14
DetDescrConverter::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
Handle to DetectorStore.
Definition: DetDescrConverter.h:33
DetDescrConverter::fillRepRefs
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Definition: DetDescrConverter.cxx:25
DetDescrConverter::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: DetDescrConverter.h:42
DetDescrConverter
Definition: DetDescrConverter.h:25
DetDescrAddress
Definition: DetDescrAddress.h:32
DetDescrConverter::fillObjRefs
virtual StatusCode fillObjRefs(IOpaqueAddress *pAddr, DataObject *pObj)
Definition: DetDescrConverter.cxx:15
DetDescrConverter::createRep
virtual StatusCode createRep(DataObject *pObj, IOpaqueAddress *&pAddr)
Definition: DetDescrConverter.cxx:20
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DetDescrConverter::DetDescrConverter
DetDescrConverter(const CLID &myCLID, ISvcLocator *svcloc, const char *name=nullptr)
Definition: DetDescrConverter.cxx:34
DetDescrConverter::createObj
virtual StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&pObj)=0
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
Converter
Definition: Converter.h:27
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
DetDescrConverter::storageType
static long storageType()
Storage type for all DetDescrConverters.
Definition: DetDescrConverter.cxx:30
AthMessaging.h
StoreGateSvc.h
ServiceHandle< StoreGateSvc >