#include <outputinterface.h>
Abstraction of generic output.
Any output should inherit this class. It provides virtual methods that will be called at predefined moments: 1) At event start and event end: at_eventstart, at_eventend 2) After every fixed time period: at_intermediate_time, thermodynamics_output 3) At each interaction: at_interaction
Definition at line 35 of file outputinterface.h.
Public Member Functions | |
OutputInterface (std::string name) | |
Construct output interface. More... | |
virtual | ~OutputInterface ()=default |
virtual void | at_eventstart (const Particles &particles, const int event_number)=0 |
Output launched at event start after initialization, when particles are generated but not yet propagated. More... | |
virtual void | at_eventend (const Particles &particles, const int event_number, double impact_parameter, bool empty_event)=0 |
Output launched at event end. More... | |
virtual void | at_interaction (const Action &action, const double density) |
Called whenever an action modified one or more particles. More... | |
virtual void | at_intermediate_time (const Particles &particles, const std::unique_ptr< Clock > &clock, const DensityParameters &dens_param) |
Output launched after every N'th timestep. More... | |
virtual void | thermodynamics_output (const ThermodynamicQuantity tq, const DensityType dt, RectangularLattice< DensityOnLattice > &lattice) |
Output to write thermodynamics from the lattice. More... | |
virtual void | thermodynamics_output (const ThermodynamicQuantity tq, const DensityType dt, RectangularLattice< EnergyMomentumTensor > &lattice) |
Output to write energy-momentum tensor and related quantities from the lattice. More... | |
virtual void | thermodynamics_output (const GrandCanThermalizer &gct) |
Output to write energy-momentum tensor and related quantities from the thermalizer class. More... | |
bool | is_dilepton_output () const |
Get, whether this is the dilepton output? More... | |
bool | is_photon_output () const |
Get, whether this is the photon output? More... | |
bool | is_IC_output () const |
Get, whether this is the IC output? More... | |
const char * | to_string (const ThermodynamicQuantity tq) |
Convert thermodynamic quantities to strings. More... | |
const char * | to_string (const DensityType dens_type) |
Convert density types to strings. More... | |
Protected Attributes | |
const bool | is_dilepton_output_ |
Is this the dilepton output? More... | |
const bool | is_photon_output_ |
Is this the photon output? More... | |
const bool | is_IC_output_ |
Is this the IC output? More... | |
|
inlineexplicit |
Construct output interface.
[in] | name | (File)name of output. |
Definition at line 41 of file outputinterface.h.
|
virtualdefault |
|
pure virtual |
Output launched at event start after initialization, when particles are generated but not yet propagated.
particles | List of particles. |
event_number | Number of the current event. |
Implemented in smash::BinaryOutputInitialConditions, smash::BinaryOutputParticles, smash::BinaryOutputCollisions, smash::RootOutput, smash::OscarOutput< Format, Contents >, smash::ThermodynamicOutput, smash::ICOutput, and smash::VtkOutput.
|
pure virtual |
Output launched at event end.
Event end is determined by maximal timestep option.
particles | List of particles. | |
event_number | Number of the current event. | |
impact_parameter | Distance between centers of nuclei in this event. Only makes sense for collider modus. | |
[in] | empty_event | Whether there was no interaction between the target and the projectile. |
Implemented in smash::BinaryOutputInitialConditions, smash::BinaryOutputParticles, smash::RootOutput, smash::OscarOutput< Format, Contents >, smash::ThermodynamicOutput, smash::VtkOutput, and smash::ICOutput.
|
inlinevirtual |
Called whenever an action modified one or more particles.
action | The action object, containing the initial and final state etc. |
density | The density at the interaction point. |
Reimplemented in smash::BinaryOutputInitialConditions, smash::BinaryOutputCollisions, smash::RootOutput, smash::OscarOutput< Format, Contents >, and smash::ICOutput.
Definition at line 76 of file outputinterface.h.
|
inlinevirtual |
Output launched after every N'th timestep.
N is controlled by an option.
particles | List of particles. |
clock | System clock. |
dens_param | Parameters for density calculation. |
Reimplemented in smash::BinaryOutputParticles, smash::RootOutput, smash::OscarOutput< Format, Contents >, smash::ThermodynamicOutput, smash::VtkOutput, and smash::ICOutput.
Definition at line 87 of file outputinterface.h.
|
inlinevirtual |
Output to write thermodynamics from the lattice.
tq | Thermodynamic quantity to be written, used for file name etc. |
dt | Type of density, i.e. which particles to take into account. |
lattice | Lattice of tabulated values. |
Only used for vtk output. Not connected to ThermodynamicOutput.
Reimplemented in smash::VtkOutput.
Definition at line 103 of file outputinterface.h.
|
inlinevirtual |
Output to write energy-momentum tensor and related quantities from the lattice.
tq | Thermodynamic quantity to be written: Tmn, Tmn_Landau, v_Landau |
dt | Type of density, i.e. which particles to take into account. |
lattice | Lattice of tabulated values. |
Only used for vtk output. Not connected to ThermodynamicOutput.
Reimplemented in smash::VtkOutput.
Definition at line 120 of file outputinterface.h.
|
inlinevirtual |
Output to write energy-momentum tensor and related quantities from the thermalizer class.
gct | Pointer to thermalizer |
Only used for vtk output. Not connected to ThermodynamicOutput.
Reimplemented in smash::VtkOutput.
Definition at line 135 of file outputinterface.h.
|
inline |
Get, whether this is the dilepton output?
Definition at line 140 of file outputinterface.h.
|
inline |
Get, whether this is the photon output?
Definition at line 143 of file outputinterface.h.
|
inline |
Get, whether this is the IC output?
Definition at line 146 of file outputinterface.h.
|
inline |
Convert thermodynamic quantities to strings.
[in] | tq | Enum value of the thermodynamic quantity. |
Definition at line 153 of file outputinterface.h.
|
inline |
Convert density types to strings.
[in] | dens_type | enum value of the density type |
Definition at line 174 of file outputinterface.h.
|
protected |
Is this the dilepton output?
Definition at line 198 of file outputinterface.h.
|
protected |
Is this the photon output?
Definition at line 201 of file outputinterface.h.
|
protected |
Is this the IC output?
Definition at line 204 of file outputinterface.h.