ATLAS Offline Software
Loading...
Searching...
No Matches
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"
10#include "GaudiKernel/EventContext.h"
11
12#include <cstdint>
13#include <vector>
14#include <string_view>
15#include <functional>
16
17
21class IROBDataProviderSvc : virtual public IInterface {
22
23public:
25 using VROBFRAG = std::vector<const ROBF*>;
26
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
const std::regex re(r_e)
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
Definition RawEvent.h:37
Interface class for managing ROB for both online and offline.
virtual const RawEvent * getEvent(const EventContext &context)=0
Retrieve the whole event.
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment ROBF
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.
std::vector< const ROBF * > VROBFRAG
DeclareInterfaceID(IROBDataProviderSvc, 1, 1)
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...
virtual void setNextEvent(const EventContext &context, const RawEvent *re)=0
Add all ROBFragments of a RawEvent to cache.
virtual void setEventStatus(const EventContext &context, uint32_t)=0
Store the status for the event.
virtual uint32_t getEventStatus(const EventContext &context)=0
Retrieve the status for the event.
eformat::ROBFragment< PointerType > ROBFragment
Definition RawEvent.h:27