00001 #ifndef algorithmTask_h 00002 #define algorithmTask_h 00003 00004 #include "Event/algorithmComposite.h" 00005 #include "Event/serviceI.h" 00006 00007 //---------------------------------- 00009 /*! 00010 \c algorithmTask is an algorithmVI and an algorithmComposite.<br> 00011 \c <b> Users </b> can add dinamically algorithms using the services of serviceI. 00012 <ul> 00013 <li> uses all the services declared in serviceI. To be included in the server 00014 every algorithmTask object should have a name (\c serviceTo() method of serviceI). 00015 <li> the \c setOption() method from optionVI allows an external user (optionManager) to 00016 add dinamically algorithms to the algorithmComposite. 00017 </ul> 00018 */ 00019 //------------------------------ 00020 // JA Hernando 05/15/00 00021 //------------------------------ 00022 00023 //############################## 00024 class algorithmTask: public algorithmComposite, public serviceI 00025 //############################## 00026 { 00027 public: 00028 00029 00031 algorithmTask(std::string name) {m_algName = ""; setName(name);} 00033 ~algorithmTask(); 00034 00036 virtual void writeOut() const; 00037 00038 protected: 00039 00041 virtual void defineOption(); 00043 virtual void setOption(std::string add, std::string algName); 00044 00045 private: 00046 00048 std::string m_algName; 00049 }; 00050 #endif