My Project
|
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