ATLAS Offline Software
Public Member Functions | List of all members
Athena::IRCUSvc Class Referenceabstract

Interface for RCU service. More...

#include <IRCUSvc.h>

Inheritance diagram for Athena::IRCUSvc:
Collaboration diagram for Athena::IRCUSvc:

Public Member Functions

 DeclareInterfaceID (IRCUSvc, 1, 0)
 
template<class T , typename... Args>
std::unique_ptr< RCUObject< T > > newrcu (Args &&... args)
 Make a new RCU object. More...
 
virtual void add (IRCUObject *obj)=0
 Add a new RCU object to the set being managed. More...
 
virtual StatusCode remove (IRCUObject *obj)=0
 Remove an object from the service. More...
 
virtual size_t getNumSlots () const =0
 Return the number of event slots. More...
 

Detailed Description

Interface for RCU service.

See RCUObject.h for details of the RCU facility.

The RCU service allows creating new RCU objects and registering them with the service, and also allows removing them from the service. The service will declare all registered RCU objects as quiescent at the end of an event.

Definition at line 38 of file IRCUSvc.h.

Member Function Documentation

◆ add()

virtual void Athena::IRCUSvc::add ( IRCUObject obj)
pure virtual

Add a new RCU object to the set being managed.

Parameters
objThe object to add.

◆ DeclareInterfaceID()

Athena::IRCUSvc::DeclareInterfaceID ( IRCUSvc  ,
,
 
)

◆ getNumSlots()

virtual size_t Athena::IRCUSvc::getNumSlots ( ) const
pure virtual

Return the number of event slots.

◆ newrcu()

template<class T , typename... Args>
std::unique_ptr<RCUObject<T> > Athena::IRCUSvc::newrcu ( Args &&...  args)
inline

Make a new RCU object.

Parameters
args...Arguments to pass to the T constructor.

The object will be registered with the service.

Definition at line 52 of file IRCUSvc.h.

53  {
54  return std::make_unique<RCUObject<T> > (*this, std::forward<Args>(args)...);
55  }

◆ remove()

virtual StatusCode Athena::IRCUSvc::remove ( IRCUObject obj)
pure virtual

Remove an object from the service.

Parameters
objThe object to remove.

The documentation for this class was generated from the following file:
python.CaloScaleNoiseConfig.args
args
Definition: CaloScaleNoiseConfig.py:80