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
15#include <string>
16
17
22class ITrigCostSvc : public virtual IService {
23public:
28
29 virtual ~ITrigCostSvc() {}
30
35
39 virtual StatusCode startEvent(const EventContext&, const bool enableMonitoring) = 0;
40
44 virtual StatusCode processAlg(const EventContext&, const std::string&, const AuditType) = 0;
45
49 virtual StatusCode endEvent(const EventContext&, SG::WriteHandle<xAOD::TrigCompositeContainer>&) = 0;
50
54 virtual bool isMonitoredEvent(const EventContext& context, const bool includeMultiSlot) const = 0;
55
59 virtual StatusCode generateTimeoutReport(const EventContext& context, std::string& report) = 0;
60
64 virtual StatusCode discardEvent(const EventContext& context) = 0;
65};
66
67#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 endEvent(const EventContext &, 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 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 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.