Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:19:44

0001 // Hydroinfo_MUSIC.h is a part of the MARTINI event generator.
0002 // Copyright (C) 2009 Bjoern Schenke.
0003 // MARTINI is licenced under the GNU GPL version 2, see COPYING for details.
0004 // Please respect the MCnet Guidelines, see GUIDELINES for details.
0005 
0006 // This file contains routines to read in hydro data from files and functions
0007 // that return interpolated data at a given space-time point
0008 
0009 #ifndef SRC_HYDROINFO_MUSIC_H_
0010 #define SRC_HYDROINFO_MUSIC_H_
0011 
0012 #include <vector>
0013 #include <string>
0014 #include "fluidCell.h"
0015 
0016 class Hydroinfo_MUSIC {
0017  private:
0018     double hbarC;
0019     double hydroTau0;       // tau_0 in the hydro data files
0020     double hydroTauMax;     // tau_max in the hydro data files
0021     double hydroDtau;       // step dtau in fm/c in the hydro data files
0022     double hydroXmax;       // maximum x in fm in the hydro data files
0023                             // [-xmax, +xmax] for both x and y
0024     double hydro_eta_max;       // maximum z in fm in the hydro data files
0025                             // [-zmax, +zmax] for 3D hydro
0026     double hydroDx;         // step dx in fm in the hydro data files
0027     double hydroDeta;         // step dz in fm in the hydro data files in
0028                             // the z-direction for 3D hydro
0029 
0030     int nskip_tau, nskip_x, nskip_eta;
0031 
0032     int hydroWhichHydro;    // choose a hydro evolution model to use
0033     int use_tau_eta_coordinate;
0034 
0035     bool boost_invariant;
0036 
0037     int verbose_;
0038     int itaumax, ixmax, ietamax;
0039     int turn_on_shear;
0040     int turn_on_bulk;
0041     int turn_on_rhob;
0042     int turn_on_diff;
0043 
0044     std::string input_filename;
0045     std::string hydro_ideal_filename;
0046     std::string hydro_shear_filename;
0047     std::string hydro_bulk_filename;
0048 
0049     std::vector<fluidCell_2D> lattice_2D;  // array to store hydro information
0050     std::vector<fluidCell_3D> lattice_3D;  // array to store hydro information
0051     std::vector<fluidCell_3D_ideal> lattice_3D_ideal;
0052     std::vector<int> idx_map_;
0053 
0054  public:
0055     Hydroinfo_MUSIC();       // constructor
0056     ~Hydroinfo_MUSIC();      // destructor
0057 
0058     void clean_hydro_event();
0059     void set_verbose(int verbose) {verbose_ = verbose;}
0060     double get_hydro_tau_max() {return(hydroTauMax);}
0061     double get_hydro_tau0() {return(hydroTau0);}
0062     double get_hydro_dtau() {return(hydroDtau);}
0063     double get_hydro_dx() {return(hydroDx);}
0064     double get_hydro_deta() {return(hydroDeta);}
0065     double get_hydro_eta_max() {return(hydro_eta_max);}
0066     double get_hydro_x_max() {return(hydroXmax);}
0067     int get_hydro_Nskip_tau() {return(nskip_tau);}
0068     int get_hydro_Nskip_x() {return(nskip_x);}
0069     int get_hydro_Nskip_eta() {return(nskip_eta);}
0070     int get_number_of_fluid_cells_3d() {return(lattice_3D_ideal.size());}
0071 
0072     void readHydroData(int whichHydro, int nskip_tau_in,
0073             std::string input_filename_in, std::string hydro_ideal_filename,
0074             std::string hydro_shear_filename, std::string hydro_bulk_filename);
0075 
0076     void getHydroValues(double x, double y, double z, double t,
0077                         hydrofluidCell *info);
0078     void output_temperature_evolution(std::string filename_base);
0079     void update_grid_info(double tau0, double tau_max, double dtau,
0080                           double x_max, double dx, double z_max, double dz);
0081 };
0082 
0083 #endif  // SRC_HYDROINFO_MUSIC_H_
0084