#ifndef ALIGENUHKM_H
#define ALIGENUHKM_H
+#include <string>
+
+//#include <TString.h>
+//#include <TParticle.h>
+
#include "AliGenMC.h"
-#include <TString.h>
#include "TUHKMgen.h"
#ifndef INITIALSTATEHYDJET_H
#include "InitialStateHydjet.h"
#endif
-#include "TParticle.h"
-#include <string>
using namespace std;
class AliGenUHKM : public AliGenMC
{
- protected:
- Int_t fTrials; // Number of trials
- TUHKMgen *fUHKMgen; // UHKM
-
- InitialParamsHydjet_t fHydjetParams; // list of parameters for the initial state
- // details for the PDG database
- Char_t fParticleFilename[256]; // particle list filename
- Char_t fDecayFilename[256]; // decay table filename
- Int_t fStableFlagPDG[500]; // array of PDG codes flagged
- Bool_t fStableFlagStatus[500]; // array of decay flag status
- Int_t fStableFlagged; // number of toggled decay flags
-
- void SetAllParameters();
- void CheckPDGTable();
-
- private:
- void Copy(TObject &rhs) const;
- AliGenUHKM(const AliGenUHKM&);
- AliGenUHKM & operator = (const AliGenUHKM &);
-
+
public:
AliGenUHKM();
AliGenUHKM(Int_t npart);
void SetMuQ(Double_t value) {fHydjetParams.fMuI3 = value;} // Isospin chemical potential [GeV]
void SetThFrzTemperature(Double_t value) {fHydjetParams.fThFO = value;} // Temperature for the thermal freezeout [GeV]
void SetMuPionThermal(Double_t value) {fHydjetParams.fMu_th_pip = value;} // Chemical potential for pi+ at thermal freezeout [GeV]
- void SetSeed(Int_t value) {fHydjetParams.fSeed = value;} //parameter to set the random nuber seed (=0 the current time is used
+ virtual void SetSeed(UInt_t value) {fHydjetParams.fSeed = value;} //parameter to set the random nuber seed (=0 the current time is used
//to set the random generator seed, !=0 the value fSeed is
//used to set the random generator seed and then the state of random
//number generator in PYTHIA MRPY(1)=fSeed
//gluons (0: small-angular, 1: wide-angular, 2:collinear) (default: 0).
- void SetPDGParticleFile(const Char_t *name) {strcpy(fParticleFilename, name);}//Set the filename containing the particle PDG info
- void SetPDGDecayFile(const Char_t *name) {strcpy(fDecayFilename, name);} //Set the filename containing the PDG decay channels info
+ void SetPDGParticleFile(const Char_t *name) {strncpy(fParticleFilename, name, 255);}//Set the filename containing the particle PDG info
+ void SetPDGDecayFile(const Char_t *name) {strncpy(fDecayFilename, name, 255);} //Set the filename containing the PDG decay channels info
void SetPDGParticleStable(Int_t pdg, Bool_t value) { // Turn on/off the decay flag for a PDG particle
fStableFlagPDG[fStableFlagged] = pdg;
fStableFlagStatus[fStableFlagged++] = value;
const Char_t* GetPDGParticleFile() const {return fParticleFilename;}
const Char_t* GetPDGDecayFile() const {return fDecayFilename;}
+ protected:
+ Int_t fTrials; // Number of trials
+ TUHKMgen *fUHKMgen; // UHKM
+
+ InitialParamsHydjet_t fHydjetParams; // list of parameters for the initial state
+ // details for the PDG database
+ Char_t fParticleFilename[256]; // particle list filename
+ Char_t fDecayFilename[256]; // decay table filename
+ Int_t fStableFlagPDG[500]; // array of PDG codes flagged
+ Bool_t fStableFlagStatus[500]; // array of decay flag status
+ Int_t fStableFlagged; // number of toggled decay flags
+
+ void SetAllParameters();
+ void CheckPDGTable();
+
+ private:
+ void Copy(TObject &rhs) const;
+ AliGenUHKM(const AliGenUHKM&);
+ AliGenUHKM & operator = (const AliGenUHKM &);
+
ClassDef(AliGenUHKM, 6) // AliGenerator interface to UHKM
};
#endif