]>
Commit | Line | Data |
---|---|---|
f87cfe57 | 1 | #ifndef ALIGENPHOSLIB_H |
2 | #define ALIGENPHOSLIB_H | |
b22ee262 | 3 | #include "AliGenLib.h" |
886b6f73 | 4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
ac3faee4 | 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. | |
35ead6c1 | 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 | |
ac3faee4 | 17 | //====================================================================== |
18 | ||
65fb704d | 19 | class TRandom; |
20 | ||
886b6f73 | 21 | class AliGenPHOSlib : |
b22ee262 | 22 | public AliGenLib |
886b6f73 | 23 | { |
24 | public: | |
35ead6c1 | 25 | enum constants{kPion, kChargedPion, kPi0Flat, kKaon, kChargedKaon, kKaon0L, |
26 | kEta, kEtaFlat,kOmega, kEtaPrime, kPhi, | |
27 | kBaryon, kProton, kAProton, kNeutron, kANeutron}; | |
fac5662b | 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: | |
886b6f73 | 32 | // pions |
75e0cc59 | 33 | static Double_t PtPion(const Double_t *px, const Double_t *dummy); |
886b6f73 | 34 | static Double_t PtScal(Double_t pt, Int_t np); |
75e0cc59 | 35 | static Double_t YPion( const Double_t *py, const Double_t *dummy); |
65fb704d | 36 | static Int_t IpPion(TRandom* ran); |
35ead6c1 | 37 | static Int_t IpChargedPion(TRandom* ran); |
38 | ||
74c62c73 | 39 | // pi0 Flat Distribution |
75e0cc59 | 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); | |
74c62c73 | 42 | static Int_t IpPi0Flat(TRandom* ran); |
43 | ||
886b6f73 | 44 | // kaons |
75e0cc59 | 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); | |
65fb704d | 47 | static Int_t IpKaon(TRandom* ran); |
35ead6c1 | 48 | static Int_t IpChargedKaon(TRandom* ran); |
49 | static Int_t IpKaon0L(TRandom* ran); | |
886b6f73 | 50 | // etas |
75e0cc59 | 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); | |
65fb704d | 53 | static Int_t IpEta(TRandom *ran); |
74c62c73 | 54 | |
55 | // etas Flat Distribution | |
75e0cc59 | 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); | |
74c62c73 | 58 | static Int_t IpEtaFlat(TRandom *ran); |
59 | ||
886b6f73 | 60 | // omegas |
75e0cc59 | 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); | |
65fb704d | 63 | static Int_t IpOmega(TRandom *ran); |
74c62c73 | 64 | |
886b6f73 | 65 | // etaprime |
75e0cc59 | 66 | static Double_t PtEtaprime(const Double_t *px, const Double_t *dummy); |
67 | static Double_t YEtaprime( const Double_t *py, const Double_t *dummy); | |
65fb704d | 68 | static Int_t IpEtaprime(TRandom* ran); |
74c62c73 | 69 | |
886b6f73 | 70 | // phis |
75e0cc59 | 71 | static Double_t PtPhi(const Double_t *px, const Double_t *dummy); |
72 | static Double_t YPhi( const Double_t *py, const Double_t *dummy); | |
65fb704d | 73 | static Int_t IpPhi(TRandom* ran); |
74c62c73 | 74 | |
886b6f73 | 75 | // baryons |
75e0cc59 | 76 | static Double_t PtBaryon(const Double_t *px, const Double_t *dummy); |
77 | static Double_t YBaryon( const Double_t *py, const Double_t *dummy); | |
65fb704d | 78 | static Int_t IpBaryon(TRandom *ran); |
35ead6c1 | 79 | static Int_t IpProton(TRandom *ran); |
80 | static Int_t IpAProton(TRandom *ran); | |
81 | static Int_t IpNeutron(TRandom *ran); | |
82 | static Int_t IpANeutron(TRandom *ran); | |
35ead6c1 | 83 | |
762c0d1d | 84 | ClassDef(AliGenPHOSlib,0) // Library providing y and pT parameterisations |
886b6f73 | 85 | }; |
86 | #endif | |
87 | ||
88 | ||
89 | ||
90 | ||
91 | ||
92 | ||
93 |