ATLAS Offline Software
Public Types | Public Member Functions | List of all members
ITrigCostSvc Class Referenceabstract

Pure virtual interface to be implimented by Trig Cost service(s) More...

#include <ITrigCostSvc.h>

Inheritance diagram for ITrigCostSvc:
Collaboration diagram for ITrigCostSvc:

Public Types

enum  AuditType { Before, After }
 Disambiguation enum for the start or the end of an algorithm's execution. More...
 

Public Member Functions

 DeclareInterfaceID (ITrigCostSvc, 1, 0)
 Retrieve interface ID. More...
 
virtual ~ITrigCostSvc ()
 
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 flag. More...
 
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. More...
 
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 handle. More...
 
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 monitoring data. More...
 
virtual StatusCode monitorROS (const EventContext &context, robmonitor::ROBDataMonitorStruct payload)=0
 To be used to cache ROBs for ROS. More...
 
virtual StatusCode generateTimeoutReport (const EventContext &context, std::string &report)=0
 To be used to generate timeout report. More...
 
virtual StatusCode discardEvent (const EventContext &context)=0
 Discard the monitored event. More...
 

Detailed Description

Pure virtual interface to be implimented by Trig Cost service(s)

Definition at line 24 of file ITrigCostSvc.h.

Member Enumeration Documentation

◆ AuditType

Disambiguation enum for the start or the end of an algorithm's execution.

Enumerator
Before 
After 

Definition at line 36 of file ITrigCostSvc.h.

36 { Before, After };

Constructor & Destructor Documentation

◆ ~ITrigCostSvc()

virtual ITrigCostSvc::~ITrigCostSvc ( )
inlinevirtual

Definition at line 31 of file ITrigCostSvc.h.

31 {}

Member Function Documentation

◆ DeclareInterfaceID()

ITrigCostSvc::DeclareInterfaceID ( ITrigCostSvc  ,
,
 
)

Retrieve interface ID.

◆ discardEvent()

virtual StatusCode ITrigCostSvc::discardEvent ( const EventContext &  context)
pure virtual

Discard the monitored event.

◆ endEvent()

virtual StatusCode ITrigCostSvc::endEvent ( const EventContext &  ,
SG::WriteHandle< xAOD::TrigCompositeContainer > &  ,
SG::WriteHandle< xAOD::TrigCompositeContainer > &   
)
pure virtual

To be used to signal end of an event in a given slot, and to write an output payload to a given handle.

◆ generateTimeoutReport()

virtual StatusCode ITrigCostSvc::generateTimeoutReport ( const EventContext &  context,
std::string &  report 
)
pure virtual

To be used to generate timeout report.

◆ isMonitoredEvent()

virtual bool ITrigCostSvc::isMonitoredEvent ( const EventContext &  context,
const bool  includeMultiSlot 
) const
pure virtual

To be used by external suppliers of data to know if they should spend the CPU to collate their monitoring data.

◆ monitorROS()

virtual StatusCode ITrigCostSvc::monitorROS ( const EventContext &  context,
robmonitor::ROBDataMonitorStruct  payload 
)
pure virtual

To be used to cache ROBs for ROS.

◆ processAlg()

virtual StatusCode ITrigCostSvc::processAlg ( const EventContext &  ,
const std::string &  ,
const  AuditType 
)
pure virtual

To be used to signal the Before or After status of a named algorithm in a given context.

◆ startEvent()

virtual StatusCode ITrigCostSvc::startEvent ( const EventContext &  ,
const bool  enableMonitoring 
)
pure virtual

To be used to signal to the service a new event in a given slot, and to send a monitor/don't monitor flag.


The documentation for this class was generated from the following file:
ITrigCostSvc::After
@ After
Definition: ITrigCostSvc.h:36
ITrigCostSvc::Before
@ Before
Definition: ITrigCostSvc.h:36