Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CausalLiquefier.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CausalLiquefier.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 // This is a causal liquefier with the JETSCAPE framework
17 // -----------------------------------------
18 
19 #ifndef CAUSALLIQUEFIER_H
20 #define CAUSALLIQUEFIER_H
21 
22 #include "LiquefierBase.h"
23 #include "RealType.h"
24 #include <array>
25 
26 #include <cmath>
27 #include <gsl/gsl_sf_bessel.h>
28 
29 namespace Jetscape {
30 
32  private:
33 
34 
35  public:
36 
37  //parameters (to be moved to xml)---------------------------
38  double dtau, dx, dy , deta;//in [fm]
39  double tau_delay;// in [fm]
40  double time_relax;// in [fm]
41  double d_diff;// in [fm]
42  double width_delta;// in [fm]
43  //---------------------------
44  double c_diff;
45  double gamma_relax;
46 
47 
48 
49 
51  CausalLiquefier(double dtau, double dx, double dy , double deta);
53 
54  void Init();
55 
58  const Droplet drop_i,
59  std::array<Jetscape::real, 4> &jmu) const;
60 
61  double dumping(double t) const;
62 
63  double kernel_rho(double t, double r) const;
64  double rho_smooth(double t, double r) const;
65  double rho_delta(double t, double r) const;
66 
67  double kernel_j(double t, double r) const;
68  double j_smooth(double t, double r) const;
69  double j_delta(double t, double r) const;
70 
71  double get_t(double tau, double eta) const;
72  double get_z(double tau, double eta) const;
73 
74  double get_ptau(double px, double pz, double eta) const;
75  double get_peta(double px, double pz, double eta) const;
76 
77  //For debug
78  void set_t_delay(double new_tau_delay);
79 
80 
81 };
82 
83 };
84 
85 #endif // CAUSALLIQUEFIER_H