OpenMC/include/openmc/track_output.h

41 lines
1.1 KiB
C++

#ifndef OPENMC_TRACK_OUTPUT_H
#define OPENMC_TRACK_OUTPUT_H
#include "openmc/particle.h"
namespace openmc {
//==============================================================================
// Non-member functions
//==============================================================================
//! Open HDF5 track file for writing and create track datatype
void open_track_file();
//! Close HDF5 resources for track file
void close_track_file();
//! Determine whether a given particle should collect/write track information
//
//! \param[in] p Current particle
//! \return Whether to collect/write track information
bool check_track_criteria(const Particle& p);
//! Create a new track state history for a primary/secondary particle
//
//! \param[in] p Current particle
void add_particle_track(Particle& p);
//! Store particle's current state
//
//! \param[in] p Current particle
void write_particle_track(Particle& p);
//! Write full particle state history to HDF5 track file
//
//! \param[in] p Current particle
void finalize_particle_track(Particle& p);
} // namespace openmc
#endif // OPENMC_TRACK_OUTPUT_H