My Project
TwoDimElementContainer.hh
00001 /*
00002 $Id: TwoDimElementContainer.hh 1647 2006-10-20 08:39:13Z suzuki $
00003 */
00004 
00005 
00006 #ifndef TWODIMELEMENTCONTAINER
00007 #define TWODIMELEMENTCONTAINER
00008 
00009 #include "ElementContainer.hh"
00010 #include "NeutronVector.hh"
00011 #include "ElementContainerMatrix.hh"
00012 
00014 
00023 class TwoDimElementContainer
00024 {
00025 private:
00026   HeaderBase *header;
00027   vector<UInt4> Dim;
00028   NeutronVector< NeutronVector< ElementContainer,HeaderBase >, 
00029                  HeaderBase > *TwoDimStorage;
00030   void MakeStorage( vector<UInt4> Dimension );
00031 protected:
00032 public:
00033   TwoDimElementContainer( vector<UInt4> Dimension );
00035   TwoDimElementContainer();
00037  ~TwoDimElementContainer();
00040   TwoDimElementContainer( const TwoDimElementContainer &ob );
00043   TwoDimElementContainer operator=( const TwoDimElementContainer ob );
00046   HeaderBase PutHeader(){ return *header; }
00048   HeaderBase* PutHeaderPointer(){ return header; }
00050   void InputHeader( HeaderBase Header );
00054   ElementContainer* operator()( UInt4 Xindex, UInt4 Yindex );
00057   ElementContainer Put( UInt4 Xindex, UInt4 Yindex );
00060   vector<UInt4> PutDimension(){ return Dim; }
00065   ElementContainerMatrix ConvertToMatrix();
00068   vector<ElementContainer> PutPackedContainer();
00070   void InputPackedContainer( vector<ElementContainer> obj );
00072 };
00073 
00074 #endif
 All Classes Functions Variables Friends