78 PFireball(
const char *particle,
float AGeV,
float t1,
float t2=0.0,
float f=1.0,
79 float b=0.0,
float a2=0.0,
float a4=0.0,
float w1=0.0,
float w2=0.0,
int sp=0);
115 Double_t
AvApart(Double_t ap, Double_t at, Double_t bn, Double_t bx);
117 return (ap*pow(at,0.667) + at*pow(ap,0.667))
118 /pow((pow(ap,0.333)+pow(at,0.333)),2);
120 void setRandomB(
float ap,
float at,
float p=0.,
float bn=0.,
float bx=20.) {
130 if (
bmax > 1.14*(pow((
double)
Ap,(
double)0.333) + pow((
double)
At,(
double)0.333))+2.)
131 bmax = 1.14*(pow((
double)
Ap,(
double)0.333) + pow((
double)
At,(
double)0.333)+2.);
139 if (mN >= 0.)
meanN = mN;
190 fE1->SetParameter(5, -1.1);
192 fE1->SetParameter(5, (
double) didx);
194 fE1->GetRandom2(E, M);
198 Error(
"sampleECM1",
"fE1 not found");
207 fE2->SetParameter(5, -1.1);
209 fE2->SetParameter(5, (
double) didx);
211 fE2->GetRandom2(E, M);
215 Error(
"sampleECM2",
"fE2 not found");
220 fE3->GetRandom2(E, Theta);
243 virtual void Print(
const Option_t *delme=
"")
const;
258 if (*(
makeStaticData()->GetBatchValue(
"_system_weight_version"))) {
259 Info(
"SetW",
"Use old weighting method (pure chain based)");
268 float Npar(
float ap,
float at,
float b);
PStaticData * makeStaticData()
virtual void Print(const Option_t *delme="") const
TF1 * fMt
polar angle sampling function
TF1 * rapidity_function
sigma of gaussian dNdy distribution
void sampleECM1(Double_t &E, Double_t &M, int didx)
float NparSmeared(float ap, float at, float b) const
bool quasistable
array of particle pointers
bool trueThermal
dN2/dEdTheta sampling histogram
float mt_fac
if set, sample impact parameter first, then Poisson Npart
Double_t AvApart(Double_t ap, Double_t at)
PFireball(const char *particle, float AGeV, float t1, float t2=0.0, float f=1.0, float b=0.0, float a2=0.0, float a4=0.0, float w1=0.0, float w2=0.0, int sp=0)
void sampleECM(Double_t &E, Double_t &M, int didx)
void setSpectator(int sp)
PParticle ** part
Granularity for all 2-dim histograms.
PFunction * pfE
option to use the adaptive mesh
PChannelModel * model
long-lived or stable particle flag
Double_t AvApart(Double_t ap, Double_t at, Double_t bn, Double_t bx)
void setTemperature(float t1, float t2, float f, int id=0)
void RotateSamplingPlane(void)
float Npar(float ap, float at, float b)
double sig
mt scaling of mass distribution
void SetRapidityDistribution(TF1 *f)
void SetNpy(Int_t my_npy)
PChannel * makeChannel(Int_t nMax, Float_t nAverage=0.)
void setFlow(float a, float b)
void printAverages() const
void updateFunctions(int id=0)
void setRandomB(float ap, float at, float p=0., float bn=0., float bx=20.)
void SetEpsilon(Double_t e)
int didx_old
Primary model for emitted particle prodId.
void setAnisotropy(float a2, float a4, int id=0)
TF1 * fE2_1d
energy sampling function with E*p**3 x BW(M)
PAdaptiveMeshN * afE
Envelope for thermal channel model E.
void setBlast(float b, int id=0)
void sampleECM2(Double_t &E, Double_t &M, int didx)
int spect
Function of dNdy distribution.
void SetNpx(Int_t my_npx)
TF1 * fA
energy sampling function with p**n x W(Theta)
int mesh_option
option for a rotation in the E-M-plane
void sampleECM3(Double_t &E, Double_t &Theta)
Int_t npx
thermal sampling flag
Float_t y0
Mesh for thermal channel model E.
void setTrueThermal(Bool_t flag=kTRUE)
int sample_option
cache for didx
void setToMidrapidity(float AGeV)
void samplePartCM(double &px, double &py, double &pz, double &E, int didx)
TF1 * fE_1d
energy sampling function (true Boltzmann) x BW(M)
TF1 * fE1_1d
energy sampling function with E*sqrt(p) x BW(M)
PF2 * fE
if set to 0 participant, if set to 1 target-like spectator,
float mtIntegral(double mass, float temperature)
TH2F * fHisto
mt sampling function
PParticle(Int_t id=0, Double_t T=0., Double_t w=1.)
Double_t * GetBatchValue(const char *name, Int_t make_val=1)