| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
HiveAlgoTask Class Reference

dirty place for adding an AlgoTask wrapper More...

Inheritance diagram for HiveAlgoTask:
[legend]
Collaboration diagram for HiveAlgoTask:
[legend]

## Public Member Functions
| HiveAlgoTask (IAlgorithm *algorithm, EventSchedulingState *scheduler, HiveEventLoopMgr *eventloopmanager)
tbb::task * | execute ()

## Public Attributes
IAlgorithm * | m_algorithm
EventSchedulingState * | m_scheduler
HiveEventLoopMgr * | m_eventloopmanager

## Detailed Description

dirty place for adding an AlgoTask wrapper

Definition at line 51 of file HiveEventLoopMgr.cpp.

## Constructor & Destructor Documentation

HiveAlgoTask::HiveAlgoTask | ( | IAlgorithm * | algorithm,
|  | EventSchedulingState * | scheduler,
|  | HiveEventLoopMgr * | eventloopmanager
| ) |  |
| inline

Definition at line 53 of file HiveEventLoopMgr.cpp.

55 : m_algorithm(algorithm),
56 m_scheduler(scheduler),
57 m_eventloopmanager(eventloopmanager){};
HiveAlgoTask::m_algorithm
IAlgorithm * m_algorithm
Definition: HiveEventLoopMgr.cpp:59
HiveAlgoTask::m_eventloopmanager
HiveEventLoopMgr * m_eventloopmanager
Definition: HiveEventLoopMgr.cpp:61
HiveAlgoTask::m_scheduler
EventSchedulingState * m_scheduler
Definition: HiveEventLoopMgr.cpp:60

## Member Function Documentation

tbb::task * HiveAlgoTask::execute | ( |  | ) |

Definition at line 64 of file HiveEventLoopMgr.cpp.

64 {
65 // Algorithm* this_algo = dynamic_cast<Algorithm*>(m_algorithm);
66 // this_algo->getContext()->m_thread_id = pthread_self();
67 m_algorithm->sysExecute();
68 m_scheduler->algoFinished();
69 // put back the algo into the hive algorithm manager
70 m_eventloopmanager->taskFinished(m_algorithm); // TODO do this with index: put index in context?
71 return NULL;
72 }
HiveAlgoTask::m_algorithm
IAlgorithm * m_algorithm
Definition: HiveEventLoopMgr.cpp:59
HiveEventLoopMgr::taskFinished
void taskFinished(IAlgorithm *&algo)
Decrement the number of algos in flight and put algo back in manager - maybe private.
Definition: HiveEventLoopMgr.cpp:787
IAlgorithm::sysExecute
virtual StatusCode sysExecute()=0
System execution. This method invokes the execute() method of a concrete algorithm.
HiveAlgoTask::m_eventloopmanager
HiveEventLoopMgr * m_eventloopmanager
Definition: HiveEventLoopMgr.cpp:61
HiveAlgoTask::m_scheduler
EventSchedulingState * m_scheduler
Definition: HiveEventLoopMgr.cpp:60
EventSchedulingState::algoFinished
void algoFinished()
Definition: EventSchedulingState.cpp:12

## Member Data Documentation

IAlgorithm* HiveAlgoTask::m_algorithm

Definition at line 59 of file HiveEventLoopMgr.cpp.

HiveEventLoopMgr* HiveAlgoTask::m_eventloopmanager

Definition at line 61 of file HiveEventLoopMgr.cpp.

EventSchedulingState* HiveAlgoTask::m_scheduler

Definition at line 60 of file HiveEventLoopMgr.cpp.

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

- GaudiHive/src/HiveEventLoopMgr.cpp