The Gaudi Framework  v30r3 (a5ef0a68)
EventSlot Class Reference

Class representing the event slot. More...

#include <src/EventSlot.h>

Collaboration diagram for EventSlot:

Public Member Functions

 EventSlot (unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF< IMessageSvc > MS)
 
 ~EventSlot ()
 
 EventSlot (EventSlot &original, EventContext *theeventContext)
 Copy a slot as a subslot with a new context. More...
 
void reset (EventContext *theeventContext)
 Reset all resources in order to reuse the slot. More...
 

Public Attributes

EventContexteventContext
 Cache for the eventContext. More...
 
AlgsExecutionStates algsStates
 Vector of algorithms states. More...
 
bool complete
 Flags completion of the event. More...
 
std::vector< int > controlFlowState
 State of the control flow. More...
 
std::map< std::string, std::vector< unsigned int > > subSlotsByNode
 Listing of sub-slots by the node (name) they are attached to. More...
 
std::string entryPoint
 Name of the node this slot is attached to ("" for top level) More...
 
EventSlotparentSlot
 Pointer to parent slot (null for top level) More...
 
std::map< EventContext *, unsigned int > contextToSlot
 Quick lookup for sub-slots by event context (top level only) More...
 
std::vector< EventSlotallSubSlots
 Actual sub-slot instances. More...
 

Detailed Description

Class representing the event slot.

Definition at line 10 of file EventSlot.h.

Constructor & Destructor Documentation

EventSlot::EventSlot ( unsigned int  numberOfAlgorithms,
unsigned int  numberOfControlFlowNodes,
SmartIF< IMessageSvc MS 
)
inline

Definition at line 13 of file EventSlot.h.

14  : eventContext( nullptr )
15  , algsStates( numberOfAlgorithms, MS )
16  , complete( false )
17  , controlFlowState( numberOfControlFlowNodes, -1 )
18  , entryPoint( "" )
19  , parentSlot( nullptr ){};
AlgsExecutionStates algsStates
Vector of algorithms states.
Definition: EventSlot.h:49
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:44
std::string entryPoint
Name of the node this slot is attached to ("" for top level)
Definition: EventSlot.h:57
std::vector< int > controlFlowState
State of the control flow.
Definition: EventSlot.h:53
EventSlot * parentSlot
Pointer to parent slot (null for top level)
Definition: EventSlot.h:59
bool complete
Flags completion of the event.
Definition: EventSlot.h:51
EventSlot::~EventSlot ( )
inline

Definition at line 21 of file EventSlot.h.

21 {};
EventSlot::EventSlot ( EventSlot original,
EventContext theeventContext 
)
inline

Copy a slot as a subslot with a new context.

Definition at line 24 of file EventSlot.h.

25  : eventContext( theeventContext )
26  , algsStates( original.algsStates )
27  , complete( false )
29  , entryPoint( "" )
30  , parentSlot( &original ){};
AlgsExecutionStates algsStates
Vector of algorithms states.
Definition: EventSlot.h:49
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:44
std::string entryPoint
Name of the node this slot is attached to ("" for top level)
Definition: EventSlot.h:57
std::vector< int > controlFlowState
State of the control flow.
Definition: EventSlot.h:53
EventSlot * parentSlot
Pointer to parent slot (null for top level)
Definition: EventSlot.h:59
bool complete
Flags completion of the event.
Definition: EventSlot.h:51

Member Function Documentation

void EventSlot::reset ( EventContext theeventContext)
inline

Reset all resources in order to reuse the slot.

Definition at line 33 of file EventSlot.h.

34  {
35  eventContext = theeventContext;
36  algsStates.reset();
37  complete = false;
40  entryPoint = "";
41  parentSlot = nullptr;
44  };
AlgsExecutionStates algsStates
Vector of algorithms states.
Definition: EventSlot.h:49
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:44
std::string entryPoint
Name of the node this slot is attached to ("" for top level)
Definition: EventSlot.h:57
std::vector< int > controlFlowState
State of the control flow.
Definition: EventSlot.h:53
EventSlot * parentSlot
Pointer to parent slot (null for top level)
Definition: EventSlot.h:59
bool complete
Flags completion of the event.
Definition: EventSlot.h:51
T clear(T...args)
std::map< std::string, std::vector< unsigned int > > subSlotsByNode
Listing of sub-slots by the node (name) they are attached to.
Definition: EventSlot.h:55
T size(T...args)
T assign(T...args)
std::vector< EventSlot > allSubSlots
Actual sub-slot instances.
Definition: EventSlot.h:63
std::map< EventContext *, unsigned int > contextToSlot
Quick lookup for sub-slots by event context (top level only)
Definition: EventSlot.h:61

Member Data Documentation

AlgsExecutionStates EventSlot::algsStates

Vector of algorithms states.

Definition at line 49 of file EventSlot.h.

std::vector<EventSlot> EventSlot::allSubSlots

Actual sub-slot instances.

Definition at line 63 of file EventSlot.h.

bool EventSlot::complete

Flags completion of the event.

Definition at line 51 of file EventSlot.h.

std::map<EventContext*, unsigned int> EventSlot::contextToSlot

Quick lookup for sub-slots by event context (top level only)

Definition at line 61 of file EventSlot.h.

std::vector<int> EventSlot::controlFlowState

State of the control flow.

Definition at line 53 of file EventSlot.h.

std::string EventSlot::entryPoint

Name of the node this slot is attached to ("" for top level)

Definition at line 57 of file EventSlot.h.

EventContext* EventSlot::eventContext

Cache for the eventContext.

Definition at line 44 of file EventSlot.h.

EventSlot* EventSlot::parentSlot

Pointer to parent slot (null for top level)

Definition at line 59 of file EventSlot.h.

std::map<std::string, std::vector<unsigned int> > EventSlot::subSlotsByNode

Listing of sub-slots by the node (name) they are attached to.

Definition at line 55 of file EventSlot.h.


The documentation for this class was generated from the following file: