Version: SMASH-1.5
thermodynamicoutput.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (c) 2014-2018
4  * SMASH Team
5  *
6  * GNU General Public License (GPLv3 or later)
7  *
8  */
9 
10 #ifndef SRC_INCLUDE_THERMODYNAMICOUTPUT_H_
11 #define SRC_INCLUDE_THERMODYNAMICOUTPUT_H_
12 
13 #include <set>
14 #include <string>
15 
16 #include "density.h"
17 #include "experimentparameters.h"
18 #include "file.h"
19 #include "forwarddeclarations.h"
20 #include "outputinterface.h"
21 #include "outputparameters.h"
22 #include "threevector.h"
23 
24 namespace smash {
25 
38  public:
45  ThermodynamicOutput(const bf::path &path, const std::string &name,
46  const OutputParameters &out_par);
49 
56  void at_eventstart(const Particles &particles,
57  const int event_number) override;
58 
65  void at_eventend(const Particles &particles, const int event_number,
66  double impact_parameter) override;
67 
76  void at_intermediate_time(const Particles &particles, const Clock &clock,
77  const DensityParameters &dens_param) override;
78 
91  void density_along_line(const char *file_name, const ParticleList &plist,
92  const DensityParameters &param, DensityType dens_type,
93  const ThreeVector &line_start,
94  const ThreeVector &line_end, int n_points);
95 
96  private:
101 };
102 
103 } // namespace smash
104 
105 #endif // SRC_INCLUDE_THERMODYNAMICOUTPUT_H_
void at_eventend(const Particles &particles, const int event_number, double impact_parameter) override
only flushes the output the file
A class to pre-calculate and store parameters relevant for density calculation.
Definition: density.h:103
The ThreeVector class represents a physical three-vector with the components .
Definition: threevector.h:30
const OutputParameters out_par_
Structure that holds all the information about what to printout.
A RAII type to replace std::FILE *.
Definition: file.h:73
void at_intermediate_time(const Particles &particles, const Clock &clock, const DensityParameters &dens_param) override
Writes thermodynamics every fixed time interval.
~ThermodynamicOutput()
Default destructor.
ThermodynamicOutput(const bf::path &path, const std::string &name, const OutputParameters &out_par)
Construct Output param[in] path Path to output param[in] name Filename param[in] out_par Parameters o...
void at_eventstart(const Particles &particles, const int event_number) override
writes the event header
Helper structure for Experiment to hold output options and parameters.
Clock tracks the time in the simulation.
Definition: clock.h:75
Writes the thermodynamic quantities at a specified point versus time.
The Particles class abstracts the storage and manipulation of particles.
Definition: particles.h:33
DensityType
Allows to choose which kind of density to calculate.
Definition: density.h:34
void density_along_line(const char *file_name, const ParticleList &plist, const DensityParameters &param, DensityType dens_type, const ThreeVector &line_start, const ThreeVector &line_end, int n_points)
Prints density along the specified line.
RenamingFilePtr file_
Pointer to output file.
Abstraction of generic output.
Definition: action.h:24