Interface class for managing ROB for both online and offline.
More...
#include <IROBDataProviderSvc.h>
Interface class for managing ROB for both online and offline.
Definition at line 21 of file IROBDataProviderSvc.h.
◆ ROBF
◆ VROBFRAG
◆ DeclareInterfaceID()
◆ getEvent()
Retrieve the whole event.
◆ getEventStatus()
| virtual uint32_t IROBDataProviderSvc::getEventStatus |
( |
const EventContext & | context | ) |
|
|
pure virtual |
Retrieve the status for the event.
◆ getROBData()
| virtual void IROBDataProviderSvc::getROBData |
( |
const EventContext & | context, |
|
|
const std::vector< uint32_t > & | robIds, |
|
|
VROBFRAG & | robFragments, |
|
|
const std::string_view | callerName = "UNKNOWN" ) |
|
pure virtual |
Retrieve ROBFragments for given ROB ids from cache.
◆ processCachedROBs()
| virtual void IROBDataProviderSvc::processCachedROBs |
( |
const EventContext & | context, |
|
|
const std::function< void(const ROBF *)> & | fn ) const |
|
pure virtual |
Interface to access cache of ROBs (it is a full event in case of offline) In online implementation the cache will contain only a subset of ROBs.
This method allows read access to the cache.
- Warning
- in case the cache is updated in the meantime the iteration is guaranteed to be safe but may not give access to all the ROBs available n the very moment Example of counting: size_t counter = 0; svc->processCachedROBs(ctx, [&](const ROBF*){ counter ++; }) Example of printout: svc->processCachedROBs(ctx, [&](const ROBF* rob){ log() << MSG::DEBUG << "ROB " << rob->source_id() << endmsg; })
◆ setEventStatus()
| virtual void IROBDataProviderSvc::setEventStatus |
( |
const EventContext & | context, |
|
|
uint32_t | ) |
|
pure virtual |
Store the status for the event.
◆ setNextEvent()
| virtual void IROBDataProviderSvc::setNextEvent |
( |
const EventContext & | context, |
|
|
const RawEvent * | re ) |
|
pure virtual |
Add all ROBFragments of a RawEvent to cache.
The documentation for this class was generated from the following file: