#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 72 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, const EventInfo &info) |
Output launched at event start after initialization, when particles are generated but not yet propagated. More... | |
virtual void | at_eventstart (const std::vector< Particles > &ensembles, int event_number) |
Output launched at event start after initialization, when particles are generated but not yet propagated. More... | |
virtual void | at_eventstart (const int event_number, const ThermodynamicQuantity tq, const DensityType dens_type, RectangularLattice< DensityOnLattice > lattice) |
Output launched at event start after initialization, when particles are generated but not yet propagated. More... | |
virtual void | at_eventstart (const int event_number, const ThermodynamicQuantity tq, const DensityType dens_type, RectangularLattice< EnergyMomentumTensor > lattice) |
Output launched atevent start after initialization, when particles are generated but not yet propagated. More... | |
virtual void | at_eventend (const int event_number, const ThermodynamicQuantity tq, const DensityType dens_type) |
Output launched at event end. More... | |
virtual void | at_eventend (const ThermodynamicQuantity tq) |
Output launched at event end. More... | |
virtual void | at_eventend (const Particles &particles, const int event_number, const EventInfo &info) |
Output launched at event end. More... | |
virtual void | at_eventend (const std::vector< Particles > &ensembles, const int event_number) |
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, const EventInfo &info) |
Output launched after every N'th timestep. More... | |
virtual void | at_intermediate_time (const std::vector< Particles > &ensembles, 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_lattice_output (RectangularLattice< DensityOnLattice > &lattice, const double current_time) |
Output to write thermodynamics from the lattice. More... | |
virtual void | thermodynamics_lattice_output (RectangularLattice< DensityOnLattice > &lattice, const double current_time, const std::vector< Particles > &ensembles, const DensityParameters &dens_param) |
Output to write thermodynamics from the lattice. More... | |
virtual void | thermodynamics_lattice_output (const ThermodynamicQuantity tq, RectangularLattice< EnergyMomentumTensor > &lattice, const double current_time) |
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... | |
virtual void | fields_output (const std::string name1, const std::string name2, RectangularLattice< std::pair< ThreeVector, ThreeVector >> &lat) |
Write fields in vtk output. 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 78 of file outputinterface.h.
|
virtualdefault |
|
inlinevirtual |
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. | |
[in] | info | Event info, see event_info |
Reimplemented in smash::VtkOutput, smash::RootOutput, smash::OscarOutput< Format, Contents >, smash::HepMcInterface, smash::BinaryOutputParticles, smash::BinaryOutputCollisions, smash::BinaryOutputInitialConditions, and smash::ICOutput.
Definition at line 91 of file outputinterface.h.
|
inlinevirtual |
Output launched at event start after initialization, when particles are generated but not yet propagated.
ensembles | List of particles. | |
[in] | event_number | Number of the current event. |
Reimplemented in smash::ThermodynamicOutput.
Definition at line 103 of file outputinterface.h.
|
inlinevirtual |
Output launched at event start after initialization, when particles are generated but not yet propagated.
[in] | event_number | Number of the current event. |
[in] | tq | Thermodynamic quantity to deal with. |
[in] | dens_type | Density type for the reference frame. |
[in] | lattice | Lattice of tabulated values. |
Reimplemented in smash::ThermodynamicLatticeOutput.
Definition at line 117 of file outputinterface.h.
|
inlinevirtual |
Output launched atevent start after initialization, when particles are generated but not yet propagated.
[in] | event_number | Number of the current event. |
[in] | tq | Thermodynamic quantity to deal with. |
[in] | dens_type | Density type for the reference frame. |
[in] | lattice | Lattice of tabulated values. |
Reimplemented in smash::ThermodynamicLatticeOutput.
Definition at line 135 of file outputinterface.h.
|
inlinevirtual |
Output launched at event end.
Event end is determined by maximal timestep option.
[in] | event_number | Number of the current event. |
[in] | tq | Thermodynamic quantity to deal with |
[in] | dens_type | Density type for the evaluation of thermodynamic quantities |
Definition at line 153 of file outputinterface.h.
|
inlinevirtual |
Output launched at event end.
Event end is determined by maximal timestep option.
[in] | tq | Thermodynamic quantity to deal with. |
Reimplemented in smash::ThermodynamicLatticeOutput.
Definition at line 166 of file outputinterface.h.
|
inlinevirtual |
Output launched at event end.
Event end is determined by maximal timestep option.
particles | List of particles. | |
event_number | Number of the current event. | |
[in] | info | Event info, see event_info |
Reimplemented in smash::VtkOutput, smash::RootOutput, smash::ICOutput, smash::BinaryOutputInitialConditions, smash::BinaryOutputParticles, and smash::OscarOutput< Format, Contents >.
Definition at line 175 of file outputinterface.h.
|
inlinevirtual |
Output launched at event end.
Event end is determined by maximal timestep option.
ensembles | List of particles. |
event_number | Number of the current event. |
Reimplemented in smash::ThermodynamicOutput.
Definition at line 187 of file outputinterface.h.
|
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::ICOutput, smash::BinaryOutputInitialConditions, smash::RootOutput, smash::OscarOutput< Format, Contents >, smash::HepMcInterface, and smash::BinaryOutputCollisions.
Definition at line 200 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. | |
[in] | info | Event info, see event_info |
Reimplemented in smash::VtkOutput, smash::RootOutput, smash::OscarOutput< Format, Contents >, smash::BinaryOutputParticles, and smash::ICOutput.
Definition at line 212 of file outputinterface.h.
|
inlinevirtual |
Output launched after every N'th timestep.
N is controlled by an option.
ensembles | List of particles. |
clock | System clock. |
dens_param | Parameters for density calculation. |
Reimplemented in smash::ThermodynamicOutput.
Definition at line 227 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. |
Used for vtk output.
Reimplemented in smash::VtkOutput.
Definition at line 243 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. |
Used for vtk output.
Reimplemented in smash::VtkOutput.
Definition at line 260 of file outputinterface.h.
|
inlinevirtual |
Output to write thermodynamics from the lattice.
[in] | lattice | Lattice type DensityOnLattice of tabulated values. |
[in] | current_time | Time of the simulation in the computational frame. |
Used for thermodynamic lattice output.
Reimplemented in smash::ThermodynamicLatticeOutput.
Definition at line 275 of file outputinterface.h.
|
inlinevirtual |
Output to write thermodynamics from the lattice.
[in] | lattice | Lattice type FourVector of tabulated values. |
[in] | current_time | Time of the simulation in the computational frame. |
[in] | ensembles | Particles, from which the 4-currents j_{Q,B,S} are computed |
[in] | dens_param | set of parameters, defining smearing. For more info about smearing see ASCII thermodynamics output. |
Used for thermodynamic lattice output.
Reimplemented in smash::ThermodynamicLatticeOutput.
Definition at line 294 of file outputinterface.h.
|
inlinevirtual |
Output to write energy-momentum tensor and related quantities from the lattice.
[in] | tq | Thermodynamic quantity to be written, used for file name etc. |
[in] | lattice | Lattice type EnergyMomentumTensor of tabulated values. |
[in] | current_time | Time of the simulation in the computational frame. |
Used for thermodynamic lattice output.
Reimplemented in smash::ThermodynamicLatticeOutput.
Definition at line 313 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 329 of file outputinterface.h.
|
inlinevirtual |
Write fields in vtk output.
Fields are a pair of threevectors for example electric and magnetic field
[in] | name1 | Name of the first field |
[in] | name2 | Name of the second field |
[in] | lat | Lattice storing both fields |
Reimplemented in smash::VtkOutput.
Definition at line 342 of file outputinterface.h.
|
inline |
|
inline |
|
inline |
|
inline |
Convert thermodynamic quantities to strings.
[in] | tq | Enum value of the thermodynamic quantity. |
Definition at line 364 of file outputinterface.h.
|
inline |
Convert density types to strings.
[in] | dens_type | enum value of the density type |
Definition at line 385 of file outputinterface.h.
|
protected |
Is this the dilepton output?
Definition at line 409 of file outputinterface.h.
|
protected |
Is this the photon output?
Definition at line 412 of file outputinterface.h.
|
protected |
Is this the IC output?
Definition at line 415 of file outputinterface.h.