]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliGenITSULib.h
Update PR task: drathee
[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,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   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;}
44
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;}
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   ClassDef(AliGenITSULib,1)
55     };
56
57 #endif
58
59
60
61
62
63
64