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