|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef BYTESTREAMCNVSVCBASE_ROBDATAPROVIDERSVC_H
6 #define BYTESTREAMCNVSVCBASE_ROBDATAPROVIDERSVC_H
30 #include "eformat/SourceIdentifier.h"
50 virtual void addROBData(
const EventContext& context,
const std::vector<uint32_t>& robIds,
const std::string_view callerName=
"UNKNOWN")
override;
53 virtual void setNextEvent(
const EventContext& context,
const std::vector<OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment>&
result)
override;
59 virtual void getROBData(
const EventContext& context,
const std::vector<uint32_t>& robIds, VROBFRAG& robFragments,
60 const std::string_view callerName=
"UNKNOWN")
override;
72 const std::function<
void(
const ROBF* )>&
fn )
const override;
74 virtual bool isEventComplete(
const EventContext& )
const override {
return true; }
82 typedef std::map<uint32_t, std::unique_ptr<const ROBF>, std::less<uint32_t> >
ROBMAP;
SimpleProperty< std::vector< std::pair< int, int > > > ArrayPairIntProperty
Remaining attributes are for configuration vector of Source ids and status words to be ignored for th...
virtual void setEventStatus(const EventContext &context, uint32_t status) override
Store the status for the event.
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
virtual void addROBData(const EventContext &context, const std::vector< uint32_t > &robIds, const std::string_view callerName="UNKNOWN") override
Add ROBFragments to cache for given ROB ids, ROB fragments may be retrieved with DataCollector.
ArrayPairIntProperty m_filterRobWithStatus
virtual void setNextEvent(const EventContext &context, const std::vector< OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment > &result) override
Add a given LVL1/LVL2 ROBFragment to cache.
std::map< eformat::SubDetector, std::vector< uint32_t > > FilterSubDetMap
map of Sub Det Source ids and status words to be ignored for the ROB map
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment ROBF
ROB Fragment class.
virtual StatusCode initialize() override
initialize the service
Maintain a set of objects, one per slot.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::map< uint32_t, std::unique_ptr< const ROBF >, std::less< uint32_t > > ROBMAP
vector of ROBFragment class
virtual void getROBData(const EventContext &context, const std::vector< uint32_t > &robIds, VROBFRAG &robFragments, const std::string_view callerName="UNKNOWN") override
Retrieve ROBFragments for given ROB ids from cache.
std::map< uint32_t, std::vector< uint32_t > > FilterRobMap
map of full ROB Source ids and status words to be ignored for the ROB map
ROBDataProviderSvc(const std::string &name, ISvcLocator *svcloc)
Constructor.
virtual uint32_t getEventStatus(const EventContext &context) override
Retrieve the status for the event.
virtual bool isEventComplete(const EventContext &) const override
virtual const RawEvent * getEvent(const EventContext &context) override
Retrieve the whole event.
BooleanProperty m_filterEmptyROB
Filter out empty ROB fragments which are send by the ROS.
FilterSubDetMap m_filterSubDetMap
const boost::regex re(r_e)
virtual int collectCompleteEventData(const EventContext &, const std::string_view) override
static void robmapClear(ROBMAP &toclear)
Maintain a set of objects, one per slot.
FilterRobMap m_filterRobMap
virtual void processCachedROBs(const EventContext &context, const std::function< void(const ROBF *)> &fn) const override
SG::SlotSpecificObj< EventCache > m_eventsCache
bool filterRobWithStatus(const ROBF *rob)
method to filter ROBs with given Status code
ArrayPairIntProperty m_filterSubDetWithStatus