]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliGenRICHlib.h
Paramterisation of CDF J/Psi data used. (G. Martinez)
[u/mrichter/AliRoot.git] / EVGEN / AliGenRICHlib.h
1 #ifndef ALIGENRICHLIB_H
2 #define ALIGENRICHLIB_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 // Library class for particle pt and y distributions used for 
10 // HMPIDsimulations.
11 // To be used with AliGenParam.
12 //
13 // Author: Annalisa Mastroserio <Annalisa.Mastroserio@ba.infn.it>
14
15 #include "AliGenLib.h"
16 #include <TPDGCode.h>
17 class TRandom;
18
19 class AliGenRICHlib :public AliGenLib {
20
21  public:
22    enum EPartId {kPhi=333};
23
24
25 //Pi+
26   static Int_t IpPiPlus(TRandom *ran);
27   static Double_t PtPiPlusFlat(Double_t *px, Double_t *dummy);
28   static Double_t PtPiPlusExp (Double_t *px, Double_t *dummy);
29   static Double_t YPiPlusFlat (Double_t *py, Double_t *dummy);
30
31 //Pi-
32   static Int_t IpPiMinus(TRandom *ran);
33   static Double_t PtPiMinusFlat(Double_t *px, Double_t *dummy);
34   static Double_t PtPiMinusExp (Double_t *px, Double_t *dummy);
35   static Double_t YPiMinusFlat (Double_t *py, Double_t *dummy);
36
37 //K+
38   static Int_t IpKPlus(TRandom *ran);
39   static Double_t PtKPlusFlat(Double_t *px, Double_t *dummy);
40   static Double_t PtKPlusExp (Double_t *px, Double_t *dummy);
41   static Double_t YKPlusFlat (Double_t *py, Double_t *dummy);
42
43 //K-
44   static Int_t IpKMinus(TRandom *ran);
45   static Double_t PtKMinusFlat(Double_t *px, Double_t *dummy);
46   static Double_t PtKMinusExp (Double_t *px, Double_t *dummy);
47   static Double_t YKMinusFlat (Double_t *py, Double_t *dummy);
48
49 // K0_s
50   static Int_t IpK0s(TRandom *ran);
51   static Double_t PtK0sFlat(Double_t *px, Double_t *dummy);
52   static Double_t PtK0sExp (Double_t *px, Double_t *dummy);
53   static Double_t YK0sFlat (Double_t *py, Double_t *dummy);
54
55 // Phi(1020)
56   static Int_t IpPhi(TRandom *ran);
57   static Double_t PtPhiFlat(Double_t *px, Double_t *dummy);
58   static Double_t PtPhiExp (Double_t *px, Double_t *dummy);
59   static Double_t YPhiFlat (Double_t *py, Double_t *dummy);
60
61 //Proton
62   static Int_t IpProton(TRandom *ran);
63   static Double_t PtProtonFlat(Double_t *px, Double_t *dummy);
64   static Double_t PtProtonExp (Double_t *px, Double_t *dummy);
65   static Double_t YProtonFlat (Double_t *py, Double_t *dummy);
66
67 //ProtonBar
68   static Int_t IpProtonBar(TRandom *ran);
69   static Double_t PtProtonBarFlat(Double_t *px, Double_t *dummy);
70   static Double_t PtProtonBarExp (Double_t *px, Double_t *dummy);
71   static Double_t YProtonBarFlat (Double_t *py, Double_t *dummy);
72
73 // Lambda
74   static Int_t IpLambda(TRandom *ran);
75   static Double_t PtLambdaFlat(Double_t *px, Double_t *dummy);
76   static Double_t PtLambdaExp (Double_t *px, Double_t *dummy);
77   static Double_t YLambdaFlat (Double_t *py, Double_t *dummy);
78
79 // LambdaBar
80   static Int_t IpLambdaBar(TRandom *ran);
81   static Double_t PtLambdaBarFlat(Double_t *px, Double_t *dummy);
82   static Double_t PtLambdaBarExp (Double_t *px, Double_t *dummy);
83   static Double_t YLambdaBarFlat (Double_t *py, Double_t *dummy);
84
85
86   typedef Double_t (*GenFunc)  (Double_t *, Double_t *);
87   typedef Int_t    (*GenFuncIp)(TRandom *ran);
88
89   //Getters
90     
91   GenFunc   GetPt(Int_t iPID, const char * sForm=0) const;
92   GenFunc   GetY (Int_t iPID, const char * sForm=0) const;
93   GenFuncIp GetIp(Int_t iPID, const char * sForm=0) const;    
94
95   ClassDef(AliGenRICHlib,0)
96 };
97
98 #endif
99
100
101
102
103
104
105