105 file_{path /
"SMASH_IC_For_vHLLE.dat",
"w"},
110 "# %s initial conditions: hypersurface of constant proper time\n",
121 throw std::logic_error(
122 "ICOutput shouldn't be used with multiple parallel ensembles.");
124 std::fprintf(
file_.
get(),
"# event %i ensemble %i start\n",
132 throw std::logic_error(
133 "ICOutput shouldn't be used with multiple parallel ensembles.");
135 std::fprintf(
file_.
get(),
"# event %i ensemble %i end\n",
140 const std::unique_ptr<Clock> &,
160 formatter_.single_particle_data(particle).c_str());
170 throw std::runtime_error(
171 "Hypersurface proper time changed during evolution.");
Action is the base class for a generic process that takes a number of incoming particles and transfor...
virtual ProcessType get_type() const
Get the process type.
const ParticleList & incoming_particles() const
Get the list of particles that go into the action.
A class to pre-calculate and store parameters relevant for density calculation.
void at_eventstart(const Particles &, const EventLabel &event_label, const EventInfo &event) override
Write event start line.
void at_intermediate_time(const Particles &, const std::unique_ptr< Clock > &, const DensityParameters &, const EventLabel &, const EventInfo &) override
Unused, but needed since virtually declared in mother class.
RenamingFilePtr file_
Pointer to output file.
ICOutput(const std::filesystem::path &path, const std::string &name, const OutputParameters &out_par)
Create a new IC output.
double IC_proper_time_
Proper time of the particles removed when extracting initial conditions.
void at_interaction(const Action &action, const double) override
Write particle data at the hypersurface crossing point to the IC output.
void at_eventend(const Particles &particles, const EventLabel &event_label, const EventInfo &event) override
Write event end line.
OutputFormatter< ToASCII > formatter_
Formatter of the output.
Abstraction of generic output.
ParticleData contains the dynamic information of a certain particle.
double hyperbolic_time() const
Particle (hyperbolic time)
HistoryData get_history() const
Get history information.
The Particles class abstracts the storage and manipulation of particles.
FILE * get()
Get the underlying FILE* pointer.
@ FluidizationNoRemoval
See here for a short description.
@ Fluidization
See here for a short description.
constexpr double really_small
Numerical error tolerance.
Structure to contain custom data for output.
int n_ensembles
Number of ensembles.
Structure to contain information about the event and ensemble numbers.
int32_t ensemble_number
The number of the ensemble.
int32_t event_number
The number of the event.
int32_t collisions_per_particle
Collision counter per particle, zero only for initially present particles.
Struct that holds quantities required by default output standards.
Helper structure for Experiment to hold output options and parameters.