kspaceFirstOrder3D-OMP 1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
MatrixClasses/OutputHDF5Stream.h
Go to the documentation of this file.
00001 
00033 #ifndef OUTPUTHDF5STREAM_H
00034 #define  OUTPUTHDF5STREAM_H
00035 
00036 #include <string>
00037 
00038 #include <MatrixClasses/RealMatrix.h>
00039 #include <MatrixClasses/LongMatrix.h>
00040 
00041 #include <HDF5/HDF5_File.h>
00042 
00043 using namespace std;
00044 
00049 class TOutputHDF5Stream {
00050 public:    
00052     TOutputHDF5Stream() : HDF5_File(NULL), HDF5_Dataset_id(H5I_BADID), Position(0,0,0) {};    
00053     
00055     virtual void CreateStream(THDF5_File & HDF5_File, const char * DatasetName, 
00056                               const TDimensionSizes & TotalSize, const TDimensionSizes & ChunkSize, 
00057                               const int CompressionLevel);
00059     virtual void CloseStream();
00060     
00062     virtual void AddData   (TRealMatrix& Source_matrix, TLongMatrix& Index, float * TempBuffer);    
00063         
00065     virtual ~TOutputHDF5Stream();
00066 private:    
00071     TOutputHDF5Stream(const TOutputHDF5Stream& src);
00072     
00074     TOutputHDF5Stream & operator = (const TOutputHDF5Stream& src);
00075     
00077     THDF5_File* HDF5_File;
00079     hid_t       HDF5_Dataset_id;
00080     
00082     TDimensionSizes Position;
00083    
00084 };// end of TOutputHDF5Stream
00085 
00086 #endif   /* OUTPUTREALSTREAM_H */
00087 
 All Classes Files Functions Variables Typedefs Enumerations