#include <binaryoutput.h>
Base class for SMASH binary output.
Definition at line 28 of file binaryoutput.h.
|
| BinaryOutputBase (const bf::path &path, const std::string &mode, const std::string &name, bool extended_format) |
| Create binary output base. More...
|
|
void | write (const char c) |
| Write byte to binary output. More...
|
|
void | write (const std::string &s) |
| Write string to binary output. More...
|
|
void | write (const double x) |
| Write double to binary output. More...
|
|
void | write (const FourVector &v) |
| Write four-vector to binary output. More...
|
|
void | write (const std::int32_t x) |
| Write integer (32 bit) to binary output. More...
|
|
void | write (const std::uint32_t x) |
| Write unsigned integer (32 bit) to binary output. More...
|
|
void | write (const std::uint16_t x) |
| Write unsigned integer (16 bit) to binary output. More...
|
|
void | write (const size_t x) |
| Write a std::size_t to binary output. More...
|
|
void | write (const Particles &particles) |
| Write particle data of each particle in particles to binary output. More...
|
|
void | write (const ParticleList &particles) |
| Write each particle data entry to binary output. More...
|
|
void | write_particledata (const ParticleData &p) |
| Write particle data to binary output. More...
|
|
|
| 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...
|
|
◆ BinaryOutputBase()
smash::BinaryOutputBase::BinaryOutputBase |
( |
const bf::path & |
path, |
|
|
const std::string & |
mode, |
|
|
const std::string & |
name, |
|
|
bool |
extended_format |
|
) |
| |
|
explicitprotected |
Create binary output base.
- Parameters
-
[in] | path | Output path. |
[in] | mode | Is used to determine the file access mode. |
[in] | name | Name of the output. |
[in] | extended_format | Is the written output extended. |
Definition at line 135 of file binaryoutput.cc.
140 std::fwrite(
"SMSH", 4, 1,
file_.
get());
142 std::uint16_t format_variant = static_cast<uint16_t>(
extended_);
143 write(format_variant);
144 write(VERSION_MAJOR);
◆ write() [1/10]
void smash::BinaryOutputBase::write |
( |
const char |
c | ) |
|
|
protected |
Write byte to binary output.
- Parameters
-
[in] | c | Value to be written. |
Definition at line 148 of file binaryoutput.cc.
149 std::fwrite(&c,
sizeof(
char), 1,
file_.
get());
◆ write() [2/10]
void smash::BinaryOutputBase::write |
( |
const std::string & |
s | ) |
|
|
protected |
Write string to binary output.
- Parameters
-
[in] | s | String to be written. |
Definition at line 152 of file binaryoutput.cc.
153 const auto size = boost::numeric_cast<uint32_t>(s.size());
154 std::fwrite(&size,
sizeof(std::uint32_t), 1,
file_.
get());
155 std::fwrite(s.c_str(), s.size(), 1,
file_.
get());
◆ write() [3/10]
void smash::BinaryOutputBase::write |
( |
const double |
x | ) |
|
|
protected |
Write double to binary output.
- Parameters
-
[in] | x | Value to be written. |
Definition at line 158 of file binaryoutput.cc.
159 std::fwrite(&x,
sizeof(x), 1,
file_.
get());
◆ write() [4/10]
void smash::BinaryOutputBase::write |
( |
const FourVector & |
v | ) |
|
|
protected |
Write four-vector to binary output.
- Parameters
-
[in] | v | Four-vector to be written. |
Definition at line 162 of file binaryoutput.cc.
163 std::fwrite(v.begin(),
sizeof(*v.begin()), 4,
file_.
get());
◆ write() [5/10]
void smash::BinaryOutputBase::write |
( |
const std::int32_t |
x | ) |
|
|
inlineprotected |
Write integer (32 bit) to binary output.
- Parameters
-
[in] | x | Value to be written. |
Definition at line 69 of file binaryoutput.h.
70 std::fwrite(&x,
sizeof(x), 1,
file_.
get());
◆ write() [6/10]
void smash::BinaryOutputBase::write |
( |
const std::uint32_t |
x | ) |
|
|
inlineprotected |
Write unsigned integer (32 bit) to binary output.
- Parameters
-
[in] | x | Value to be written. |
Definition at line 77 of file binaryoutput.h.
78 std::fwrite(&x,
sizeof(x), 1,
file_.
get());
◆ write() [7/10]
void smash::BinaryOutputBase::write |
( |
const std::uint16_t |
x | ) |
|
|
inlineprotected |
Write unsigned integer (16 bit) to binary output.
- Parameters
-
[in] | x | Value to be written. |
Definition at line 85 of file binaryoutput.h.
86 std::fwrite(&x,
sizeof(x), 1,
file_.
get());
◆ write() [8/10]
void smash::BinaryOutputBase::write |
( |
const size_t |
x | ) |
|
|
inlineprotected |
Write a std::size_t to binary output.
- Parameters
-
[in] | x | Value to be written. |
Definition at line 93 of file binaryoutput.h.
93 {
write(boost::numeric_cast<uint32_t>(x)); }
◆ write() [9/10]
void smash::BinaryOutputBase::write |
( |
const Particles & |
particles | ) |
|
|
protected |
Write particle data of each particle in particles to binary output.
- Parameters
-
[in] | particles | List of particles, whose data is to be written. |
Definition at line 166 of file binaryoutput.cc.
167 for (
const auto &
p : particles) {
◆ write() [10/10]
void smash::BinaryOutputBase::write |
( |
const ParticleList & |
particles | ) |
|
|
protected |
Write each particle data entry to binary output.
- Parameters
-
[in] | particles | List of particles, whose data is to be written. |
Definition at line 172 of file binaryoutput.cc.
173 for (
const auto &
p : particles) {
◆ write_particledata()
void smash::BinaryOutputBase::write_particledata |
( |
const ParticleData & |
p | ) |
|
|
protected |
Write particle data to binary output.
- Parameters
-
[in] | p | Particle data to be written. |
Definition at line 178 of file binaryoutput.cc.
180 double mass =
p.effective_mass();
181 std::fwrite(&mass,
sizeof(mass), 1,
file_.
get());
183 write(
p.pdgcode().get_decimal());
187 const auto history =
p.get_history();
188 write(history.collisions_per_particle);
189 write(
p.formation_time());
190 write(
p.xsec_scaling_factor());
191 write(history.id_process);
192 write(static_cast<int32_t>(history.process_type));
193 write(history.time_last_collision);
194 write(history.p1.get_decimal());
195 write(history.p2.get_decimal());
◆ file_
◆ format_version_
const uint16_t smash::BinaryOutputBase::format_version_ = 7 |
|
private |
◆ extended_
bool smash::BinaryOutputBase::extended_ |
|
private |
The documentation for this class was generated from the following files: