00001 #include "Event/eventTask.h"
00002 #include "Event/processManager.h"
00003 #include "Event/messageManager.h"
00004
00005
00006 eventTask::eventTask(std::string name)
00007
00008 {
00009 m_genName = "";
00010 m_recName = "";
00011 m_anaName = "";
00012
00013 m_eventTaskName = "";
00014
00015 setName(name);
00016 }
00017
00018 void eventTask::setOption(std::string task, std::string algorithm)
00019
00020 {
00021 optionVI::setOption(task,algorithm);
00022 if (task == "addEventTask") {
00024 eventTask* evtP = processManager::instance()->getEventTask(algorithm);
00025 if (evtP ==0) return;
00026 add(algorithm,evtP);
00027 message(" eventTask "+algorithm+" added into eventTask "+name(),"RELEASE");
00028 } else if (task == "generation" || task == "reconstruction" || task == "analysis") {
00031 algorithmVI* alg = processManager::instance()->getAlgorithm(algorithm);
00032 if (alg == 0) return;
00033 if (task == "generation") genAlg()->add(algorithm,alg);
00034 else if (task == "reconstruction") recAlg()->add(algorithm,alg);
00035 else if (task == "analysis") anaAlg()->add(algorithm,alg);
00036 message(" algorithm "+algorithm+" added into "+task+" of the eventTask "+name(),"RELEASE");
00037 }
00038 }
00039
00040 void eventTask::defineOption()
00041
00042 {
00045 optionVI::defineOption("generation",&m_genName);
00046 optionVI::defineOption("reconstruction",&m_recName);
00047 optionVI::defineOption("analysis",&m_anaName);
00048
00049 optionVI::defineOption("addEventTask",&m_eventTaskName);
00050 }
00051
00052 void eventTask::writeOut() const
00053
00054 {
00055 if (!acceptLevel()) return;
00056 std::ostream& out = messageManager::instance()->out();
00057 messageVI::writeOut();
00058
00059 if (eventComposite::size() > 0 ) {
00060 out << " -- eventTask in Server of : " << name() << " -- " << "\n";
00061 out << nameList();
00062 }
00063 if (genAlg()->size() >0 ) {
00064 out << " -- algorithms in generation of : " << name() << " -- " << "\n";
00065 out << genAlg()->nameList();
00066 }
00067 if (recAlg()->size() > 0 ) {
00068 out << " -- algorithms in reconstruction of : "<< name() <<" -- " << "\n";
00069 out << recAlg()->nameList();
00070 }
00071 if (anaAlg()->size() > 0 ) {
00072 out << " -- algorithms in analysis of : " <<name() <<" -- " << "\n";
00073 out << anaAlg()->nameList();
00074 }
00075 }