ATLAS Offline Software
Loading...
Searching...
No Matches
IROBDataProviderSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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// Declaration of the interface ID ( interface id, major version, minor version)
18//static const InterfaceID IID_IROBDataProviderSvc("IROBDataProviderSvc", 1 , 0);
19
23class IROBDataProviderSvc : virtual public IInterface {
24
25public:
27 using VROBFRAG = std::vector<const ROBF*>;
28
30 // static const InterfaceID& interfaceID() { return IID_IROBDataProviderSvc; }
32
33
34
35
36
38 virtual void addROBData(const EventContext& context, const std::vector<uint32_t>& robIds, const std::string_view callerName="UNKNOWN") = 0;
40 virtual void setNextEvent(const EventContext& context, const std::vector<ROBF>& result) = 0;
42 virtual void setNextEvent( const EventContext& context, const RawEvent* re) = 0;
44 virtual void getROBData(const EventContext& context, const std::vector<uint32_t>& robIds, VROBFRAG& robFragments, const std::string_view callerName="UNKNOWN") = 0;
46 virtual const RawEvent* getEvent(const EventContext& context) = 0;
48 virtual void setEventStatus(const EventContext& context, uint32_t ) = 0;
50 virtual uint32_t getEventStatus(const EventContext& context) = 0;
51
59 virtual void processCachedROBs(const EventContext& context,
60 const std::function< void(const ROBF* )>& fn ) const = 0;
61
63 virtual bool isEventComplete(const EventContext&) const = 0;
64
68 virtual int collectCompleteEventData(const EventContext& context, const std::string_view callerName="UNKNOWN") = 0;
69
70};
71
72#endif
const boost::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.
virtual int collectCompleteEventData(const EventContext &context, const std::string_view callerName="UNKNOWN")=0
Collect all data for an event from the ROS and put them into the cache.
std::vector< const ROBF * > VROBFRAG
virtual void addROBData(const EventContext &context, 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.
DeclareInterfaceID(IROBDataProviderSvc, 1, 1)
Retrieve interface ID.
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 bool isEventComplete(const EventContext &) const =0
Check if complete event data are already in cache.
virtual void setNextEvent(const EventContext &context, const std::vector< ROBF > &result)=0
Add a given LVL1/LVL2 ROBFragment to cache.
virtual uint32_t getEventStatus(const EventContext &context)=0
Retrieve the status for the event.
eformat::ROBFragment< PointerType > ROBFragment
Definition RawEvent.h:27