10 #ifndef SRC_INCLUDE_SMASH_OSCAROUTPUT_H_
11 #define SRC_INCLUDE_SMASH_OSCAROUTPUT_H_
64 template <OscarOutputFormat Format,
int Contents>
73 OscarOutput(
const std::filesystem::path &path,
const std::string &name);
110 const std::unique_ptr<Clock> &clock,
149 const std::string &
format,
const std::string &content,
Action is the base class for a generic process that takes a number of incoming particles and transfor...
A class to pre-calculate and store parameters relevant for density calculation.
Abstraction of generic output.
ParticleData contains the dynamic information of a certain particle.
The Particles class abstracts the storage and manipulation of particles.
A RAII type to replace std::FILE *.
FormattingHelper< T > format(const T &value, const char *unit, int width=-1, int precision=-1)
Acts as a stream modifier for std::ostream to output an object with an optional suffix string and wit...
int current_event_
Keep track of event number.
OscarOutputContents
Flags for the Contents template parameter of OscarOutput.
void write_particledata(const ParticleData &data)
Write single particle information line to output.
OscarOutputFormat
Selector for the output format of OscarOutput.
void at_eventend(const Particles &particles, const int event_number, const EventInfo &) override
Writes the final particle information of an event to the oscar output.
void at_intermediate_time(const Particles &particles, const std::unique_ptr< Clock > &clock, const DensityParameters &dens_param, const EventInfo &event) override
Writes a prefix line then write out all current particles.
void write(const Particles &particles)
Write the particle information of a list of particles to the output.
std::unique_ptr< OutputInterface > create_oscar_output(const std::string &format, const std::string &content, const std::filesystem::path &path, const OutputParameters &out_par)
OscarOutput(const std::filesystem::path &path, const std::string &name)
Create oscar output.
RenamingFilePtr file_
Full filepath of the output file.
void at_eventstart(const Particles &particles, const int event_number, const EventInfo &event) override
Writes the initial particle information of an event to the oscar output.
void at_interaction(const Action &action, const double density) override
Writes a interaction prefix line and a line for every incoming and outgoing particle to the oscar out...
@ OscarParticlesAtEventend
store the state at the end of each event (at_eventend)
@ OscarParticlesAtEventendIfNotEmpty
store the state at the end of each event if it is not empty (at_eventend)
@ OscarAtEventstart
store the state at the start of each event (at_eventstart)
@ OscarInteractions
store interaction information (write_interaction)
@ OscarParticlesIC
store the particles that are removed on the hypersurface
@ OscarTimesteps
store the state after N timesteps (after_Nth_timestep)
@ OscarFormat2013Extended
Structure to contain custom data for output.
Helper structure for Experiment to hold output options and parameters.