00001
00002 #include "Event/runEventAlg.h"
00003
00004 #include "Event/selectionManager.h"
00005 #include "Event/processManager.h"
00006
00007
00008 void runEventAlg::execute()
00009
00010 {
00011 if (!defined()) define();
00012
00014 if (m_cReadEvent->apply()) {
00016 m_aReadEvent->run();
00018 m_aProcessEvent->run();
00020 if (m_cWriteEvent->apply()) m_aWriteEvent->run();
00021 } else {
00022 m_aSkipEvent->run();
00023 }
00024 }
00025
00026 void runEventAlg::define()
00027
00028 {
00030 setDefine(true);
00031
00033 m_cReadEvent = selectionManager::instance()->getCut("selRead");
00034 m_cWriteEvent = selectionManager::instance()->getCut("selWrite");
00035
00036
00037 m_aReadEvent = processManager::instance()->getAlgorithm("comReadEvent");
00038 m_aSkipEvent = processManager::instance()->getAlgorithm("comSkipEvent");
00039 m_aWriteEvent = processManager::instance()->getAlgorithm("comWriteEvent");
00040 m_aProcessEvent = processManager::instance()->getAlgorithm("runEvent");
00041
00042 }