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;} |
28 | |
930c0bb5 |
29 | protected: |
30 | void GenerateSlow(Int_t charge, Double_t T, Double_t beta, Float_t* q); |
31 | Double_t Maxwell(Double_t m, Double_t p, Double_t t); |
32 | void Lorentz(Double_t m, Double_t beta, Float_t* q); |
33 | protected: |
34 | Float_t fCMS; // Center of mass energy |
35 | Float_t fMomentum; // Target nucleus momentum |
36 | Float_t fBeta; // Target nucleus beta |
37 | Float_t fPmax; // Maximum slow nucleon momentum |
38 | Float_t fATarget; // Target nucleus mass number |
39 | Float_t fZTarget; // Target nucleus charge number |
ca33591a |
40 | Int_t fCharge; // Slow nucleon charge |
930c0bb5 |
41 | Float_t fTemperature; // Source Temperature |
ca33591a |
42 | Float_t fBetaSource; // Source beta |
c27c8b4d |
43 | // |
44 | AliGrayParticleModel* fGrayParticleModel; // The gray particle model |
930c0bb5 |
45 | ClassDef(AliGenGrayParticles,1) // Gray Particle Generator |
46 | }; |
47 | #endif |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |