Version: SMASH-2.0
smash::OutputParameters Struct Reference

#include <outputparameters.h>

Helper structure for Experiment to hold output options and parameters.

Experiment has one member of this struct.

Definition at line 25 of file outputparameters.h.

Collaboration diagram for smash::OutputParameters:
[legend]

Public Member Functions

 OutputParameters ()
 Default constructor, useful for tests. More...
 
 OutputParameters (Configuration &&conf)
 Constructor from configuration. More...
 
bool get_coll_extended (std::string name) const
 Pass correct extended flag to binary collision output constructor. More...
 

Public Attributes

ThreeVector td_position
 Point, where thermodynamic quantities are calculated. More...
 
DensityType td_dens_type
 Type (e.g., baryon/pion/hadron) of thermodynamic quantity. More...
 
bool td_rho_eckart
 Print out Eckart rest frame density of type td_dens_type or not? More...
 
bool td_tmn
 Print out energy-momentum tensor of type td_dens_type or not? More...
 
bool td_tmn_landau
 Print out energy-momentum tensor in Landau rest frame (of type td_dens_type) or not? More...
 
bool td_v_landau
 Print out Landau velocity of type td_dens_type or not? More...
 
bool td_jQBS
 Print out QBS 4-currents or not? More...
 
bool td_smearing
 Whether smearing is on or off; WARNING : if smearing is off, then final result is in GeV instead of GeV/fm3. More...
 
bool part_extended
 Extended format for particles output. More...
 
OutputOnlyFinal part_only_final
 Print only final particles in event. More...
 
bool coll_extended
 Extended format for collisions output. More...
 
bool coll_printstartend
 Print initial and final particles in event into collision output. More...
 
bool dil_extended
 Extended format for dilepton output. More...
 
bool photons_extended
 Extended format for photon output. More...
 
bool ic_extended
 Extended initial conditions output. More...
 

Constructor & Destructor Documentation

◆ OutputParameters() [1/2]

smash::OutputParameters::OutputParameters ( )
inline

Default constructor, useful for tests.

Definition at line 27 of file outputparameters.h.

28  : td_position(ThreeVector()),
30  td_rho_eckart(false),
31  td_tmn(false),
32  td_tmn_landau(false),
33  td_v_landau(false),
34  td_jQBS(false),
35  td_smearing(true),
36  part_extended(false),
38  coll_extended(false),
39  coll_printstartend(false),
40  dil_extended(false),
41  photons_extended(false),
42  ic_extended(false) {}

◆ OutputParameters() [2/2]

smash::OutputParameters::OutputParameters ( Configuration &&  conf)
inlineexplicit

Constructor from configuration.

Definition at line 45 of file outputparameters.h.

45  : OutputParameters() {
47 
48  if (conf.has_value({"Thermodynamics"})) {
49  auto subcon = conf["Thermodynamics"];
50  if (subcon.has_value({"Position"})) {
51  const std::array<double, 3> a = subcon.take({"Position"});
52  td_position = ThreeVector(a[0], a[1], a[2]);
53  }
54  std::set<ThermodynamicQuantity> quan = subcon.take({"Quantities"});
56  td_tmn = (quan.count(ThermodynamicQuantity::Tmn) > 0);
59  td_jQBS = (quan.count(ThermodynamicQuantity::j_QBS) > 0);
60  td_dens_type = subcon.take({"Type"}, DensityType::Baryon);
63  logg[LExperiment].warn(
64  "Requested Thermodynamics output with Density type None. ",
65  "Change the density type to avoid output being dropped.");
66  }
67  td_smearing = subcon.take({"Smearing"}, true);
68  }
69 
70  if (conf.has_value({"Particles"})) {
71  part_extended = conf.take({"Particles", "Extended"}, false);
73  conf.take({"Particles", "Only_Final"}, OutputOnlyFinal::Yes);
74  }
75 
76  if (conf.has_value({"Collisions"})) {
77  coll_extended = conf.take({"Collisions", "Extended"}, false);
78  coll_printstartend = conf.take({"Collisions", "Print_Start_End"}, false);
79  }
80 
81  if (conf.has_value({"Dileptons"})) {
82  dil_extended = conf.take({"Dileptons", "Extended"}, false);
83  }
84 
85  if (conf.has_value({"Photons"})) {
86  photons_extended = conf.take({"Photons", "Extended"}, false);
87  }
88 
89  if (conf.has_value({"Initial_Conditions"})) {
90  ic_extended = conf.take({"Initial_Conditions", "Extended"}, false);
91  }
92  }

Member Function Documentation

◆ get_coll_extended()

bool smash::OutputParameters::get_coll_extended ( std::string  name) const
inline

Pass correct extended flag to binary collision output constructor.

Parameters
[in]name(File)name of the output.
Returns
Extended flag for binary output.

Definition at line 99 of file outputparameters.h.

99  {
100  if (name == "Collisions") {
101  return coll_extended;
102  } else if (name == "Dileptons") {
103  return dil_extended;
104  } else if (name == "Photons") {
105  return photons_extended;
106  } else {
107  return false; // error
108  }
109  }

Member Data Documentation

◆ td_position

ThreeVector smash::OutputParameters::td_position

Point, where thermodynamic quantities are calculated.

Definition at line 112 of file outputparameters.h.

◆ td_dens_type

DensityType smash::OutputParameters::td_dens_type

