]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliSimpleGen.h
Simplify complicated if that fails on HP-UX CC
[u/mrichter/AliRoot.git] / EVGEN / AliSimpleGen.h
1 #ifndef ALISIMPLEGEN_H
2 #define ALISIMPLEGEN_H
3 ///////////////////////////////////////////////////////////
4 //                                                       //
5 //  Class to generate the particles for the MC           //
6 //  The base class is empty                              //
7 //                                                       //
8 ///////////////////////////////////////////////////////////
9
10 #include "AliGenerator.h"
11 #include "AliPDG.h"
12 #include "TF1.h"
13
14
15 class AliGenHIJINGpara : public AliGenerator
16 {
17  
18 protected:
19
20   TF1* fPtpi; // Parametrised pt distribution for pi
21   TF1* fPtka; // Parametrised pt distribution for ka
22   TF1* fETApic; // Parametrised eta distribution for pi
23   TF1* fETAkac; // Parametrised eta distribution fro ka
24
25 public:
26
27   AliGenHIJINGpara();
28   AliGenHIJINGpara(Int_t npart);
29   virtual ~AliGenHIJINGpara();
30   virtual void Generate();
31   virtual void Init();
32
33   ClassDef(AliGenHIJINGpara,1) // Hijing parametrisation generator
34 };
35
36 class AliGenFixed : public AliGenerator
37 {
38  
39 protected:
40
41   Int_t fIpart; // Particle type
42
43 public:
44
45   AliGenFixed();
46   AliGenFixed(Int_t npart);
47   virtual ~AliGenFixed() {}
48   virtual void Generate();
49   virtual void Init() {}
50   virtual void SetSigma(Float_t, Float_t, Float_t);
51   //
52   virtual void SetMomentum(Float_t pmom) {fPMin=pmom; fPMax=pmom;}
53   virtual void SetPhi(Float_t phi) {fPhiMin=phi*TMath::Pi()/180; fPhiMax=phi*TMath::Pi()/180;}
54   virtual void SetTheta(Float_t theta) {fThetaMin=theta*TMath::Pi()/180; fThetaMax=theta*TMath::Pi()/180;}
55   virtual void SetPart(Int_t part) {fIpart=part;}
56
57   ClassDef(AliGenFixed,1) // Single particle generator
58 };
59
60
61 class AliGenBox : public AliGenerator
62 {
63  
64 protected:
65
66   Int_t fIpart; // Particle type
67
68 public:
69
70   AliGenBox();
71   AliGenBox(Int_t npart);
72   virtual ~AliGenBox() {}
73   virtual void Generate();
74   virtual void Init() {}
75   virtual void SetPart(Int_t part) {fIpart=part;}
76
77   ClassDef(AliGenBox,1) // Square box random generator
78 };
79
80 #endif