OutputFileHandler Class Reference

#include <OutputFileHandler.hpp>

Collaboration diagram for OutputFileHandler:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 OutputFileHandler (const std::string &rDirectory, bool rCleanOutputDirectory=true)
std::string GetOutputDirectoryFullPath (std::string directory)
std::string GetOutputDirectoryFullPath ()
out_stream OpenOutputFile (std::string fileName, std::ios_base::openmode mode=std::ios::out|std::ios::trunc)
out_stream OpenOutputFile (std::string fileName, unsigned number, std::string fileFormat, std::ios_base::openmode mode=std::ios::out|std::ios::trunc)
bool IsMaster ()

Static Public Member Functions

static std::string GetChasteTestOutputDirectory ()

Private Attributes

std::string mDirectory
 The directory to store output files in.
bool mAmMaster
 Are we the master process?


Detailed Description

This file abstracts stuff that needs to be done when creating output files for tests. It defines some helpful functions, so that things that are otherwise repeated in lots of places are just done here.

Definition at line 46 of file OutputFileHandler.hpp.


Constructor & Destructor Documentation

OutputFileHandler::OutputFileHandler ( const std::string &  rDirectory,
bool  rCleanOutputDirectory = true 
)

Create an OutputFileHandler that will create output files in the given directory. The directory name should be relative to the place where Chaste test output is stored. If the user needs to know where this is, use the GetChasteTestOutputDirectory method.

Will check that the directory exists and create it if needed.

Parameters:
rDirectory the directory to put output files in.
rCleanOutputDirectory whether to remove any existing files in the output directory

Definition at line 41 of file OutputFileHandler.cpp.

References PetscTools::AmMaster(), GetOutputDirectoryFullPath(), mAmMaster, and mDirectory.


Member Function Documentation

std::string OutputFileHandler::GetChasteTestOutputDirectory (  )  [static]

Static method for getting the test output directory (the directory where chaste stores test out, which is the environment variable CHASTE_TESTOUTPUT

Static so an output file handler does not have to be created if the test output directory is wanted for, say, reading a file

Definition at line 63 of file OutputFileHandler.cpp.

Referenced by TissueSimulationArchiver< DIM, SIM >::GetArchivePathname(), and GetOutputDirectoryFullPath().

std::string OutputFileHandler::GetOutputDirectoryFullPath ( std::string  directory  ) 

Check that the desired output directory exists and is writable by us. Create it if needed. Return the full pathname of the output directory.

The environment variable CHASTE_TEST_OUTPUT will be examined. If it is set and non-empty it is taken to be a directory where test output should be stored. Otherwise the current directory is used.

Parameters:
directory pathname of the output directory, relative to where Chaste output will be stored (user shouldn't care about this).
Returns:
full pathname to the output directory

Definition at line 86 of file OutputFileHandler.cpp.

References GetChasteTestOutputDirectory(), and mAmMaster.

Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), HoneycombMeshGenerator::HoneycombMeshGenerator(), and TissueSimulationArchiver< DIM, SIM >::Save().

std::string OutputFileHandler::GetOutputDirectoryFullPath (  ) 

Return the full pathname to the directory this object will create files in.

Definition at line 105 of file OutputFileHandler.cpp.

References mDirectory.

Referenced by OutputFileHandler().

out_stream OutputFileHandler::OpenOutputFile ( std::string  fileName,
std::ios_base::openmode  mode = std::ios::out | std::ios::trunc 
)

Open an output file in our directory, and check it was opened successfully. Throws an Exception if not.

Parameters:
fileName the name of the file to open, relative to the output directory.
mode optionally, flags to use when opening the file (defaults are as for std::ofstream).
Returns:
a managed pointer to the opened file stream.

Definition at line 111 of file OutputFileHandler.cpp.

References mDirectory.

Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), MeshBasedTissue< DIM >::CreateOutputFiles(), AbstractTissue< DIM >::CreateOutputFiles(), CardiacElectroMechanicsProblem< DIM >::DetermineWatchedNodes(), Hdf5ToMeshalyzerConverter::Hdf5ToMeshalyzerConverter(), HoneycombMeshGenerator::Make2dPeriodicCryptMesh(), OpenOutputFile(), ProgressReporter::ProgressReporter(), LogFile::Set(), CryptSimulation2d::SetupWriteBetaCatenin(), SimpleDataWriter::SimpleDataWriter(), TissueSimulation< DIM >::Solve(), and Hdf5ToMeshalyzerConverter::Write().

out_stream OutputFileHandler::OpenOutputFile ( std::string  fileName,
unsigned  number,
std::string  fileFormat,
std::ios_base::openmode  mode = std::ios::out | std::ios::trunc 
)

This just calls the other OpenOutputFile after concatenating the first three arguments together to make the full filename. For example OpenOutputFile("results_", 3, ".dat") creates results_3.dat. See documentation for OpenOutputFile(std::string, std::ios_base::openmode).

Parameters:
fileName the root name of the file to open
number the number to append to the root name of the file
fileFormat the file format
mode optionally, flags to use when opening the file (defaults are as for std::ofstream).

Definition at line 123 of file OutputFileHandler.cpp.

References OpenOutputFile().

bool OutputFileHandler::IsMaster (  ) 

Returns true if this process is the master, or if running without Petsc i.e. in serial

Definition at line 133 of file OutputFileHandler.cpp.

References mAmMaster.

Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), and HoneycombMeshGenerator::Make2dPeriodicCryptMesh().


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

Generated on Wed Mar 18 12:52:46 2009 for Chaste by  doxygen 1.5.5