Better control of momentum range in GenBox
[u/mrichter/AliRoot.git] / EVGEN / AliSimpleGen.h
1 #ifndef ALISIMPLEGEN_H
2 #define ALISIMPLEGEN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////
9 //                                                       //
10 //  Class to generate the particles for the MC           //
11 //  The base class is empty                              //
12 //                                                       //
13 ///////////////////////////////////////////////////////////
14
15 #include "AliGenerator.h"
16 class TF1;
17
18
19
20 class AliGenHIJINGpara : public AliGenerator
21 {
22  public:
23
24   AliGenHIJINGpara();
25   AliGenHIJINGpara(Int_t npart);
26   virtual ~AliGenHIJINGpara();
27   virtual void Generate();
28   virtual void Init();
29
30  protected:
31
32   TF1* fPtpi; // Parametrised pt distribution for pi
33   TF1* fPtka; // Parametrised pt distribution for ka
34   TF1* fETApic; // Parametrised eta distribution for pi
35   TF1* fETAkac; // Parametrised eta distribution fro ka
36
37   ClassDef(AliGenHIJINGpara,1) // Hijing parametrisation generator
38 };
39
40 class AliGenFixed : public AliGenerator
41 {
42  public:
43   AliGenFixed();
44   AliGenFixed(Int_t npart);
45   virtual ~AliGenFixed() {}
46   virtual void Generate();
47   virtual void Init() {}
48   virtual void SetSigma(Float_t sx, Float_t sy, Float_t sz);
49   virtual void SetMomentum(Float_t pmom) {fPMin=pmom; fPMax=pmom;}
50   virtual void SetPhi(Float_t phi) {fPhiMin=phi*TMath::Pi()/180; fPhiMax=phi*TMath::Pi()/180;}
51   virtual void SetTheta(Float_t theta) {fThetaMin=theta*TMath::Pi()/180; fThetaMax=theta*TMath::Pi()/180;}
52   virtual void SetPart(Int_t part) {fIpart=part;}
53  
54 protected:
55
56   Int_t fIpart; // Particle type
57
58   ClassDef(AliGenFixed,1) // Single particle generator
59 };
60
61
62 class AliGenBox : public AliGenerator
63 {
64  public:
65
66   AliGenBox();
67   AliGenBox(Int_t npart);
68   virtual ~AliGenBox() {}
69   virtual void Generate();
70   virtual void Init();
71   virtual void SetPart(Int_t part) {fIpart=part;}
72 protected:
73
74   Int_t fIpart; // Particle type
75
76   ClassDef(AliGenBox,1) // Square box random generator
77 };
78
79 #endif