Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HydroFromFile.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HydroFromFile.h
1 /*******************************************************************************
2  * Copyright (c) The JETSCAPE Collaboration, 2018
3  *
4  * Modular, task-based framework for simulating all aspects of heavy-ion collisions
5  *
6  * For the list of contributors see AUTHORS.
7  *
8  * Report issues at https://github.com/JETSCAPE/JETSCAPE/issues
9  *
10  * or via email to bugs.jetscape@gmail.com
11  *
12  * Distributed under the GNU General Public License 3.0 (GPLv3 or later).
13  * See COPYING for details.
14  ******************************************************************************/
15 
16 #ifndef HYDROFROMFILE_H
17 #define HYDROFROMFILE_H
18 
19 #include "FluidDynamics.h"
20 #include "Hydroinfo_MUSIC.h"
21 
22 #include <string>
23 
24 #ifdef USE_HDF5
25 #include "Hydroinfo_h5.h"
26 #endif
27 
28 using namespace Jetscape;
29 
30 class HydroFromFile : public FluidDynamics {
31  // this is wrapper class for MUSIC so that it can be used as a external
32  // library for the JETSCAPE integrated framework
33 private:
36 
39 
41  double T_c_;
42 
43 #ifdef USE_HDF5
44  HydroinfoH5 *hydroinfo_h5_ptr;
45 #endif
47 
48  double PreEq_tau0_;
49  double PreEq_tauf_;
51 
52  // Allows the registration of the module so that it is available to be used by the Jetscape framework.
54 
55 public:
56  HydroFromFile();
57  ~HydroFromFile();
58 
60  void clean_hydro_event();
61 
63  void InitializeHydro(Parameter parameter_list);
64 
66  void read_in_hydro_event(string VISH_filename, int buffer_size,
67  int load_viscous);
68 
70  void read_in_hydro_event(string input_file, string hydro_ideal_file,
71  int nskip_tau);
72 
74  void read_in_hydro_event(string input_file, string preEq_file,
75  string hydro_ideal_file,
76  int nskip_tau);
77 
79  void EvolveHydro();
80 
83  void GetHydroInfo(Jetscape::real t, Jetscape::real x, Jetscape::real y,
85  std::unique_ptr<FluidCellInfo> &fluid_cell_info_ptr);
86 
87  double GetEventPlaneAngle();
88  void set_hydro_event_idx(int idx_in) { hydro_event_idx_ = idx_in; };
89  int get_hydro_event_idx() { return (hydro_event_idx_); };
90  void GetHyperSurface(Jetscape::real T_cut,
91  SurfaceCellInfo *surface_list_ptr){};
92 };
93 
94 #endif // HYDROFROMFILE_H