Version: SMASH-1.7
icoutput.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (c) 2019-2019
4  * SMASH Team
5  *
6  * GNU General Public License (GPLv3 or later)
7  *
8  */
9 
10 #ifndef SRC_INCLUDE_ICOUTPUT_H_
11 #define SRC_INCLUDE_ICOUTPUT_H_
12 
13 #include <string>
14 
15 #include <boost/filesystem.hpp>
16 
17 #include "file.h"
18 #include "outputinterface.h"
19 #include "outputparameters.h"
20 #include "smash/config.h"
21 
22 namespace smash {
23 
31 class ICOutput : public OutputInterface {
32  public:
40  ICOutput(const bf::path &path, const std::string &name,
41  const OutputParameters &out_par);
42  ~ICOutput();
43 
48  void at_eventstart(const Particles &, const int event_number) override;
49 
55  void at_eventend(const Particles &particles, const int event_number, double,
56  bool) override;
57 
61  void at_intermediate_time(const Particles &, const std::unique_ptr<Clock> &,
62  const DensityParameters &) override;
68  void at_interaction(const Action &action, const double) override;
69 
70  private:
75 
85  double IC_proper_time_ = -1.0;
86 };
87 
88 } // namespace smash
89 
90 #endif // SRC_INCLUDE_ICOUTPUT_H_
A class to pre-calculate and store parameters relevant for density calculation.
Definition: density.h:106
ICOutput(const bf::path &path, const std::string &name, const OutputParameters &out_par)
Create a new IC output.
Definition: icoutput.cc:94
void at_interaction(const Action &action, const double) override
Write particle data at the hypersurface crossing point to the IC output.
Definition: icoutput.cc:134
void at_eventstart(const Particles &, const int event_number) override
Write event start line.
Definition: icoutput.cc:109
A RAII type to replace std::FILE *.
Definition: file.h:73
void at_intermediate_time(const Particles &, const std::unique_ptr< Clock > &, const DensityParameters &) override
Unused, but needed since virtually declared in mother class.
Definition: icoutput.cc:128
void at_eventend(const Particles &particles, const int event_number, double, bool) override
Write event end line.
Definition: icoutput.cc:113
const OutputParameters out_par_
Structure that holds all the information about what to printout.
Definition: icoutput.h:74
Helper structure for Experiment to hold output options and parameters.
Action is the base class for a generic process that takes a number of incoming particles and transfor...
Definition: action.h:34
double IC_proper_time_
Proper time of the particles removed when extracting initial conditions.
Definition: icoutput.h:85
SMASH output in ASCII format containing initial conditions for hydrodynamic codes.
Definition: icoutput.h:31
RenamingFilePtr file_
Pointer to output file.
Definition: icoutput.h:72
The Particles class abstracts the storage and manipulation of particles.
Definition: particles.h:33
Abstraction of generic output.
Definition: action.h:24