The Gaudi Framework  v30r1 (5d4f4ae2)
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

EventContext * eventContext
 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...
 
EventSlot * parentSlot
 Pointer to parent slot (null for top level) More...
 
std::vector< std::pair< EventContext *, int > > subSlotAlgsReady
 Quick lookup for data-ready algorithms in sub-slots (top level only) More...
 
std::map< EventContext *, unsigned int > contextToSlot
 Quick lookup for sub-slots by event context (top level only) More...
 
std::vector< EventSlot > allSubSlots
 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:50
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:45
std::string entryPoint
Name of the node this slot is attached to ("" for top level)
Definition: EventSlot.h:58
std::vector< int > controlFlowState
State of the control flow.
Definition: EventSlot.h:54
EventSlot * parentSlot
Pointer to parent slot (null for top level)
Definition: EventSlot.h:60
bool complete
Flags completion of the event.
Definition: EventSlot.h:52
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:50
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:45
std::string entryPoint
Name of the node this slot is attached to ("" for top level)
Definition: EventSlot.h:58
std::vector< int > controlFlowState
State of the control flow.
Definition: EventSlot.h:54
EventSlot * parentSlot
Pointer to parent slot (null for top level)
Definition: EventSlot.h:60
bool complete
Flags completion of the event.
Definition: EventSlot.h:52

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;
45  };
AlgsExecutionStates algsStates
Vector of algorithms states.
Definition: EventSlot.h:50
EventContext * eventContext
Cache for the eventContext.
Definition: EventSlot.h:45
std::string entryPoint
Name of the node this slot is attached to ("" for top level)
Definition: EventSlot.h:58
std::vector< int > controlFlowState
State of the control flow.
Definition: EventSlot.h:54
std::vector< std::pair< EventContext *, int > > subSlotAlgsReady
Quick lookup for data-ready algorithms in sub-slots (top level only)
Definition: EventSlot.h:62
EventSlot * parentSlot
Pointer to parent slot (null for top level)
Definition: EventSlot.h:60
bool complete
Flags completion of the event.
Definition: EventSlot.h:52
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:56
T size(T...args)
T assign(T...args)
std::vector< EventSlot > allSubSlots
Actual sub-slot instances.
Definition: EventSlot.h:66
std::map< EventContext *, unsigned int > contextToSlot
Quick lookup for sub-slots by event context (top level only)
Definition: EventSlot.h:64

Member Data Documentation

AlgsExecutionStates EventSlot::algsStates

Vector of algorithms states.

Definition at line 50 of file EventSlot.h.

std::vector<EventSlot> EventSlot::allSubSlots

Actual sub-slot instances.

Definition at line 66 of file EventSlot.h.

bool EventSlot::complete

Flags completion of the event.

Definition at line 52 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 64 of file EventSlot.h.

std::vector<int> EventSlot::controlFlowState

State of the control flow.

Definition at line 54 of file EventSlot.h.

std::string EventSlot::entryPoint

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

Definition at line 58 of file EventSlot.h.

EventContext* EventSlot::eventContext

Cache for the eventContext.

Definition at line 45 of file EventSlot.h.

EventSlot* EventSlot::parentSlot

Pointer to parent slot (null for top level)

Definition at line 60 of file EventSlot.h.

std::vector<std::pair<EventContext*, int> > EventSlot::subSlotAlgsReady

Quick lookup for data-ready algorithms in sub-slots (top level only)

Definition at line 62 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 56 of file EventSlot.h.


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