Hdf5DataReader Class Reference

#include <Hdf5DataReader.hpp>

Collaboration diagram for Hdf5DataReader:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Hdf5DataReader (const std::string &rDirectory, const std::string &rBaseName, bool makeAbsolute=true)
 Hdf5DataReader (const FileFinder &rDirectory, const std::string &rBaseName)
std::vector< double > GetVariableOverTime (const std::string &rVariableName, unsigned nodeIndex)
void GetVariableOverNodes (Vec data, const std::string &rVariableName, unsigned timestep=0)
std::vector< double > GetUnlimitedDimensionValues ()
unsigned GetNumberOfRows ()
std::vector< std::string > GetVariableNames ()
std::string GetUnit (const std::string &rVariableName)
bool IsDataComplete ()
std::vector< unsigned > GetIncompleteNodeMap ()
void Close ()
 ~Hdf5DataReader ()

Private Member Functions

void CommonConstructor (const FileFinder &rDirectory, const std::string &rBaseName)

Private Attributes

std::string mDirectory
std::string mBaseName
hid_t mFileId
hid_t mVariablesDatasetId
unsigned mVariablesDatasetRank
hsize_t mVariablesDatasetSizes [MAX_DATASET_RANK]
bool mIsUnlimitedDimensionSet
hid_t mTimeDatasetId
hsize_t mNumberTimesteps
std::vector< std::string > mVariableNames
std::map< std::string, unsigned > mVariableToColumnIndex
std::map< std::string,
std::string > 
mVariableToUnit
bool mIsDataComplete
std::vector< unsigned > mIncompleteNodeIndices

Static Private Attributes

static const unsigned MAX_DATASET_RANK = 3


Detailed Description

Todo:
: magic number
A concrete HDF5 data reader class.

Definition at line 46 of file Hdf5DataReader.hpp.


Constructor & Destructor Documentation

Hdf5DataReader::Hdf5DataReader ( const std::string &  rDirectory,
const std::string &  rBaseName,
bool  makeAbsolute = true 
)

Read data from the given files into memory.

Parameters:
rDirectory The directory the files are stored in
rBaseName The base name of the files to read (i.e. without the extensions)
makeAbsolute Whether to convert directory to an absolute path using the OutputFileHandler (defaults to true)

Definition at line 35 of file Hdf5DataReader.cpp.

References RelativeTo::Absolute, RelativeTo::ChasteTestOutput, and CommonConstructor().

Hdf5DataReader::Hdf5DataReader ( const FileFinder rDirectory,
const std::string &  rBaseName 
)

Alternative constructor taking a FileFinder to specify the directory.

Parameters:
rDirectory The directory the files are stored in
rBaseName The base name of the files to read (i.e. without the extensions)

Definition at line 56 of file Hdf5DataReader.cpp.

References CommonConstructor().

Hdf5DataReader::~Hdf5DataReader (  ) 

Destructor just calls Close.

Definition at line 360 of file Hdf5DataReader.cpp.

References Close().


Member Function Documentation

void Hdf5DataReader::CommonConstructor ( const FileFinder rDirectory,
const std::string &  rBaseName 
) [private]

Contains functionality common to both constructors.

Parameters:
rDirectory The directory the files are stored in
rBaseName The base name of the files to read (i.e. without the extensions)

Definition at line 66 of file Hdf5DataReader.cpp.

References EXCEPTION, FileFinder::Exists(), FileFinder::GetAbsolutePath(), FileFinder::IsDir(), MAX_DATASET_RANK, mBaseName, mDirectory, mFileId, mIncompleteNodeIndices, mIsDataComplete, mIsUnlimitedDimensionSet, mNumberTimesteps, mTimeDatasetId, mVariableNames, mVariablesDatasetId, mVariablesDatasetRank, mVariablesDatasetSizes, mVariableToColumnIndex, and mVariableToUnit.

Referenced by Hdf5DataReader().

std::vector< double > Hdf5DataReader::GetVariableOverTime ( const std::string &  rVariableName,
unsigned  nodeIndex 
)

