![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef IROBDATAPROVIDERSVC_H
6 #define IROBDATAPROVIDERSVC_H
8 #include "GaudiKernel/IInterface.h"
10 #include "GaudiKernel/EventContext.h"
15 #include <string_view>
36 virtual void addROBData(
const std::vector<uint32_t>& robIds,
const std::string_view callerName=
"UNKNOWN") = 0 ;
47 virtual void getROBData(
const std::vector<uint32_t>& robIds,
VROBFRAG& robFragments,
const std::string_view callerName=
"UNKNOWN") = 0;
63 virtual void addROBData(
const EventContext& ,
const std::vector<uint32_t>& ,
const std::string_view callerName=
"UNKNOWN") {
64 throw std::runtime_error( std::string(callerName)+ std::string(
" is using unimplemented ") + __FUNCTION__ ) ;
66 virtual void setNextEvent(
const EventContext& ,
const std::vector<ROBF>& ) {
67 throw std::runtime_error( std::string(
"Unimplemented ") + __FUNCTION__ );
70 throw std::runtime_error(std::string(
"Unimplemented ") + __FUNCTION__ );
73 const std::string_view callerName=
"UNKNOWN") {
74 throw std::runtime_error( std::string(callerName)+ std::string(
" is using unimplemented ") + __FUNCTION__ ) ;
77 throw std::runtime_error(std::string(
"Unimplemented ") + __FUNCTION__ );
80 throw std::runtime_error(std::string(
"Unimplemented ") + __FUNCTION__ );
83 throw std::runtime_error(std::string(
"Unimplemented ") + __FUNCTION__ );
95 const std::function<
void(
const ROBF* )>& )
const {
96 throw std::runtime_error(std::string(
"Unimplemented ") + __FUNCTION__ );
101 throw std::runtime_error(std::string(
"Unimplemented ") + __FUNCTION__ );
108 throw std::runtime_error(std::string(callerName) + std::string(
" is using unimplemented ") + __FUNCTION__ );
virtual int collectCompleteEventData(const EventContext &, const std::string_view callerName="UNKNOWN")
Collect all data for an event from the ROS and put them into the cache.
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
virtual void processCachedROBs(const EventContext &, const std::function< void(const ROBF *)> &) const
Interface to access cache of ROBs (it is a full event in case of offline) In online implementation th...
virtual void setNextEvent(const EventContext &, const RawEvent *)
virtual void setEventStatus(uint32_t status)=0
Store the status for the event.
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment ROBF
virtual bool isEventComplete(const EventContext &) const
Check if complete event data are already in cache.
virtual void addROBData(const EventContext &, const std::vector< uint32_t > &, const std::string_view callerName="UNKNOWN")
Interface class for managing ROB for both online and offline.
virtual void getROBData(const std::vector< uint32_t > &robIds, VROBFRAG &robFragments, const std::string_view callerName="UNKNOWN")=0
Retrieve ROBFragments for given ROB ids from cache.
virtual void setEventStatus(const EventContext &, uint32_t)
virtual void setNextEvent(const std::vector< ROBF > &result)=0
Add a given LVL1/LVL2 ROBFragment to cache.
std::vector< const ROBF * > VROBFRAG
virtual void setNextEvent(const EventContext &, const std::vector< ROBF > &)
virtual void getROBData(const EventContext &, const std::vector< uint32_t > &, VROBFRAG &, const std::string_view callerName="UNKNOWN")
virtual const RawEvent * getEvent()=0
Retrieve the whole event.
virtual uint32_t getEventStatus(const EventContext &)
virtual uint32_t getEventStatus()=0
Retrieve the status for the event.
const boost::regex re(r_e)
virtual void addROBData(const std::vector< uint32_t > &robIds, const std::string_view callerName="UNKNOWN")=0
Add ROBFragments to cache for given ROB ids, ROB fragments may be retrieved with DataCollector.
virtual const RawEvent * getEvent(const EventContext &)
virtual void setNextEvent(const RawEvent *re)=0
Add all ROBFragments of a RawEvent to cache.
DeclareInterfaceID(IROBDataProviderSvc, 1, 1)
Retrieve interface ID.