10 #ifndef SRC_INCLUDE_SMASH_OUTPUTINTERFACE_H_
11 #define SRC_INCLUDE_SMASH_OUTPUTINTERFACE_H_
26 static constexpr
int LOutput = LogArea::Output::id;
154 virtual void at_eventend(
const std::vector<Particles> &,
const int) {}
165 const std::unique_ptr<Clock> &,
172 const std::unique_ptr<Clock> &,
226 const std::string,
const std::string,
256 throw std::invalid_argument(
"Unknown thermodynamic quantity.");
271 return "net_baryonI3";
275 return "tot_isospin3";
279 return "strangeness";
283 throw std::invalid_argument(
"Unknown density type.");
Action is the base class for a generic process that takes a number of incoming particles and transfor...
A class to pre-calculate and store parameters relevant for density calculation.
The GrandCanThermalizer class implements the following functionality:
Abstraction of generic output.
virtual void at_eventstart(const std::vector< Particles > &, int)
Output launched at event start after initialization, when particles are generated but not yet propaga...
const bool is_photon_output_
Is this the photon output?
bool is_photon_output() const
Get, whether this is the photon output?
virtual void thermodynamics_lattice_output(RectangularLattice< DensityOnLattice > &, const double, const std::vector< Particles > &, const DensityParameters &)
Output to write thermodynamics from the lattice.
const bool is_dilepton_output_
Is this the dilepton output?
virtual void at_eventstart(const int, const ThermodynamicQuantity, const DensityType, RectangularLattice< DensityOnLattice >)
Output launched at event start after initialization, when particles are generated but not yet propaga...
virtual void at_interaction(const Action &, const double)
Called whenever an action modified one or more particles.
virtual void at_eventend(const ThermodynamicQuantity)
Output launched at event end.
virtual void at_eventend(const std::vector< Particles > &, const int)
Output launched at event end.
const bool is_IC_output_
Is this the IC output?
OutputInterface(std::string name)
Construct output interface.
virtual void at_eventstart(const int, const ThermodynamicQuantity, const DensityType, RectangularLattice< EnergyMomentumTensor >)
Output launched at event start after initialization, when particles are generated but not yet propaga...
virtual void thermodynamics_lattice_output(RectangularLattice< DensityOnLattice > &, const double)
Output to write thermodynamics from the lattice.
const char * to_string(const DensityType dens_type)
Convert density types to strings.
const char * to_string(const ThermodynamicQuantity tq)
Convert thermodynamic quantities to strings.
virtual void at_intermediate_time(const std::vector< Particles > &, const std::unique_ptr< Clock > &, const DensityParameters &)
Output launched after every N'th timestep.
virtual void thermodynamics_output(const GrandCanThermalizer &)
Output to write energy-momentum tensor and related quantities from the thermalizer class.
virtual void at_eventend(const Particles &, const int, const EventInfo &)
Output launched at event end.
virtual void at_intermediate_time(const Particles &, const std::unique_ptr< Clock > &, const DensityParameters &, const EventInfo &)
Output launched after every N'th time-step.
virtual ~OutputInterface()=0
Pure virtual destructor to make class abstract and prevent its instantiation.
virtual void fields_output(const std::string, const std::string, RectangularLattice< std::pair< ThreeVector, ThreeVector >> &)
Write fields in vtk output Fields are a pair of threevectors for example electric and magnetic field.
bool is_dilepton_output() const
Get, whether this is the dilepton output?
virtual void thermodynamics_lattice_output(const ThermodynamicQuantity, RectangularLattice< EnergyMomentumTensor > &, const double)
Output to write energy-momentum tensor and related quantities from the lattice.
virtual void at_eventend(const int, const ThermodynamicQuantity, const DensityType)
Output launched at event end.
virtual void thermodynamics_output(const ThermodynamicQuantity, const DensityType, RectangularLattice< DensityOnLattice > &)
Output to write thermodynamics from the lattice.
bool is_IC_output() const
Get, whether this is the IC output?
virtual void thermodynamics_output(const ThermodynamicQuantity, const DensityType, RectangularLattice< EnergyMomentumTensor > &)
Output to write energy-momentum tensor and related quantities from the lattice.
virtual void at_eventstart(const Particles &, const int, const EventInfo &)
Output launched at event start after initialization, when particles are generated but not yet propaga...
The Particles class abstracts the storage and manipulation of particles.
A container class to hold all the arrays on the lattice and access them.
ThermodynamicQuantity
Represents thermodynamic quantities that can be printed out See user guide description for more infor...
@ EckartDensity
Density in the Eckart frame.
@ Tmn
Energy-momentum tensor in lab frame.
@ LandauVelocity
Velocity of the Landau rest frame.
@ j_QBS
Electric (Q), baryonic (B) and strange (S) currents.
@ TmnLandau
Energy-momentum tensor in Landau rest frame.
static constexpr int LOutput
DensityType
Allows to choose which kind of density to calculate.
Structure to contain custom data for output.
double total_kinetic_energy
Sum of kinetic energies of all particles.
bool empty_event
True if no collisions happened.
double modus_length
Box length in case of box simulation, otherwise dummy.
double total_energy
Kinetic + mean field energy.
int n_ensembles
Number of ensembles.
double total_mean_field_energy
Total energy in the mean field.
bool impose_kinematic_cut_for_SMASH_IC
Whether or not kinematic cuts are employed for SMASH IC.
double impact_parameter
Impact parameter for collider modus, otherwise dummy.
double current_time
Time in fm.
int test_particles
Testparticle number, see Testparticles in General.