]>
Commit | Line | Data |
---|---|---|
930c0bb5 | 1 | #ifndef ALIGENGRAYPARTICLES_H |
2 | #define ALIGENGRAYPARTICLES_H | |
3 | /* Copyright(c) 198-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | #include "AliGenerator.h" | |
c27c8b4d | 9 | class AliGrayParticleModel; |
930c0bb5 | 10 | |
11 | class AliGenGrayParticles : public AliGenerator | |
12 | { | |
13 | public: | |
14 | AliGenGrayParticles(); | |
15 | AliGenGrayParticles(Int_t npart); | |
16 | virtual ~AliGenGrayParticles(); | |
17 | virtual void Init(); | |
18 | virtual void Generate(); | |
19 | virtual void SetPmax(Float_t pmax = 10.) {fPmax = pmax;} | |
20 | virtual void SetNominalCmsEnergy(Float_t energy = 14000.) {fCMS = energy;} | |
21 | virtual void SetTarget(Float_t a=208, Float_t z=82) {fATarget = a; fZTarget = z;} | |
ca33591a | 22 | virtual void SetCharge(Int_t c = 1) {fCharge = c;} |
930c0bb5 | 23 | virtual void SetTemperature(Double_t t = 0.05) {fTemperature = t;} |
ca33591a | 24 | virtual void SetBetaSource(Double_t b = 0.05) {fBetaSource = b;} |
c27c8b4d | 25 | // |
26 | virtual void SetGrayParticleModel(AliGrayParticleModel* model) | |
27 | {fGrayParticleModel = model;} | |
8b87aa60 | 28 | virtual Bool_t NeedsCollisionGeometry() {return kTRUE;} |
29 | virtual void SetCollisionGeometry(AliCollisionGeometry* geom) | |
30 | {fCollisionGeometry = geom;} | |
c27c8b4d | 31 | |
930c0bb5 | 32 | protected: |
33 | void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q); | |
34 | Double_t Maxwell(Double_t m, Double_t p, Double_t t); | |
35 | void Lorentz(Double_t m, Double_t beta, Float_t* q); | |
36 | protected: | |
37 | Float_t fCMS; // Center of mass energy | |
38 | Float_t fMomentum; // Target nucleus momentum | |
39 | Float_t fBeta; // Target nucleus beta | |
40 | Float_t fPmax; // Maximum slow nucleon momentum | |
41 | Float_t fATarget; // Target nucleus mass number | |
42 | Float_t fZTarget; // Target nucleus charge number | |
ca33591a | 43 | Int_t fCharge; // Slow nucleon charge |
930c0bb5 | 44 | Float_t fTemperature; // Source Temperature |
ca33591a | 45 | Float_t fBetaSource; // Source beta |
c27c8b4d | 46 | // |
47 | AliGrayParticleModel* fGrayParticleModel; // The gray particle model | |
930c0bb5 | 48 | ClassDef(AliGenGrayParticles,1) // Gray Particle Generator |
49 | }; | |
50 | #endif | |
51 | ||
52 | ||
53 | ||
54 | ||
55 | ||
56 |