|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef BYTESTREAMCNVSVC_BYTESTREAMCNVSVC_H
6 #define BYTESTREAMCNVSVC_BYTESTREAMCNVSVC_H
12 #include "GaudiKernel/ThreadLocalContext.h"
13 #include "GaudiKernel/ServiceHandle.h"
57 return m_slots->m_rawEventWrite.get();
76 Gaudi::Property<std::vector<std::string>>
m_ioSvcNameList{
this,
"ByteStreamOutputSvcList", {},
"",
"OrderedSet<T>"};
79 Gaudi::Property<bool>
m_fillTriggerBits{
this,
"FillTriggerBits",
true,
"Read in xTrigDecision and use it to fill Trigger bits in event header"};
91 using FEAPtr_t = std::unique_ptr<FullEventAssemblerBase>;
92 using FEAMap_t = std::map<std::string, FEAPtr_t>;
123 const EventContext& ctx = Gaudi::Hive::currentContext();
127 T*
p =
dynamic_cast<T*
>(fea.get());
130 return(StatusCode::FAILURE);
133 return(StatusCode::SUCCESS);
137 auto ptr = std::make_unique<T>();
139 fea = std::move (ptr);
140 return(StatusCode::SUCCESS);
virtual StatusCode commitOutput(const std::string &outputConnection, bool b) override
Implements ConversionSvc's commitOutput.
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::FullEventFragment RawEventWrite
data type for writing raw event
std::vector< uint32_t > m_efBuff
virtual ~ByteStreamCnvSvc()
Standard Destructor.
std::map< std::string, ByteStreamOutputSvc * > m_ioSvcMap
Services for writing output.
ServiceHandle< StoreGateSvc > m_evtStore
Event store.
virtual RawEventWrite * getRawEvent() override
Implementation of IByteStreamEventAccess: Get RawEvent.
SG::SlotSpecificObj< SlotData > m_slots
ByteStreamCnvSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
std::unique_ptr< FullEventAssemblerBase > FEAPtr_t
common FEA, indexed by string key
std::vector< uint32_t > m_l1Buff
std::string m_ioSvcName
name of the service
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface) override
Required of all Gaudi services: see Gaudi documentation for details.
std::map< std::string, FEAPtr_t > FEAMap_t
base class for assembling a full atlas raw event from subfragments
Maintain a set of objects, one per slot.
Gaudi Conversion Service class for ByteStream Persistency.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< uint32_t > m_l2Buff
std::unique_ptr< RawEventWrite > m_rawEventWrite
std::string m_userType
user type
static const InterfaceID & interfaceID()
Should rather be in IByteStreamSvc.h if we had one.
virtual StatusCode initialize() override
Gaudi Service Interface method implementations:
AthROOTErrorHandlerSvc * svc
virtual StatusCode finalize() override
The base class for offline and HLT ByteStream conversion services.
void writeFEA(SlotData &slot)
Write the FEA to RawEvent.
Gaudi::Property< bool > m_fillTriggerBits
fill trigger bits
#define ATH_MSG_WARNING(x)
std::vector< uint32_t > m_tagBuff
Maintain a set of objects, one per slot.
This class provides the base class to services to write bytestream data. The concrete class can provi...
StatusCode getFullEventAssembler(T *&t, const std::string &nm)
Access to FullEventAssembler.
RawEventWrite * setRawEvent(std::unique_ptr< RawEventWrite > rawEventWrite)
virtual StatusCode connectOutput(const std::string &t, const std::string &mode) override
Implements ConversionSvc's connectOutput.
Gaudi::Property< std::vector< std::string > > m_ioSvcNameList
list of service names