1 #ifndef THERMPTNSAMPLER_H
2 #define THERMPTNSAMPLER_H
9 using namespace Jetscape;
19 void sample_2p1d(
double eta_max);
20 void sample_3p1d(
bool Cartesian_hydro=
false);
26 void brick_length_width(
double len_bri,
double wid_bri){
L = 2.*len_bri + 4.; W = 2.*wid_bri + 4.; Time = len_bri;}
27 void brick_flow(
double vx_in,
double vy_in,
double vz_in){Vx = vx_in; Vy = vy_in; Vz = vz_in;}
31 int nTot( ){
return Plist.size();}
39 double th_e(
int i){
return Plist[
i][6];}
40 double th_x(
int i){
return Plist[
i][7];}
41 double th_y(
int i){
return Plist[
i][8];}
42 double th_z(
int i){
return Plist[
i][9];}
43 double th_t(
int i){
return Plist[
i][10];}
51 std::vector<std::vector<double>>
Plist;
55 bool SplitSort (
double goal,
int floor,
int ceiling,
int quark);
56 void MCSampler(
double Temp,
int quark);
57 double FermiPDF (
double Pc,
double Mc,
double Tc,
double muc);
58 void CDFGenerator(
double Temp,
double M,
int quark);
62 std::uniform_real_distribution<double> distribution{0.0, 1.0};
64 double ran() {
return distribution(rng_engine);}
69 const double PI = 3.141592653589793;
71 const double GEVFM = 0.197327053;
74 double xmq,
xms,
T, NUMSTEP;
75 double CellDX, CellDY,
CellDZ, CellDT;
87 double NewX, NewY,
NewZ, NewP;
96 double L,
W, Time, Vx, Vy, Vz;
103 #endif // THERMPTNSAMPLER_H