00001 #ifndef selectionManager_H 00002 #define selectionManager_H 00003 00004 #include "Event/cutVI.h" 00005 #include "Event/cutSelection.h" 00006 00007 #include "Event/serviceI.h" 00008 #include "Event/serverVI.h" 00009 00010 //--------------------- 00012 00051 //---------------------------------------- 00052 // JA hernando Santa Cruz, CA, 052600 00053 //---------------------------------------- 00054 00055 //######################################## 00056 class selectionManager : public serviceI 00057 //######################################## 00058 { 00059 public: 00060 00061 00063 selectionManager(); 00065 ~selectionManager(); 00066 00068 static selectionManager* instance() {return m_instance;} 00069 00071 bool apply(std::string name) {return getCut(name)->apply();} 00072 00074 void addCut(std::string name, cutVI* cut) {m_serverCut->add(name,cut);} 00075 00077 cutVI* getCut(std::string name) const; 00078 00080 cutComposite* getCutComposite(std::string name) const; 00081 00083 virtual void writeOut() const; 00084 00085 protected: 00086 00088 cutSelection* getSelection(std::string name) const; 00089 00091 virtual void defineOption(); 00092 00094 virtual void setOption(std::string selectionName, std::string cutName); //overwriten 00095 00096 private: 00097 00099 static selectionManager* m_instance; 00100 00102 serverVI<cutVI>* m_serverCut; 00103 00105 serverVI<cutSelection>* m_serverSelection; 00106 00107 private: 00108 00110 cutSelection* m_selRead; 00112 cutSelection* m_selAna; 00113 00115 std::string m_selName; 00116 }; 00117 #endif