mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-21 14:35:27 -04:00
41 lines
1.1 KiB
C++
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
|