PWGJE
[u/mrichter/AliRoot.git] / EVGEN / AliGenSTRANGElib.h
1 #ifndef ALIGENSTRANGELIB_H
2 #define ALIGENSTRANGELIB_H
3 #include "AliGenLib.h"
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7
8 /* $Id$ */
9
10 //======================================================================
11 //  AliGenSTRANGElib class contains parameterizations of the
12 //  kaon, phi and hyperon (Lambda, Anti-Lambda, Xi, anti-Xi, Omega,
13 //  anti-Omega)  for the PPR study of the strange particle production. 
14 //
15 //  Rocco CALIANDRO. Rosa Anna FINI, Tiziano VIRGILI
16 //======================================================================
17
18 class TRandom;
19
20 class AliGenSTRANGElib :
21 public AliGenLib
22 {
23  public:
24     enum constants{kKaon, kPhi, kLambda, kLambda1520=3124, kOmegaMinus = 3334, kXiMinus = 3312};
25     GenFunc   GetPt(Int_t param, const char* tname=0) const;
26     GenFunc   GetY (Int_t param, const char* tname=0) const;
27     GenFuncIp GetIp(Int_t param, const char* tname=0) const;    
28  private:
29 // pions
30     static Double_t PtPion(const Double_t *px, const Double_t *dummy);
31     static Double_t PtScal(Double_t pt, Int_t np);
32 // kaons
33     static Double_t PtKaon(const Double_t *px, const Double_t *dummy);
34     static Double_t YKaon( const Double_t *py, const Double_t *dummy);
35     static Int_t    IpKaon(TRandom* ran);
36 // phis
37     static Double_t PtPhi(const Double_t *px, const Double_t *dummy);
38     static Double_t YPhi( const Double_t *py, const Double_t *dummy);
39     static Int_t    IpPhi(TRandom* ran);
40 // lambda
41     static Double_t PtLambda(const Double_t *px, const Double_t *dummy);
42     static Double_t YLambda( const Double_t *py, const Double_t *dummy);
43     static Int_t    IpLambda(TRandom *ran);
44 // Ximinus
45     static Double_t PtXiMinus(const Double_t *px, const Double_t *dummy);
46     static Double_t YXiMinus( const Double_t *py, const Double_t *dummy);
47     static Int_t    IpXiMinus(TRandom *ran);
48 // Omegaminus
49     static Double_t PtOmegaMinus(const Double_t *px, const Double_t *dummy);
50     static Double_t YOmegaMinus( const Double_t *py, const Double_t *dummy);
51     static Int_t    IpOmegaMinus(TRandom *ran);
52 // Lambda(1520)
53     static Double_t PtLambda1520(const Double_t *px, const Double_t *dummy);
54     static Double_t YLambda1520(const Double_t *py, const Double_t *dummy);
55     static Int_t    IpLambda1520(TRandom *ran);
56     
57     ClassDef(AliGenSTRANGElib,0) // Library providing y and pT parameterisations
58 };
59 #endif
60
61
62
63
64
65
66
67
68
69
70
71
72
73