/* $Id$ */
#include "AliGenerator.h"
+class AliGrayParticleModel;
class AliGenGrayParticles : public AliGenerator
{
virtual void SetPmax(Float_t pmax = 10.) {fPmax = pmax;}
virtual void SetNominalCmsEnergy(Float_t energy = 14000.) {fCMS = energy;}
virtual void SetTarget(Float_t a=208, Float_t z=82) {fATarget = a; fZTarget = z;}
+ virtual void SetCharge(Int_t c = 1) {fCharge = c;}
virtual void SetTemperature(Double_t t = 0.05) {fTemperature = t;}
-
+ virtual void SetBetaSource(Double_t b = 0.05) {fBetaSource = b;}
+ //
+ virtual void SetGrayParticleModel(AliGrayParticleModel* model)
+ {fGrayParticleModel = model;}
+ virtual Bool_t NeedsCollisionGeometry() {return kTRUE;}
+ virtual void SetCollisionGeometry(AliCollisionGeometry* geom)
+ {fCollisionGeometry = geom;}
+
protected:
void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q);
Double_t Maxwell(Double_t m, Double_t p, Double_t t);
Float_t fPmax; // Maximum slow nucleon momentum
Float_t fATarget; // Target nucleus mass number
Float_t fZTarget; // Target nucleus charge number
+ Int_t fCharge; // Slow nucleon charge
Float_t fTemperature; // Source Temperature
+ Float_t fBetaSource; // Source beta
+ //
+ AliGrayParticleModel* fGrayParticleModel; // The gray particle model
ClassDef(AliGenGrayParticles,1) // Gray Particle Generator
};
#endif