ATLAS Offline Software
Loading...
Searching...
No Matches
ByteStreamRDP_OutputSvc.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#ifndef BYTESTREAMCNVSVC_BYTESTREAMRDP_OUTPUTSVC_H
6#define BYTESTREAMCNVSVC_BYTESTREAMRDP_OUTPUTSVC_H
7
17
22#include "GaudiKernel/ServiceHandle.h"
23
25
26class ByteStreamRDP_OutputSvc: public extends<AthService, IByteStreamOutputSvc> {
27public:
29 ByteStreamRDP_OutputSvc(const std::string& name, ISvcLocator* svcloc);
30
32 virtual StatusCode initialize() override;
33
35 virtual bool putEvent(const RawEvent* re) override;
36 virtual bool putEvent(const RawEvent* re, const EventContext& ctx) override;
37
38private: // data
39 struct EventCache {
40 void releaseEvent() {
41 this->rawEvent.reset();
42 this->dataBuffer.reset();
43 }
44 std::unique_ptr<RawEvent> rawEvent {nullptr};
45 std::unique_ptr<uint32_t[]> dataBuffer {nullptr};
46 };
48
50 this, "ROBDataProviderSvc", "ROBDataProviderSvc", "ROB data provider"};
51 Gaudi::Property<std::string> m_bsOutputStreamName {
52 this, "BSOutputStreamName", "", "Stream name for multiple output"};
53};
54
55#endif // BYTESTREAMCNVSVC_BYTESTREAMRDP_OUTPUTSVC_H
const boost::regex re(r_e)
Maintain a set of objects, one per slot.
This file contains the interface for the ByteStreamOutputSvc classes.
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
Definition RawEvent.h:37
virtual bool putEvent(const RawEvent *re) override
Implementation of the IByteStreamOutputSvc interface methods.
virtual StatusCode initialize() override
Required of all Gaudi Services.
ServiceHandle< IROBDataProviderSvc > m_robProvider
Gaudi::Property< std::string > m_bsOutputStreamName
SG::SlotSpecificObj< EventCache > m_eventsCache
Cache of event data for each slot.
ByteStreamRDP_OutputSvc(const std::string &name, ISvcLocator *svcloc)
Constructors:
Interface class for managing ROB for both online and offline.
Maintain a set of objects, one per slot.
std::unique_ptr< RawEvent > rawEvent
Current event fragment.
std::unique_ptr< uint32_t[]> dataBuffer
Underlying data structure.