![]() |
kspaceFirstOrder3D-OMP 1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
|
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