00001 #ifndef __emcObjectFillerRegistry_h__ 00002 #define __emcObjectFillerRegistry_h__ 00003 00004 #include <list> 00005 #include <iostream> 00006 00007 class emcObjectFiller; 00008 class PHObject; 00009 class PHCompositeNode; 00010 00015 class emcObjectFillerRegistry 00016 { 00017 00018 public: 00019 static void add(emcObjectFiller*); 00020 static void remove(emcObjectFiller*); 00021 00022 static emcObjectFiller* findFiller(PHCompositeNode*, PHObject&, 00023 int verbose=0); 00024 00025 static emcObjectFiller* findFiller(PHObject&, 00026 int verbose=0); 00027 00028 static void print(std::ostream& out = std::cout); 00029 00030 private: 00031 static std::list<emcObjectFiller*>* fillers(void); 00032 }; 00033 00034 #endif