ATLAS Offline Software
SCTRawContByteStreamCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 
10 #include "ByteStreamData/RawEvent.h"
11 
13 #include "StoreGate/StoreGateSvc.h"
14 
15 #include "GaudiKernel/DataObject.h"
16 #include "GaudiKernel/MsgStream.h"
17 
18 // Constructor
19 
21  AthConstConverter(storageType(), classID(), svcLoc, "SCTRawContByteStreamCnv"),
22  m_rawContByteStreamToolProvider{"SCTRawContByteStreamToolProviderTool"},
23  m_rawContByteStreamTool(nullptr), // {"SCTRawContByteStreamTool"},
24  m_byteStreamEventAccess{"ByteStreamCnvSvc", "SCTRawContByteStreamCnv"}
25 {
26 }
27 
28 // Initialize
29 
31 {
33  ATH_MSG_DEBUG( " initialize " );
34 
38  ATH_MSG_FATAL("Failed to get SCTRawContByteStreamTool");
39  return StatusCode::FAILURE;
40  }
41 
42  // Retrieve ByteStreamCnvSvc
44  ATH_MSG_INFO( "Retrieved service " << m_byteStreamEventAccess );
45 
46  return StatusCode::SUCCESS;
47 }
48 
49 // Method to create RawEvent fragments
50 
51 StatusCode SCTRawContByteStreamCnv::createRepConst(DataObject* pDataObject, IOpaqueAddress*& pOpaqueAddress) const
52 {
53  // Get IDC for SCT Raw Data
54  SCT_RDO_Container* sctRDOCont{nullptr};
55  if (not SG::fromStorable(pDataObject, sctRDOCont)) {
56  ATH_MSG_ERROR( " Can not cast to SCTRawContainer " );
57  return StatusCode::FAILURE;
58  }
59 
60  // Set up the IOpaqueAddress for Storegate
61  std::string dataObjectName{pDataObject->registry()->name()};
62  if ( pOpaqueAddress != nullptr ) pOpaqueAddress->release();
63  pOpaqueAddress = new ByteStreamAddress(classID(), dataObjectName, "");
64  pOpaqueAddress->addRef();
65 
66  // Use the tool to do the conversion
68 
69  return StatusCode::SUCCESS;
70 }
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
ISCTRawContByteStreamTool.h
AthCheckMacros.h
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
SG::fromStorable
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)
Definition: StorableConversions.h:169
initialize
void initialize()
Definition: run_EoverP.cxx:894
SCTRawContByteStreamCnv::initialize
virtual StatusCode initialize() override
Initialize.
Definition: SCTRawContByteStreamCnv.cxx:30
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
AthConstConverter
Gaudi converter base class with const interfaces.
Definition: AthConstConverter.h:33
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
ByteStreamAddress
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
Definition: ByteStreamAddress.h:28
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
ByteStreamAddress.h
SCTRawContByteStreamCnv::m_rawContByteStreamToolProvider
PublicToolHandle< ISCTRawContByteStreamToolProviderTool > m_rawContByteStreamToolProvider
Tool to do coversion from SCT RDO container to ByteStream.
Definition: SCTRawContByteStreamCnv.h:71
SCTRawContByteStreamCnv::SCTRawContByteStreamCnv
SCTRawContByteStreamCnv(ISvcLocator *svcLoc)
Constructor.
Definition: SCTRawContByteStreamCnv.cxx:20
SCTRawContByteStreamCnv::m_byteStreamEventAccess
ServiceHandle< IByteStreamEventAccess > m_byteStreamEventAccess
Interface for accessing raw data.
Definition: SCTRawContByteStreamCnv.h:76
SCTRawContByteStreamCnv::m_rawContByteStreamTool
const ISCTRawContByteStreamTool * m_rawContByteStreamTool
Definition: SCTRawContByteStreamCnv.h:72
ISCTRawContByteStreamTool::convert
virtual StatusCode convert(const SCT_RDO_Container *sctRDOCont) const =0
Convert method.
SCTRawContByteStreamCnv::classID
static const CLID & classID()
Class ID.
Definition: SCTRawContByteStreamCnv.h:50
SCTRawContByteStreamCnv.h
StoreGateSvc.h
SCTRawContByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pDataObject, IOpaqueAddress *&pOpaqueAddress) const override
Method to convert SCT Raw Data into ByteStream.
Definition: SCTRawContByteStreamCnv.cxx:51
SCTRawContByteStreamToolProviderTool.h