a87da053ba697ba259048b7eb5485fadbb62b969
[u/mrichter/AliRoot.git] / EVGEN / AliGenITSULib.h
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 class AliGenITSULib :public AliGenLib {
17
18  public:
19
20   enum EPartId {kLb=5122,kLc=4122,kXi_c = 4232, kB = 521};
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   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 IpBPlus(TRandom * /*ran*/)   {return    (int)kB;}
36   static Int_t IpBMinus(TRandom * /*ran*/)  {return   -(int)kB;}
37
38   static Double_t PtFlat(const Double_t * /*px*/, const Double_t * /*dummy*/) {return 1;}
39   static Double_t YFlat (const Double_t * /*py*/, const Double_t * /*dummy*/) {return 1;}
40
41   static Double_t PtLbDist (const Double_t *px, const Double_t *dummy);
42   static Double_t PtLcDist (const Double_t *px, const Double_t *dummy);
43   static Double_t PtBDist  (const Double_t *px, const Double_t *dummy);
44
45
46
47   ClassDef(AliGenITSULib,0)
48     };
49
50 #endif
51
52
53
54
55
56
57