emcObjectFiller.h

Go to the documentation of this file.
00001 #ifndef __emcObjectFiller_h__
00002 #define __emcObjectFiller_h__
00003 
00004 #include "PHObject.h"
00005 
00006 class PHCompositeNode;
00007 
00018 class emcObjectFiller : public PHObject
00019 {
00020 
00021 public:
00022 
00023   emcObjectFiller();
00024   virtual ~emcObjectFiller() {}
00025 
00029   virtual bool canFill(PHObject& destination,
00030                        int verbose=0) const = 0;
00031 
00034   virtual bool canFill(PHCompositeNode*, 
00035                        PHObject& destination,
00036                        int verbose=0) const
00037   { return canFill(destination); }
00038 
00040   virtual bool fill(PHCompositeNode* topNode, 
00041                     PHObject& destination,
00042                     int verbose=0) = 0;
00043 
00044 private:
00045 
00046   void registerMe(void);
00047 
00048   ClassDef(emcObjectFiller,0)
00049 };
00050 
00051 #endif
00052