kspaceFirstOrder3D-OMP 1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
Public Member Functions | Private Types | Private Member Functions | Private Attributes
TMatrixContainer Class Reference

Class implementing the matrix container.

#include <MatrixContainer.h>

Collaboration diagram for TMatrixContainer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TMatrixContainer ()
 Constructor.
virtual ~TMatrixContainer ()
 Destructor.
size_t size ()
bool empty ()
void CreateAllObjects ()
 Create instances of all objects in the container.
void LoadMatricesDataFromDisk (THDF5_File &HDF5_File)
 Load all matrices from the HDF5 file.
void FreeAllMatrices ()
 Free all matrices - destroy them.
void AddMatricesIntoContainer ()
 Set all matrices recored - populate the container.
TMatrixRecordGetMatrixRecord (const TMatrixID MatrixID)
TMatrixRecordoperator[] (const TMatrixID MatrixID)
TBaseMatrixGetBaseMatrix (const TMatrixID MatrixID)
TBaseFloatMatrixGetBaseFloatMatrix (const TMatrixID MatrixID)
TRealMatrixGetRealMatrix (const TMatrixID MatrixID)
Tuxyz_sgxyzMatrixGetUxyz_sgxyzMatrix (const TMatrixID MatrixID)
TComplexMatrixGetComplexMatrix (const TMatrixID MatrixID)
TFFTWComplexMatrixGetFFTWComplexMatrix (const TMatrixID MatrixID)
TLongMatrixGetLongMatrix (const TMatrixID MatrixID)

Private Types

typedef map< TMatrixID,
TMatrixRecord
TMatrixRecordContainer
 Datatype for map associating the matrix ID enum and matrix record.

Private Member Functions

 TMatrixContainer (const TMatrixContainer &src)
 Copy constructor is not allowed for public.
TMatrixContaineroperator= (const TMatrixContainer &src)
 Operator = is not allowed for public.
void PrintErrorAndThrowException (const char *FMT, const string HDF5MatrixName, const char *File, const int Line)
 Print error and throw an exception.

Private Attributes

TMatrixRecordContainer MatrixContainer
 Map holding the container.

Detailed Description

Definition at line 152 of file MatrixContainer.h.


Constructor & Destructor Documentation

TMatrixContainer::~TMatrixContainer ( ) [virtual]

Destructor of TMatrixContainer

Definition at line 138 of file MatrixContainer.cpp.


Member Function Documentation

void TMatrixContainer::AddMatricesIntoContainer ( )

This function defines common matrices in K-Wave. All matrices records are created here.

Definition at line 245 of file MatrixContainer.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void TMatrixContainer::CreateAllObjects ( )

Create all matrix objects in the container.

Exceptions:
errorscause an exception bad_alloc.

Definition at line 150 of file MatrixContainer.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool TMatrixContainer::empty ( ) [inline]

Is the container empty?

Returns:
true if the container is empty

Definition at line 169 of file MatrixContainer.h.

void TMatrixContainer::FreeAllMatrices ( )

Free all matrix objects.

Definition at line 226 of file MatrixContainer.cpp.

Here is the caller graph for this function:

TBaseFloatMatrix& TMatrixContainer::GetBaseFloatMatrix ( const TMatrixID  MatrixID) [inline]

Get BaseFloatMatrix from the container

Parameters:
[in]MatrixID- Matrix identifier
Returns:
BaseFloatMatrix

Definition at line 216 of file MatrixContainer.h.

TBaseMatrix& TMatrixContainer::GetBaseMatrix ( const TMatrixID  MatrixID) [inline]

Get BaseMatrix from the container

Parameters:
[in]MatrixID- Matrix identifier
Returns:
Base Matrix

Definition at line 207 of file MatrixContainer.h.

TComplexMatrix& TMatrixContainer::GetComplexMatrix ( const TMatrixID  MatrixID) [inline]

Get ComplexMatrix from the container

Parameters:
[in]MatrixID- Matrix identifier
Returns:
ComplexMatrix

Definition at line 243 of file MatrixContainer.h.

TFFTWComplexMatrix& TMatrixContainer::GetFFTWComplexMatrix ( const TMatrixID  MatrixID) [inline]

GetFFTWComplexMatrix from the container

Parameters:
[in]MatrixID- Matrix identifier
Returns:
FFTWComplexMatrix

Definition at line 252 of file MatrixContainer.h.

TLongMatrix& TMatrixContainer::GetLongMatrix ( const TMatrixID  MatrixID) [inline]

Get LongMatrix matrix from the container

Parameters:
[in]MatrixID- Matrix identifier
Returns:
LongMatrix

Definition at line 261 of file MatrixContainer.h.

TMatrixRecord& TMatrixContainer::GetMatrixRecord ( const TMatrixID  MatrixID) [inline]

Get matrix record

Parameters:
[in]MatrixID- Matrix identifier
Returns:
the matrix record

Definition at line 188 of file MatrixContainer.h.

TRealMatrix& TMatrixContainer::GetRealMatrix ( const TMatrixID  MatrixID) [inline]

Get RealMatrix from the container

Parameters:
[in]MatrixID- Matrix identifier
Returns:
RealMatrix

Definition at line 225 of file MatrixContainer.h.

Tuxyz_sgxyzMatrix& TMatrixContainer::GetUxyz_sgxyzMatrix ( const TMatrixID  MatrixID) [inline]

Get Uxyz_sgzMatrix from the container

Parameters:
[in]MatrixID- Matrix identifier
Returns:
Uxyz_sgzMatrix

Definition at line 234 of file MatrixContainer.h.

void TMatrixContainer::LoadMatricesDataFromDisk ( THDF5_File HDF5_File)

Load all marked matrices from the HDF5 file.

Parameters:
[in]HDF5_File- HDF5 file handle

Definition at line 207 of file MatrixContainer.cpp.

Here is the caller graph for this function:

TMatrixRecord& TMatrixContainer::operator[] ( const TMatrixID  MatrixID) [inline]

operator []

Parameters:
[in]MatrixID- Matrix identifier
Returns:
the matrix record

Definition at line 197 of file MatrixContainer.h.

void TMatrixContainer::PrintErrorAndThrowException ( const char *  FMT,
const string  HDF5MatrixName,
const char *  File,
const int  Line 
) [private]

Print error and and throw an exception

Exceptions:
bad_alloc
Parameters:
[in]FMT- format of error
[in]HDF5MatrixName- HDF5 dataset name
[in]FileFile of error
[in]LineLine of error

Definition at line 508 of file MatrixContainer.cpp.

Here is the caller graph for this function:

size_t TMatrixContainer::size ( ) [inline]

Get number of matrices in the container

Returns:
number of matrices in the container

Definition at line 164 of file MatrixContainer.h.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations