Line data Source code
1 : #ifndef ALIGENITSULIB_H
2 : #define ALIGENITSULIB_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : // Library class for particle pt and y distributions used for
7 : // LambdaB simulations.
8 : // To be used with AliGenParam.
9 : //
10 : // Author: Annalisa Mastroserio <Annalisa.Mastroserio@cern.ch>
11 :
12 : #include "AliGenLib.h"
13 :
14 : class TRandom;
15 :
16 0 : class AliGenITSULib :public AliGenLib {
17 :
18 : public:
19 :
20 : enum EPartId {kLb=5122,kLc=4122,kXi_c = 4232,kBplus = 521,kBzero = 511,kDs=431,kDplus=411};
21 :
22 : //Getters
23 :
24 : GenFunc GetPt(Int_t iPID, const char * sForm=0) const;
25 : GenFunc GetY (Int_t iPID, const char * sForm=0) const;
26 : GenFuncIp GetIp(Int_t iPID, const char * sForm=0) const;
27 :
28 : private:
29 :
30 0 : static Int_t IpLcPlus(TRandom * /*ran*/) {return (int)kLc;}
31 0 : static Int_t IpLcMinus(TRandom * /*ran*/) {return -(int)kLc;}
32 0 : static Int_t IpLb(TRandom * /*ran*/) {return (int)kLb;}
33 0 : static Int_t IpLbBar(TRandom * /*ran*/) {return -(int)kLb;}
34 0 : static Int_t IpXic(TRandom * /*ran*/) {return (int)kXi_c;}
35 0 : static Int_t IpXicBar(TRandom * /*ran*/) {return -(int)kXi_c;}
36 0 : static Int_t IpBPlus(TRandom * /*ran*/) {return (int)kBplus;}
37 0 : static Int_t IpBMinus(TRandom * /*ran*/) {return -(int)kBplus;}
38 0 : static Int_t IpB0(TRandom * /*ran*/) {return (int)kBzero;}
39 0 : static Int_t IpB0Bar(TRandom * /*ran*/) {return -(int)kBzero;}
40 0 : static Int_t IpDsPlus(TRandom * /*ran*/) {return (int)kDs;}
41 0 : static Int_t IpDsMinus(TRandom * /*ran*/) {return -(int)kDs;}
42 0 : static Int_t IpDPlus(TRandom * /*ran*/) {return (int)kDplus;}
43 0 : static Int_t IpDMinus(TRandom * /*ran*/) {return -(int)kDplus;}
44 :
45 0 : static Double_t PtFlat(const Double_t * /*px*/, const Double_t * /*dummy*/) {return 1;}
46 0 : static Double_t YFlat (const Double_t * /*py*/, const Double_t * /*dummy*/) {return 1;}
47 :
48 : static Double_t PtLbDist (const Double_t *px, const Double_t *dummy);
49 : static Double_t PtLcDist (const Double_t *px, const Double_t *dummy);
50 : static Double_t PtBDist (const Double_t *px, const Double_t *dummy);
51 :
52 :
53 :
54 6 : ClassDef(AliGenITSULib,1)
55 : };
56 :
57 : #endif
58 :
59 :
60 :
61 :
62 :
63 :
64 :
|