]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIGENPHOSLIB_H | |
2 | #define ALIGENPHOSLIB_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 | /* $Id$ */ | |
8 | ||
9 | //====================================================================== | |
10 | // AliGenPHOSlib class contains parameterizations of the | |
11 | // pion, kaon, eta, omega, etaprime, phi and baryon (proton, | |
12 | // antiproton, neutron and anti-neutron) particles for the | |
13 | // study of the neutral background in PHOS detector. | |
14 | // Additional particle species simulation options has been added: | |
15 | // Charged Pion, Charged Kaons, KLong Proton, Anti-Proton, Neutron, | |
16 | // Anti-Neutron --> Changes made by Gustavo Conesa in November 2004 | |
17 | //====================================================================== | |
18 | ||
19 | class TRandom; | |
20 | ||
21 | class AliGenPHOSlib : | |
22 | public AliGenLib | |
23 | { | |
24 | public: | |
25 | enum constants{kPion, kChargedPion, kPi0Flat, kKaon, kChargedKaon, kKaon0L, | |
26 | kEta, kEtaFlat,kOmega, kOmegaFlat, kEtaPrime, kPhi, | |
27 | kBaryon, kProton, kAProton, kNeutron, kANeutron}; | |
28 | GenFunc GetPt(Int_t param, const char* tname=0) const; | |
29 | GenFunc GetY (Int_t param, const char* tname=0) const; | |
30 | GenFuncIp GetIp(Int_t param, const char* tname=0) const; | |
31 | private: | |
32 | // pions | |
33 | static Double_t PtPion(const Double_t *px, const Double_t *dummy); | |
34 | static Double_t PtScal(Double_t pt, Int_t np); | |
35 | static Double_t YPion( const Double_t *py, const Double_t *dummy); | |
36 | static Int_t IpPion(TRandom* ran); | |
37 | static Int_t IpChargedPion(TRandom* ran); | |
38 | ||
39 | // pi0 Flat Distribution | |
40 | static Double_t PtPi0Flat(const Double_t *px, const Double_t *dummy); | |
41 | static Double_t YPi0Flat( const Double_t *py, const Double_t *dummy); | |
42 | static Int_t IpPi0Flat(TRandom* ran); | |
43 | ||
44 | // kaons | |
45 | static Double_t PtKaon(const Double_t *px, const Double_t *dummy); | |
46 | static Double_t YKaon( const Double_t *py, const Double_t *dummy); | |
47 | static Int_t IpKaon(TRandom* ran); | |
48 | static Int_t IpChargedKaon(TRandom* ran); | |
49 | static Int_t IpKaon0L(TRandom* ran); | |
50 | // etas | |
51 | static Double_t PtEta(const Double_t *px, const Double_t *dummy); | |
52 | static Double_t YEta( const Double_t *py, const Double_t *dummy); | |
53 | static Int_t IpEta(TRandom *ran); | |
54 | ||
55 | // etas Flat Distribution | |
56 | static Double_t PtEtaFlat(const Double_t *px, const Double_t *dummy); | |
57 | static Double_t YEtaFlat( const Double_t *py, const Double_t *dummy); | |
58 | static Int_t IpEtaFlat(TRandom *ran); | |
59 | ||
60 | // omegas | |
61 | static Double_t PtOmega(const Double_t *px, const Double_t *dummy); | |
62 | static Double_t YOmega( const Double_t *py, const Double_t *dummy); | |
63 | static Int_t IpOmega(TRandom *ran); | |
64 | ||
65 | // omegas Flat Distribution | |
66 | static Double_t PtOmegaFlat(const Double_t *px, const Double_t *dummy); | |
67 | static Double_t YOmegaFlat( const Double_t *py, const Double_t *dummy); | |
68 | static Int_t IpOmegaFlat(TRandom *ran); | |
69 | ||
70 | // etaprime | |
71 | static Double_t PtEtaprime(const Double_t *px, const Double_t *dummy); | |
72 | static Double_t YEtaprime( const Double_t *py, const Double_t *dummy); | |
73 | static Int_t IpEtaprime(TRandom* ran); | |
74 | ||
75 | // phis | |
76 | static Double_t PtPhi(const Double_t *px, const Double_t *dummy); | |
77 | static Double_t YPhi( const Double_t *py, const Double_t *dummy); | |
78 | static Int_t IpPhi(TRandom* ran); | |
79 | ||
80 | // baryons | |
81 | static Double_t PtBaryon(const Double_t *px, const Double_t *dummy); | |
82 | static Double_t YBaryon( const Double_t *py, const Double_t *dummy); | |
83 | static Int_t IpBaryon(TRandom *ran); | |
84 | static Int_t IpProton(TRandom *ran); | |
85 | static Int_t IpAProton(TRandom *ran); | |
86 | static Int_t IpNeutron(TRandom *ran); | |
87 | static Int_t IpANeutron(TRandom *ran); | |
88 | ||
89 | ClassDef(AliGenPHOSlib,0) // Library providing y and pT parameterisations | |
90 | }; | |
91 | #endif | |
92 | ||
93 | ||
94 | ||
95 | ||
96 | ||
97 | ||
98 |