void Hdf5DataReader::GetVariableOverNodes ( Vec  data,
const std::string &  rVariableName,
unsigned  timestep = 0 
)

std::vector< double > Hdf5DataReader::GetUnlimitedDimensionValues (  ) 

unsigned Hdf5DataReader::GetNumberOfRows (  ) 

std::vector< std::string > Hdf5DataReader::GetVariableNames (  ) 

std::string Hdf5DataReader::GetUnit ( const std::string &  rVariableName  ) 

Get the units in which a given variable is measured.

Parameters:
rVariableName name of a variable in the data file

Definition at line 375 of file Hdf5DataReader.cpp.

References mVariableToUnit.

bool Hdf5DataReader::IsDataComplete (  ) 

Get method for mIsDataComplete.

Definition at line 380 of file Hdf5DataReader.cpp.

References mIsDataComplete.

std::vector< unsigned > Hdf5DataReader::GetIncompleteNodeMap (  ) 

Get method for mIncompleteNodeIndices.

Definition at line 385 of file Hdf5DataReader.cpp.

References mIncompleteNodeIndices.

void Hdf5DataReader::Close (  ) 

Close any open files.

Todo:
: move code to the destructor???

Definition at line 347 of file Hdf5DataReader.cpp.

References mFileId, mIsUnlimitedDimensionSet, mTimeDatasetId, and mVariablesDatasetId.

Referenced by ~Hdf5DataReader().


Member Data Documentation

const unsigned Hdf5DataReader::MAX_DATASET_RANK = 3 [static, private]

Defined in HDF5 writer too.

Todo:
: define it once

Definition at line 50 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor().

std::string Hdf5DataReader::mDirectory [private]

Directory output files will be stored in (absolute path).

Definition at line 52 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor().

std::string Hdf5DataReader::mBaseName [private]

The base name for the output data files.

Definition at line 53 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor().

hid_t Hdf5DataReader::mFileId [private]

The data file ID.

Definition at line 55 of file Hdf5DataReader.hpp.

Referenced by Close(), and CommonConstructor().

The variables data set ID.

Definition at line 57 of file Hdf5DataReader.hpp.

Referenced by Close(), CommonConstructor(), GetVariableOverNodes(), and GetVariableOverTime().

The rank of the variables data set.

Definition at line 58 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor().

The sizes of each variable data set.

Definition at line 59 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor(), GetNumberOfRows(), GetVariableOverNodes(), and GetVariableOverTime().

Is the unlimited dimension set

Definition at line 61 of file Hdf5DataReader.hpp.

Referenced by Close(), CommonConstructor(), GetUnlimitedDimensionValues(), GetVariableOverNodes(), and GetVariableOverTime().

The time data set ID.

Definition at line 62 of file Hdf5DataReader.hpp.

Referenced by Close(), CommonConstructor(), and GetUnlimitedDimensionValues().

The number of time steps recorded in the data file.

Definition at line 63 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor(), GetUnlimitedDimensionValues(), and GetVariableOverNodes().

std::vector<std::string> Hdf5DataReader::mVariableNames [private]

The variable names.

Definition at line 65 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor(), and GetVariableNames().

std::map<std::string, unsigned> Hdf5DataReader::mVariableToColumnIndex [private]

Map between variable names and data column numbers.

Definition at line 66 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor(), GetVariableOverNodes(), and GetVariableOverTime().

std::map<std::string, std::string> Hdf5DataReader::mVariableToUnit [private]

Map between variable names and variable units.

Definition at line 67 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor(), and GetUnit().

Whether the data file is complete.

Definition at line 69 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor(), GetVariableOverNodes(), GetVariableOverTime(), and IsDataComplete().

std::vector<unsigned> Hdf5DataReader::mIncompleteNodeIndices [private]

Vector of node indices for which the data file does not contain data.

Definition at line 70 of file Hdf5DataReader.hpp.

Referenced by CommonConstructor(), GetIncompleteNodeMap(), and GetVariableOverTime().


The documentation for this class was generated from the following files:

Generated on Mon Nov 1 12:36:45 2010 for Chaste by  doxygen 1.5.5