emcTowerContainer.h

Go to the documentation of this file.
00001 #ifndef __EMCTOWERCONTAINER_H__
00002 #define __EMCTOWERCONTAINER_H__
00003 
00004 class emcTowerContent;
00005 
00006 #ifndef __PHOBJECT_H__
00007 #include "PHObject.h"
00008 #endif
00009 
00038 class emcTowerContainer : public PHObject
00039 {
00040 public:
00041 
00042   virtual ~emcTowerContainer();
00043 
00045   virtual emcTowerContent* addTower(unsigned int /*index*/) 
00046   { warning("addTower(i)"); return 0; }
00047 
00050   virtual emcTowerContent* addTower(unsigned int /*index*/, 
00051                                     const emcTowerContent& /*t*/)
00052   { warning("addTower(i,towercontent)"); return 0; }
00053 
00055   virtual unsigned int capacity(void) const 
00056   { warning("capacity"); return 0; }
00057 
00059   virtual emcTowerContainer* clone(void) const 
00060   { warning("clone"); return 0; }
00061 
00063   virtual emcTowerContainer* create(void) const
00064   { warning("create"); return 0; }
00065 
00067   virtual emcTowerContent* findTower(int /*towerID*/) const
00068   { warning("findTower"); return 0; }
00069 
00071   virtual emcTowerContent* getTower(unsigned int /*i*/) const 
00072   { warning("getTower"); return 0; }
00073 
00074   virtual void identify(std::ostream& os=std::cout) const;
00075 
00076   virtual int isValid() const;
00077 
00078   virtual void print(std::ostream& os=std::cout, int level=0) const;
00079 
00080   virtual bool removeTower(unsigned int /*i*/) 
00081   { warning("removeTower"); return false; }
00082 
00084   virtual bool resize(unsigned int /*newsize*/) 
00085   { warning("resize"); return false; }
00086 
00087   // Empty the container.
00088   virtual void Reset();
00089 
00091   virtual unsigned int size(void) const 
00092   { warning("size"); return 0; }
00093 
00094 protected:
00095 
00098   emcTowerContainer& operator=(const emcTowerContainer&);
00099 
00100 private:
00101 
00102   void warning(const char* method) const 
00103   { 
00104     std::cerr << __FILE__ << ":" << __LINE__ << method
00105               << " NOT IMPLEMENTED in daughter"
00106               << " class !" << std::endl; 
00107   }
00108 
00109   ClassDef(emcTowerContainer,0) // Array of emcTowerContainer (ABC)
00110     
00111 };
00112 
00113 #endif