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 */
6 // Library class for particle pt and y distributions used for
7 // LambdaB simulations.
8 // To be used with AliGenParam.
10 // Author: Annalisa Mastroserio <Annalisa.Mastroserio@cern.ch>
12 #include "AliGenLib.h"
16 class AliGenITSULib :public AliGenLib {
20 enum EPartId {kLb=5122,kLc=4122,kXi_c = 4232,kBplus = 521,kBzero = 511,kDs=431,kDplus=411};
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;
30 static Int_t IpLcPlus(TRandom * /*ran*/) {return (int)kLc;}
31 static Int_t IpLcMinus(TRandom * /*ran*/) {return -(int)kLc;}
32 static Int_t IpLb(TRandom * /*ran*/) {return (int)kLb;}
33 static Int_t IpLbBar(TRandom * /*ran*/) {return -(int)kLb;}
34 static Int_t IpXic(TRandom * /*ran*/) {return (int)kXi_c;}
35 static Int_t IpXicBar(TRandom * /*ran*/) {return -(int)kXi_c;}
36 static Int_t IpBPlus(TRandom * /*ran*/) {return (int)kBplus;}
37 static Int_t IpBMinus(TRandom * /*ran*/) {return -(int)kBplus;}
38 static Int_t IpB0(TRandom * /*ran*/) {return (int)kBzero;}
39 static Int_t IpB0Bar(TRandom * /*ran*/) {return -(int)kBzero;}
40 static Int_t IpDsPlus(TRandom * /*ran*/) {return (int)kDs;}
41 static Int_t IpDsMinus(TRandom * /*ran*/) {return -(int)kDs;}
42 static Int_t IpDPlus(TRandom * /*ran*/) {return (int)kDplus;}
43 static Int_t IpDMinus(TRandom * /*ran*/) {return -(int)kDplus;}
45 static Double_t PtFlat(const Double_t * /*px*/, const Double_t * /*dummy*/) {return 1;}
46 static Double_t YFlat (const Double_t * /*py*/, const Double_t * /*dummy*/) {return 1;}
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);
54 ClassDef(AliGenITSULib,1)