#ifndef INITIALSTATEHYDJET_H
#define INITIALSTATEHYDJET_H
-//#ifndef DATABASE_PDG
-//#include "DatabasePDG.h"
-//#endif
-//#ifndef PARTICLE_INCLUDED
-//#include "Particle.h"
-//#endif
-#ifndef INITIAL_STATE
#include "InitialState.h"
-#endif
class ParticleAllocator;
+const Int_t kNPartTypes = 1000;
+
struct InitialParamsHydjet_t {
Int_t fNevnt; //number of events
// gluons (0: small-angular, 1: wide-angular, 2:collinear) (default: 0).
-
Int_t fNPartTypes; //counter of hadron species
- Int_t fPartEnc[1000]; //Hadron encodings. Maximal number of hadron species is 100!!!
- Double_t fPartMult[2000]; //Multiplicities of hadron species
- Double_t fPartMu[2000]; //Chemical potentials of hadron species
-
- Double_t fMuTh[1000]; //Chemical potentials at thermal freezeout of hadron species
+ Int_t fPartEnc[kNPartTypes]; //Hadron encodings. Maximal number of hadron species is 100!!!
+ Double_t fPartMult[2*kNPartTypes]; //Multiplicities of hadron species
+ Double_t fPartMu[2*kNPartTypes]; //Chemical potentials of hadron species
+ Double_t fMuTh[kNPartTypes]; //Chemical potentials at thermal freezeout of hadron species
};
class InitialStateHydjet : public InitialState {
public:
- InitialParamsHydjet_t fParams; // the list of initial state parameters
- private:
- Double_t fVolEff; // the effective volume
-
- public:
- InitialStateHydjet() : fParams(), fVolEff(0){};
+
+ InitialStateHydjet() : fParams(), fVolEff(0), fBgen(0), fNpart(0), fNcoll(0) {};
~InitialStateHydjet() {};
void SetVolEff(Double_t value) {fVolEff = value;}
virtual void Initialize(List_t &source, ParticleAllocator &allocator);
virtual Bool_t ReadParams();
virtual Bool_t MultIni();
+ virtual void GetCentrality(Double_t& b, Double_t & npart, Double_t & nbin)
+ {b = fBgen; npart = fNpart; nbin = fNcoll;}
+
Bool_t IniOfThFreezeoutParameters();
-
- Double_t f(Double_t x);
- Double_t f2(Double_t x, Double_t y);
+
+ InitialParamsHydjet_t fParams; // the list of initial state parameters
+
+ private:
+ Double_t fVolEff; // the effective volume
+ // Collision geometry
+ Double_t fBgen; // Generated impact parameter
+ Double_t fNpart; // Number of participants
+ Double_t fNcoll; // Number of collisions
+
+ Double_t F2(Double_t x, Double_t y);
- Double_t SimpsonIntegrator(Double_t a, Double_t b, Double_t phi);
- Double_t SimpsonIntegrator2(Double_t a, Double_t b);
- Double_t MidpointIntegrator2(Double_t a, Double_t b);
+ Double_t SimpsonIntegrator(Double_t a, Double_t b, Double_t phi);
+ Double_t SimpsonIntegrator2(Double_t a, Double_t b);
+ Double_t MidpointIntegrator2(Double_t a, Double_t b);
};
#endif