#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)=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 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... | |
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... | |
|
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::BinaryOutputParticles, smash::BinaryOutputCollisions, smash::RootOutput, smash::OscarOutput< Format, Contents >, smash::ThermodynamicOutput, 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. |
Implemented in smash::BinaryOutputParticles, smash::RootOutput, smash::OscarOutput< Format, Contents >, smash::ThermodynamicOutput, and smash::VtkOutput.
|
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::BinaryOutputCollisions, smash::RootOutput, and smash::OscarOutput< Format, Contents >.
Definition at line 73 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, and smash::VtkOutput.
Definition at line 84 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 100 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 117 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 132 of file outputinterface.h.
|
inline |
Get, whether this is the dilepton output?
Definition at line 137 of file outputinterface.h.
|
inline |
Get, whether this is the photon output?
Definition at line 140 of file outputinterface.h.
|
inline |
Convert thermodynamic quantities to strings.
[in] | tq | Enum value of the thermodynamic quantity. |
Definition at line 147 of file outputinterface.h.
|
inline |
Convert density types to strings.
[in] | dens_type | enum value of the density type |
Definition at line 168 of file outputinterface.h.
|
protected |
Is this the dilepton output?
Definition at line 192 of file outputinterface.h.
|
protected |
Is this the photon output?
Definition at line 195 of file outputinterface.h.