Type (e.g., baryon/pion/hadron) of thermodynamic quantity.

Definition at line 115 of file outputparameters.h.

◆ td_rho_eckart

bool smash::OutputParameters::td_rho_eckart

Print out Eckart rest frame density of type td_dens_type or not?

Definition at line 118 of file outputparameters.h.

◆ td_tmn

bool smash::OutputParameters::td_tmn

Print out energy-momentum tensor of type td_dens_type or not?

Definition at line 121 of file outputparameters.h.

◆ td_tmn_landau

bool smash::OutputParameters::td_tmn_landau

Print out energy-momentum tensor in Landau rest frame (of type td_dens_type) or not?

Definition at line 127 of file outputparameters.h.

◆ td_v_landau

bool smash::OutputParameters::td_v_landau

Print out Landau velocity of type td_dens_type or not?

Definition at line 130 of file outputparameters.h.

◆ td_jQBS

bool smash::OutputParameters::td_jQBS

Print out QBS 4-currents or not?

Definition at line 133 of file outputparameters.h.

◆ td_smearing

bool smash::OutputParameters::td_smearing

Whether smearing is on or off; WARNING : if smearing is off, then final result is in GeV instead of GeV/fm3.

Definition at line 139 of file outputparameters.h.

◆ part_extended

bool smash::OutputParameters::part_extended

Extended format for particles output.

Definition at line 142 of file outputparameters.h.

◆ part_only_final

OutputOnlyFinal smash::OutputParameters::part_only_final

Print only final particles in event.

Definition at line 145 of file outputparameters.h.

◆ coll_extended

bool smash::OutputParameters::coll_extended

Extended format for collisions output.

Definition at line 148 of file outputparameters.h.

◆ coll_printstartend

bool smash::OutputParameters::coll_printstartend

Print initial and final particles in event into collision output.

Definition at line 151 of file outputparameters.h.

◆ dil_extended

bool smash::OutputParameters::dil_extended

Extended format for dilepton output.

Definition at line 154 of file outputparameters.h.

◆ photons_extended

bool smash::OutputParameters::photons_extended

Extended format for photon output.

Definition at line 157 of file outputparameters.h.

◆ ic_extended

bool smash::OutputParameters::ic_extended

Extended initial conditions output.

Definition at line 160 of file outputparameters.h.


The documentation for this struct was generated from the following file:
ThermodynamicQuantity::TmnLandau
smash::OutputParameters::ic_extended
bool ic_extended
Extended initial conditions output.
Definition: outputparameters.h:160
ThermodynamicQuantity::LandauVelocity
smash::LExperiment
static constexpr int LExperiment
Definition: outputparameters.h:19
smash::OutputParameters::td_jQBS
bool td_jQBS
Print out QBS 4-currents or not?
Definition: outputparameters.h:133
smash::OutputParameters::td_v_landau
bool td_v_landau
Print out Landau velocity of type td_dens_type or not?
Definition: outputparameters.h:130
smash::logg
std::array< einhard::Logger<>, std::tuple_size< LogArea::AreaTuple >::value > logg
An array that stores all pre-configured Logger objects.
Definition: logging.cc:39
source_location
#define source_location
Hackery that is required to output the location in the source code where the log statement occurs.
Definition: logging.h:243
smash::OutputParameters::td_position
ThreeVector td_position
Point, where thermodynamic quantities are calculated.
Definition: outputparameters.h:112
smash::OutputParameters::part_extended
bool part_extended
Extended format for particles output.
Definition: outputparameters.h:142
smash::OutputParameters::photons_extended
bool photons_extended
Extended format for photon output.
Definition: outputparameters.h:157
ThermodynamicQuantity::Tmn
smash::OutputParameters::td_rho_eckart
bool td_rho_eckart
Print out Eckart rest frame density of type td_dens_type or not?
Definition: outputparameters.h:118
smash::OutputParameters::coll_extended
bool coll_extended
Extended format for collisions output.
Definition: outputparameters.h:148
smash::OutputParameters::coll_printstartend
bool coll_printstartend
Print initial and final particles in event into collision output.
Definition: outputparameters.h:151
smash::OutputParameters::td_tmn
bool td_tmn
Print out energy-momentum tensor of type td_dens_type or not?
Definition: outputparameters.h:121
OutputOnlyFinal::Yes
Print only final-state particles.
ThermodynamicQuantity::EckartDensity
smash::OutputParameters::OutputParameters
OutputParameters()
Default constructor, useful for tests.
Definition: outputparameters.h:27
smash::OutputParameters::part_only_final
OutputOnlyFinal part_only_final
Print only final particles in event.
Definition: outputparameters.h:145
smash::OutputParameters::td_dens_type
DensityType td_dens_type
Type (e.g., baryon/pion/hadron) of thermodynamic quantity.
Definition: outputparameters.h:115
smash::DensityType::None
ThermodynamicQuantity::j_QBS
smash::DensityType::Baryon
smash::OutputParameters::td_smearing
bool td_smearing
Whether smearing is on or off; WARNING : if smearing is off, then final result is in GeV instead of G...
Definition: outputparameters.h:139
smash::OutputParameters::dil_extended
bool dil_extended
Extended format for dilepton output.
Definition: outputparameters.h:154
smash::OutputParameters::td_tmn_landau
bool td_tmn_landau
Print out energy-momentum tensor in Landau rest frame (of type td_dens_type) or not?
Definition: outputparameters.h:127