]>
Commit | Line | Data |
---|---|---|
3fa37a65 | 1 | // InitialStateHydjet is the class which controls the entire |
2 | // event simulation (input parameters, physics, output) | |
3 | // InitialStateHydjet inherits from class InitialState | |
4 | // MultIni() member function initializes PYQUEN and calculates the average soft multiplicities | |
5 | // Initialize() member function calls the PYQUEN soubroutine for the hard part of the event | |
6 | // The resonance decay is performed by the function InitialState::Evolve() | |
7 | ||
b1c2e580 | 8 | /* |
9 | ||
10 | Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna | |
11 | amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru | |
12 | November. 2, 2005 | |
13 | ||
14 | */ | |
15 | ||
3fa37a65 | 16 | #ifndef INITIALSTATEHYDJET_H |
17 | #define INITIALSTATEHYDJET_H | |
b1c2e580 | 18 | |
b1c2e580 | 19 | #include "InitialState.h" |
b1c2e580 | 20 | |
3fa37a65 | 21 | class ParticleAllocator; |
22 | ||
b1c2e580 | 23 | struct InitialParamsHydjet_t { |
24 | ||
25 | Int_t fNevnt; //number of events | |
26 | Double_t fSqrtS; //cms energy per nucleon | |
27 | Double_t fAw; // atomic number of colliding nuclei | |
28 | Int_t fIfb; // flag of type of centrality generation (=0 is fixed by fBfix, not 0 | |
29 | //impact parameter is generated in each event between fBfmin | |
30 | //and fBmax according with Glauber model (f-la 30) | |
31 | Double_t fBmin; //minimum impact parameter in units of nuclear radius RA | |
32 | Double_t fBmax; //maximum impact parameter in units of nuclear radius RA | |
33 | Double_t fBfix; //fix impact parameter in units of nuclear radius RA | |
34 | ||
35 | Int_t fSeed; //parameter to set the random nuber seed (=0 the current time is used | |
36 | //to set the random generator seed, !=0 the value fSeed is | |
37 | //used to set the random generator seed and then the state of random | |
38 | //number generator in PYTHIA MRPY(1)=fSeed | |
39 | ||
40 | Double_t fT; //chemical freeze-out temperature in GeV | |
41 | Double_t fMuB; //baryon potential | |
42 | Double_t fMuS; //strangeness potential | |
43 | Double_t fMuI3; //isospin potential | |
44 | Double_t fThFO; //thermal freeze-out temperature T^th in GeV | |
45 | Double_t fMu_th_pip; // effective chemical potential of positivly charged pions at thermal in GeV | |
46 | ||
47 | ||
48 | Double_t fTau; //proper time value | |
49 | Double_t fSigmaTau; //its standart deviation (emission duration) | |
50 | Double_t fR; //maximal transverse radius | |
51 | Double_t fYlmax; //maximal longitudinal rapidity | |
52 | Double_t fUmax; //maximal transverse velocity multiplaed on \gamma_r | |
53 | Double_t fDelta; //momentum asymmetry parameter | |
54 | Double_t fEpsilon; //coordinate asymmetry parameter | |
55 | ||
56 | Int_t fDecay; // flag to switch on/off hadron decays<0: decays off,>=0: decays on, (default: 0) | |
7b7936e9 | 57 | Double_t fWeakDecay; //flag to switch on/off weak hadron decays <0: decays off, >0: decays on, (default: 0) |
b1c2e580 | 58 | Int_t fPythDecay; //Flag to choose how to decay resonances in high-pt part, fPythDecay: 0 by PYTHIA decayer, |
59 | //1 by FASTMC decayer(mstj(21)=0) | |
60 | ||
61 | Int_t fEtaType; // flag to choose rapidity distribution, if fEtaType<=0, | |
62 | //then uniform rapidity distribution in [-fYlmax,fYlmax] if fEtaType>0, | |
63 | //then Gaussian with dispertion = fYlmax | |
64 | ||
65 | Int_t fTMuType; // flag to use calculated chemical freeze-out temperature, | |
66 | //baryon potential and strangeness potential as a function of fSqrtS | |
67 | ||
68 | Double_t fCorrS; // flag and value to include strangeness supression factor | |
69 | Int_t fNhsel; //flag to switch on/off jet and hydro-state production (0: jet | |
70 | // production off and hydro on, 1: jet production on and jet quenching | |
71 | // off and hydro on, 2: jet production on and jet quenching on and | |
72 | // hydro on, 3: jet production on and jet quenching off and hydro | |
73 | // off, 4: jet production on and jet quenching on and hydro off | |
74 | ||
75 | Int_t fIshad; //flag to switch on/off impact parameter dependent nuclear | |
76 | // shadowing for gluons and light sea quarks (u,d,s) (0: shadowing off, | |
77 | // 1: shadowing on for fAw=207, 197, 110, 40, default: 1 | |
78 | ||
79 | Double_t fPtmin; //minimal transverse momentum transfer p_T of hard | |
80 | // parton-parton scatterings in GeV (the PYTHIA parameter ckin(3)=fPtmin) | |
81 | ||
82 | // PYQUEN energy loss model parameters: | |
83 | ||
84 | Double_t fT0; // initial temperature (in GeV) of QGP for | |
85 | //central Pb+Pb collisions at mid-rapidity (initial temperature for other | |
86 | //centralities and atomic numbers will be calculated automatically) (allowed range is 0.2<fT0<2) | |
87 | ||
88 | Double_t fTau0; //proper QGP formation time in fm/c (0.01<fTau0<10) | |
89 | Int_t fNf; //number of active quark flavours N_f in QGP fNf=0, 1,2 or 3 | |
90 | Int_t fIenglu; // flag to fix type of in-medium partonic energy loss | |
91 | //(0: radiative and collisional loss, 1: radiative loss only, 2: | |
92 | //collisional loss only) (default: 0); | |
93 | Int_t fIanglu; //flag to fix type of angular distribution of in-medium emitted | |
94 | // gluons (0: small-angular, 1: wide-angular, 2:collinear) (default: 0). | |
95 | ||
96 | ||
97 | ||
98 | Int_t fNPartTypes; //counter of hadron species | |
99 | Int_t fPartEnc[1000]; //Hadron encodings. Maximal number of hadron species is 100!!! | |
100 | Double_t fPartMult[2000]; //Multiplicities of hadron species | |
101 | Double_t fPartMu[2000]; //Chemical potentials of hadron species | |
102 | ||
103 | Double_t fMuTh[1000]; //Chemical potentials at thermal freezeout of hadron species | |
104 | ||
105 | ||
106 | }; | |
107 | ||
7b7936e9 | 108 | |
b1c2e580 | 109 | class InitialStateHydjet : public InitialState { |
3fa37a65 | 110 | public: |
03896fc4 | 111 | |
786056a2 | 112 | InitialStateHydjet() : fParams(), fVolEff(0){}; |
b1c2e580 | 113 | ~InitialStateHydjet() {}; |
114 | ||
115 | void SetVolEff(Double_t value) {fVolEff = value;} | |
3fa37a65 | 116 | Double_t GetVolEff() const {return fVolEff;} |
117 | // virtual Double_t GetTime() {return fParams.fDecay;} | |
118 | virtual Bool_t RunDecays() {return (fParams.fDecay>0 ? kTRUE : kFALSE);} | |
b1c2e580 | 119 | virtual Int_t GetNev() {return fParams.fNevnt;} |
120 | virtual Double_t GetWeakDecayLimit() {return fParams.fWeakDecay;} | |
121 | ||
122 | virtual void Initialize(List_t &source, ParticleAllocator &allocator); | |
123 | virtual Bool_t ReadParams(); | |
124 | virtual Bool_t MultIni(); | |
125 | Bool_t IniOfThFreezeoutParameters(); | |
03896fc4 | 126 | |
127 | InitialParamsHydjet_t fParams; // the list of initial state parameters | |
128 | ||
129 | private: | |
130 | Double_t fVolEff; // the effective volume | |
131 | Double_t F2(Double_t x, Double_t y); | |
b1c2e580 | 132 | |
03896fc4 | 133 | Double_t SimpsonIntegrator(Double_t a, Double_t b, Double_t phi); |
134 | Double_t SimpsonIntegrator2(Double_t a, Double_t b); | |
135 | Double_t MidpointIntegrator2(Double_t a, Double_t b); | |
b1c2e580 | 136 | }; |
137 | ||
138 | #endif |