Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:19:30

0001 /*******************************************************************************
0002  * Copyright (c) The JETSCAPE Collaboration, 2018
0003  *
0004  * Modular, task-based framework for simulating all aspects of heavy-ion collisions
0005  * 
0006  * For the list of contributors see AUTHORS.
0007  *
0008  * Report issues at https://github.com/JETSCAPE/JETSCAPE/issues
0009  *
0010  * or via email to bugs.jetscape@gmail.com
0011  *
0012  * Distributed under the GNU General Public License 3.0 (GPLv3 or later).
0013  * See COPYING for details.
0014  ******************************************************************************/
0015 // -----------------------------------------
0016 // This is a causal liquefier with the JETSCAPE framework
0017 // -----------------------------------------
0018 
0019 #ifndef CAUSALLIQUEFIER_H
0020 #define CAUSALLIQUEFIER_H
0021 
0022 #include "LiquefierBase.h"
0023 #include "RealType.h"
0024 #include <array>
0025 
0026 #include <cmath>
0027 #include <gsl/gsl_sf_bessel.h>
0028 
0029 namespace Jetscape {
0030 
0031 class CausalLiquefier: public Jetscape::LiquefierBase {
0032  private:
0033 
0034     
0035  public:
0036     
0037     //parameters (to be moved to xml)---------------------------
0038     double dtau, dx, dy , deta;//in [fm]
0039     double tau_delay;// in [fm]
0040     double time_relax;// in [fm]
0041     double d_diff;// in [fm]
0042     double width_delta;// in [fm]
0043     //---------------------------
0044     double c_diff;
0045     double gamma_relax;
0046     
0047     
0048     
0049     
0050     CausalLiquefier();
0051     CausalLiquefier(double dtau, double dx, double dy , double deta);
0052     ~CausalLiquefier() {};
0053     
0054     void Init();
0055     
0056     void smearing_kernel(Jetscape::real tau, Jetscape::real x,
0057                          Jetscape::real y, Jetscape::real eta,
0058                          const Droplet drop_i,
0059                          std::array<Jetscape::real, 4> &jmu) const;
0060     
0061     double dumping(double t) const;
0062 
0063     double kernel_rho(double t, double r) const;
0064     double rho_smooth(double t, double r) const;
0065     double rho_delta(double t, double r) const;
0066 
0067     double kernel_j(double t, double r) const;
0068     double j_smooth(double t, double r) const;
0069     double j_delta(double t, double r) const;
0070     
0071     double get_t(double tau, double eta) const;
0072     double get_z(double tau, double eta) const;
0073     
0074     double get_ptau(double px, double pz, double eta) const;
0075     double get_peta(double px, double pz, double eta) const;
0076 
0077     //For debug
0078     void set_t_delay(double new_tau_delay);
0079 
0080     
0081 };
0082 
0083 };
0084 
0085 #endif  // CAUSALLIQUEFIER_H