kspaceFirstOrder3D-OMP  1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
MatrixClasses/BaseLongMatrix.h
Go to the documentation of this file.
00001 
00034 #ifndef BASELONGMATRIXDATA_H
00035 #define  BASELONGMATRIXDATA_H
00036 
00037 
00038 #include <MatrixClasses/BaseMatrix.h>
00039 
00040 #include <Utils/DimensionSizes.h>
00041 
00042 
00043 using namespace std;
00044 
00050 class TBaseLongMatrix : public TBaseMatrix{
00051 public:
00053     TBaseLongMatrix(): TBaseMatrix(),  pTotalElementCount(0), pTotalAllocatedElementCount(0),
00054                            pDimensionSizes(), pDataRowSize(0), p2DDataSliceSize (0),  pMatrixData (NULL) 
00055     {};
00056     
00057     
00059     inline struct TDimensionSizes GetDimensionSizes() const {
00060         return pDimensionSizes;
00061     }
00062     
00064     virtual size_t GetTotalElementCount() const {
00065         return pTotalElementCount;
00066     };        
00067             
00069     virtual size_t GetTotalAllocatedElementCount() const {
00070         return pTotalAllocatedElementCount;
00071     };        
00072     
00074     virtual ~TBaseLongMatrix(){};
00075         
00076     
00078     virtual void ZeroMatrix();
00079     
00081     virtual long* GetRawData() {return pMatrixData;}
00082 
00083 protected:
00085     size_t pTotalElementCount;
00087     size_t pTotalAllocatedElementCount;
00088             
00090     struct TDimensionSizes pDimensionSizes;     
00091  
00093     size_t pDataRowSize;
00095     size_t p2DDataSliceSize;
00096     
00098     long* pMatrixData;
00099     
00100 
00102     virtual void AllocateMemory();
00103 
00105     virtual void FreeMemory() ;
00106  
00108     TBaseLongMatrix(const TBaseLongMatrix& src);
00110     TBaseLongMatrix & operator =(const TBaseLongMatrix& src);
00111     
00112 
00113 private:
00114 
00115 };// end of TBaseLongMatrix
00116 //------------------------------------------------------------------------------
00117 
00118 #endif   /* TBASEINTDATA_H */
00119 
 All Classes Files Functions Variables Typedefs Enumerations