ATLAS Offline Software
IROBDataProviderSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 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 
23 class IROBDataProviderSvc : virtual public IInterface {
24 
25 public:
27  typedef std::vector<const ROBF*> VROBFRAG;
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
get_generator_info.result
result
Definition: get_generator_info.py:21
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
IROBDataProviderSvc::getEventStatus
virtual uint32_t getEventStatus(const EventContext &context)=0
Retrieve the status for the event.
IROBDataProviderSvc::getEvent
virtual const RawEvent * getEvent(const EventContext &context)=0
Retrieve the whole event.
RawEvent
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
Definition: RawEvent.h:37
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::isEventComplete
virtual bool isEventComplete(const EventContext &) const =0
Check if complete event data are already in cache.
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::ROBF
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment ROBF
Definition: IROBDataProviderSvc.h:26
IROBDataProviderSvc::collectCompleteEventData
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.
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition: IROBDataProviderSvc.h:23
python.getCurrentFolderTag.fn
fn
Definition: getCurrentFolderTag.py:65
eformat::ROBFragment
Definition: L1CaloBsDecoderUtil.h:12
RawEvent.h
IROBDataProviderSvc::setNextEvent
virtual void setNextEvent(const EventContext &context, const RawEvent *re)=0
Add all ROBFragments of a RawEvent to cache.
IROBDataProviderSvc::setNextEvent
virtual void setNextEvent(const EventContext &context, const std::vector< ROBF > &result)=0
Add a given LVL1/LVL2 ROBFragment to cache.
IROBDataProviderSvc::VROBFRAG
std::vector< const ROBF * > VROBFRAG
Definition: IROBDataProviderSvc.h:27
IROBDataProviderSvc::addROBData
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.
IROBDataProviderSvc::setEventStatus
virtual void setEventStatus(const EventContext &context, uint32_t)=0
Store the status for the event.
re
const boost::regex re(r_e)
IROBDataProviderSvc::DeclareInterfaceID
DeclareInterfaceID(IROBDataProviderSvc, 1, 1)
Retrieve interface ID.