5#ifndef BYTESTREAMCNVSVC_BYTESTREAMCNVSVC_H
6#define BYTESTREAMCNVSVC_BYTESTREAMCNVSVC_H
15#include "GaudiKernel/ThreadLocalContext.h"
16#include "GaudiKernel/ServiceHandle.h"
37 IByteStreamCnvSvc, IByteStreamEventAccess> {
47 virtual StatusCode
finalize()
override;
50 virtual StatusCode
connectOutput(
const std::string& t,
const std::string& mode)
override;
51 virtual StatusCode
connectOutput(
const std::string& t)
override;
54 virtual StatusCode
commitOutput(
const std::string& outputConnection,
bool b)
override;
59 return m_slots->m_rawEventWrite.get();
67 virtual StatusCode
storeFullEventAssembler(std::unique_ptr<FullEventAssemblerBase> fea,
const std::string& name)
override;
71 Gaudi::Property<std::string>
m_ioSvcName{
this,
"ByteStreamOutputSvc",
"",
"ByteStream output service name"};
74 Gaudi::Property<std::vector<std::string>>
m_ioSvcNameList{
this,
"ByteStreamOutputSvcList", {},
"",
"OrderedSet<T>"};
77 Gaudi::Property<bool>
m_fillTriggerBits{
this,
"FillTriggerBits",
true,
"Read in xTrigDecision and use it to fill Trigger bits in event header"};
86 Gaudi::Property<std::string>
m_userType{
this,
"UserType",
"RawEvent",
"User type"};
92 std::map<std::string, std::unique_ptr<FullEventAssemblerBase>>
m_feaMap;
Maintain a set of objects, one per slot.
This file contains the interface for the ByteStreamOutputSvc classes.
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::FullEventFragment RawEventWrite
data type for writing raw event
virtual RawEventWrite * getRawEvent() override
Implementation of IByteStreamEventAccess: Get RawEvent.
void writeFEA(SlotData &slot)
Write the FEA to RawEvent.
virtual StatusCode commitOutput(const std::string &outputConnection, bool b) override
Implements ConversionSvc's commitOutput.
Gaudi::Property< std::string > m_ioSvcName
name of the service
virtual StatusCode storeFullEventAssembler(std::unique_ptr< FullEventAssemblerBase > fea, const std::string &name) override
ByteStreamCnvSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
Gaudi::Property< std::vector< std::string > > m_ioSvcNameList
list of service names
virtual ~ByteStreamCnvSvc()=default
Standard Destructor.
std::map< std::string, IByteStreamOutputSvc * > m_ioSvcMap
Services for writing output.
virtual StatusCode initialize() override
Gaudi Service Interface method implementations:
virtual StatusCode connectOutput(const std::string &t, const std::string &mode) override
Implements ConversionSvc's connectOutput.
SG::SlotSpecificObj< SlotData > m_slots
virtual FullEventAssemblerBase * findFullEventAssembler(const std::string &name) const override
Implementation of IByteStreamCnvSvc interface.
Gaudi::Property< bool > m_fillTriggerBits
fill trigger bits
ServiceHandle< StoreGateSvc > m_evtStore
Event store.
RawEventWrite * setRawEvent(std::unique_ptr< RawEventWrite > rawEventWrite)
virtual StatusCode finalize() override
Gaudi::Property< std::string > m_userType
user type
base class for assembling a full atlas raw event from subfragments
Maintain a set of objects, one per slot.
std::vector< uint32_t > m_l2Buff
std::map< std::string, std::unique_ptr< FullEventAssemblerBase > > m_feaMap
std::vector< uint32_t > m_l1Buff
std::vector< uint32_t > m_tagBuff
std::vector< uint32_t > m_efBuff
std::unique_ptr< RawEventWrite > m_rawEventWrite