ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
ByteStreamCnvSvcBase
ByteStreamCnvSvcBase
IROBDataProviderSvc.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef IROBDATAPROVIDERSVC_H
6
#define IROBDATAPROVIDERSVC_H
7
8
#include "GaudiKernel/IInterface.h"
9
#include "
ByteStreamData/RawEvent.h
"
10
#include "GaudiKernel/EventContext.h"
11
12
#include <cstdint>
13
#include <vector>
14
#include <string_view>
15
#include <functional>
16
17
21
class
IROBDataProviderSvc
:
virtual
public
IInterface {
22
23
public
:
24
using
ROBF
=
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment
;
25
using
VROBFRAG
= std::vector<const ROBF*>;
26
27
DeclareInterfaceID
(
IROBDataProviderSvc
, 1, 1);
28
30
virtual
void
setNextEvent
(
const
EventContext& context,
const
RawEvent
*
re
) = 0;
32
virtual
void
getROBData
(
const
EventContext& context,
const
std::vector<uint32_t>& robIds,
VROBFRAG
& robFragments,
const
std::string_view callerName=
"UNKNOWN"
) = 0;
34
virtual
const
RawEvent
*
getEvent
(
const
EventContext& context) = 0;
36
virtual
void
setEventStatus
(
const
EventContext& context, uint32_t ) = 0;
38
virtual
uint32_t
getEventStatus
(
const
EventContext& context) = 0;
39
47
virtual
void
processCachedROBs
(
const
EventContext& context,
48
const
std::function<
void
(
const
ROBF
* )>& fn )
const
= 0;
49
};
50
51
#endif
re
const std::regex re(r_e)
RawEvent.h
RawEvent
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
Definition
RawEvent.h:37
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition
IROBDataProviderSvc.h:21
IROBDataProviderSvc::getEvent
virtual const RawEvent * getEvent(const EventContext &context)=0
Retrieve the whole event.
IROBDataProviderSvc::ROBF
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment ROBF
Definition
IROBDataProviderSvc.h:24
IROBDataProviderSvc::getROBData
virtual void getROBData(const EventContext &context, const std::vector< uint32_t > &robIds, VROBFRAG &robFragments, const std::string_view callerName="UNKNOWN")=0
Retrieve ROBFragments for given ROB ids from cache.
IROBDataProviderSvc::VROBFRAG
std::vector< const ROBF * > VROBFRAG
Definition
IROBDataProviderSvc.h:25
IROBDataProviderSvc::DeclareInterfaceID
DeclareInterfaceID(IROBDataProviderSvc, 1, 1)
IROBDataProviderSvc::processCachedROBs
virtual void processCachedROBs(const EventContext &context, const std::function< void(const ROBF *)> &fn) const =0
Interface to access cache of ROBs (it is a full event in case of offline) In online implementation th...
IROBDataProviderSvc::setNextEvent
virtual void setNextEvent(const EventContext &context, const RawEvent *re)=0
Add all ROBFragments of a RawEvent to cache.
IROBDataProviderSvc::setEventStatus
virtual void setEventStatus(const EventContext &context, uint32_t)=0
Store the status for the event.
IROBDataProviderSvc::getEventStatus
virtual uint32_t getEventStatus(const EventContext &context)=0
Retrieve the status for the event.
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment
eformat::ROBFragment< PointerType > ROBFragment
Definition
RawEvent.h:27
Generated on
for ATLAS Offline Software by
1.17.0