ATLAS Offline Software
Loading...
Searching...
No Matches
ITrigCostSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4 /*
5 */
6
7#ifndef TRIGCOSTMONITOR_ITRIGCOSTSVC_H
8#define TRIGCOSTMONITOR_ITRIGCOSTSVC_H 1
9
10#include "GaudiKernel/IService.h"
11#include "GaudiKernel/EventContext.h"
12
16
17#include <string>
18
19
24class ITrigCostSvc : public virtual IService {
25public:
30
31 virtual ~ITrigCostSvc() {}
32
37
41 virtual StatusCode startEvent(const EventContext&, const bool enableMonitoring) = 0;
42
46 virtual StatusCode processAlg(const EventContext&, const std::string&, const AuditType) = 0;
47
52
56 virtual bool isMonitoredEvent(const EventContext& context, const bool includeMultiSlot) const = 0;
57
61 virtual StatusCode monitorROS(const EventContext& context, robmonitor::ROBDataMonitorStruct payload) = 0;
62
66 virtual StatusCode generateTimeoutReport(const EventContext& context, std::string& report) = 0;
67
71 virtual StatusCode discardEvent(const EventContext& context) = 0;
72};
73
74#endif // TRIGCOSTMONITOR_ITRIGCOSTSVC_H
Handle class for recording to StoreGate.
Pure virtual interface to be implimented by Trig Cost service(s)
virtual StatusCode generateTimeoutReport(const EventContext &context, std::string &report)=0
To be used to generate timeout report.
virtual StatusCode discardEvent(const EventContext &context)=0
Discard the monitored event.
virtual ~ITrigCostSvc()
virtual bool isMonitoredEvent(const EventContext &context, const bool includeMultiSlot) const =0
To be used by external suppliers of data to know if they should spend the CPU to collate their monito...
virtual StatusCode monitorROS(const EventContext &context, robmonitor::ROBDataMonitorStruct payload)=0
To be used to cache ROBs for ROS.
virtual StatusCode startEvent(const EventContext &, const bool enableMonitoring)=0
To be used to signal to the service a new event in a given slot, and to send a monitor/don't monitor ...
DeclareInterfaceID(ITrigCostSvc, 1, 0)
Retrieve interface ID.
AuditType
Disambiguation enum for the start or the end of an algorithm's execution.
virtual StatusCode endEvent(const EventContext &, SG::WriteHandle< xAOD::TrigCompositeContainer > &, SG::WriteHandle< xAOD::TrigCompositeContainer > &)=0
To be used to signal end of an event in a given slot, and to write an output payload to a given handl...
virtual StatusCode processAlg(const EventContext &, const std::string &, const AuditType)=0
To be used to signal the Before or After status of a named algorithm in a given context.
The structure which is used to monitor the ROB data request in L2 It is created for every addROBData ...