Class HDF5Output
Defined in File HDF5Output.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public Output
(Class Output)
Class Documentation
-
class HDF5Output : public Output
Output to HDF5 Format. The base class gives an overview of possible columns.
HDF5 structure:
HDF5 "FILENAME.h5" { GROUP "/" { DATASET "OUTPUTTYPE" { DATATYPE H5T_COMPOUND { ... } DATASPACE SIMPLE { ( 1 ) / ( H5S_UNLIMITED ) } DATA { ... } ATTRIBUTE "Version" { DATATYPE H5T_STRING { STRSIZE 100; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SCALAR DATA { (0): "VERSION" } } } } }
Public Types
-
enum OutputColumn
Values:
-
enumerator TrajectoryLengthColumn
-
enumerator ColumnDensityColumn
-
enumerator RedshiftColumn
-
enumerator CurrentIdColumn
-
enumerator CurrentEnergyColumn
-
enumerator CurrentPositionColumn
-
enumerator CurrentDirectionColumn
-
enumerator SourceIdColumn
-
enumerator SourceEnergyColumn
-
enumerator SourcePositionColumn
-
enumerator SourceDirectionColumn
-
enumerator CreatedIdColumn
-
enumerator CreatedEnergyColumn
-
enumerator CreatedPositionColumn
-
enumerator CreatedDirectionColumn
-
enumerator CandidateTagColumn
-
enumerator SerialNumberColumn
-
enumerator WeightColumn
-
enumerator TrajectoryLengthColumn
Public Functions
-
HDF5Output()
Default constructor. Does not run from scratch. At least open() has to be called in addition. Units of energy and length are, by default, EeV and Mpc. This can be changed with setEnergyScale and setLengthScale.
-
HDF5Output(const std::string &filename)
Constructor with the default OutputType (everything).
- Parameters:
filename – string containing name of output hdf5 file
-
HDF5Output(const std::string &filename, OutputType outputtype)
Constructor
- Parameters:
outputtype – type of output: Trajectory1D, Trajectory3D, Event1D, Event3D, Everything
filename – string containing name of output hdf5 file
-
~HDF5Output()
-
herr_t insertStringAttribute(const std::string &key, const std::string &value)
-
herr_t insertDoubleAttribute(const std::string &key, const double &value)
-
virtual std::string getDescription() const
-
void setFlushLimit(unsigned int N)
Force flush after N events. In long running applications with scarse output this can be set to 1 or 0 to avoid data corruption. In applications with frequent output this should be set to a high number (default)
-
void open(const std::string &filename)
Create and prepare a file as HDF5-file.
-
void close()
-
void flush() const
-
std::string OutputTypeName(OutputType outputtype)
-
void setEnergyScale(double scale)
Set energy scale.
- Parameters:
scale – energy scale (scale = 1 corresponds to 1 Joule)
-
void setLengthScale(double scale)
Set length scale.
- Parameters:
scale – length scale (scale = 1 corresponds to 1 meter)
-
void setOutputType(OutputType outputType)
Set type of output.
- Parameters:
outputType – type of output: Trajectory1D, Trajectory3D, Event1D, Event3D, Everything
-
void set(OutputColumn field, bool value)
Determines whether a given column will be displayed in the output.
- Parameters:
field – name of the field to be added/removed from output
value – boolean flag adding (true) or removing (false) the field
-
void enableProperty(const std::string &property, const Variant &defaultValue, const std::string &comment = "")
Add a property to output. Default value is required to assign a type in the output.
- Parameters:
property – string containing name of property
defaultValue – default value of property
comment – string with a comment
-
void enable(OutputColumn field)
Enable specific column in the output.
- Parameters:
field – name of the field to be enabled
-
void disable(OutputColumn field)
Disable specific column in the output.
- Parameters:
field – name of the field to be disabled
-
void enableAll()
Enable all fields. Essentially a wrapper for set(field, true).
-
void disableAll()
Disable all fields. Essentially a wrapper for set(field, false).
-
void set1D(bool value)
If true, output is of 1D type. 3D quantities such as vectors will be reduced to the relevant components (x, by default).
- Parameters:
value – boolean flag
-
size_t size() const
Returns the size of the output
-
void setDescription(const std::string &description)
-
inline size_t addReference() const
-
inline size_t removeReference() const
-
inline int removeReferenceNoDelete() const
-
inline size_t getReferenceCount() const
Public Members
-
const std::string outputName
Protected Functions
-
void modify()
-
enum OutputColumn