10 #ifndef SRC_INCLUDE_OSCAROUTPUT_H_ 11 #define SRC_INCLUDE_OSCAROUTPUT_H_ 60 template <OscarOutputFormat Format,
int Contents>
69 OscarOutput(
const bf::path &path,
const std::string &name);
77 const int event_number)
override;
86 double impact_parameter)
override;
141 const std::string &
format,
const std::string &content,
const bf::path &path,
148 #endif // SRC_INCLUDE_OSCAROUTPUT_H_ 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...
store the state at the end of each event (at_eventend)
A class to pre-calculate and store parameters relevant for density calculation.
void at_eventend(const Particles &particles, const int event_number, double impact_parameter) override
Writes the final particle information of an event to the oscar output.
void write_particledata(const ParticleData &data)
Write single particle information line to output.
A RAII type to replace std::FILE *.
void at_intermediate_time(const Particles &particles, const Clock &clock, const DensityParameters &dens_param) override
Writes a prefix line then write out all current particles.
std::unique_ptr< OutputInterface > create_oscar_output(const std::string &format, const std::string &content, const bf::path &path, const OutputParameters &out_par)
store the state after N timesteps (after_Nth_timestep)
OscarOutputFormat
Selector for the output format of OscarOutput.
int current_event_
Keep track of event number.
OscarOutput(const bf::path &path, const std::string &name)
Create oscar output.
Helper structure for Experiment to hold output options and parameters.
Clock tracks the time in the simulation.
Action is the base class for a generic process that takes a number of incoming particles and transfor...
OscarOutputContents
Flags for the Contents template parameter of OscarOutput.
void at_eventstart(const Particles &particles, const int event_number) override
Writes the initial particle information of an event to the oscar output.
store the state at the start of each event (at_eventstart)
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...
store interaction information (write_interaction)
RenamingFilePtr file_
Full filepath of the output file.
The Particles class abstracts the storage and manipulation of particles.
void write(const Particles &particles)
Write the particle information of a list of particles to the output.
ParticleData contains the dynamic information of a certain particle.
Abstraction of generic output.