DOS to Unix
[u/mrichter/AliRoot.git] / EVGEN / AliGenRICHlib.h
CommitLineData
d1590034 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
d1590034 6
926ecde4 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>
d1590034 17class TRandom;
18
19class AliGenRICHlib :public AliGenLib {
20
21 public:
22 enum EPartId {kPhi=333};
23
926ecde4 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
d1590034 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
926ecde4 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
d1590034 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
d1590034 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