ROOT logo
#ifndef ALIGENITSULIB_H
#define ALIGENITSULIB_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

// Library class for particle pt and y distributions used for 
// LambdaB simulations.
// To be used with AliGenParam.
//
// Author: Annalisa Mastroserio <Annalisa.Mastroserio@cern.ch>

#include "AliGenLib.h"

class TRandom;

class AliGenITSULib :public AliGenLib {

 public:

  enum EPartId {kLb=5122,kLc=4122,kXi_c = 4232,kBplus = 521,kBzero = 511,kDs=431,kDplus=411};

  //Getters
    
  GenFunc   GetPt(Int_t iPID, const char * sForm=0) const;
  GenFunc   GetY (Int_t iPID, const char * sForm=0) const;
  GenFuncIp GetIp(Int_t iPID, const char * sForm=0) const;    

 private:

  static Int_t IpLcPlus(TRandom * /*ran*/)  {return     (int)kLc;}
  static Int_t IpLcMinus(TRandom * /*ran*/) {return    -(int)kLc;}
  static Int_t IpLb(TRandom * /*ran*/)      {return     (int)kLb;}
  static Int_t IpLbBar(TRandom * /*ran*/)   {return    -(int)kLb;}
  static Int_t IpXic(TRandom * /*ran*/)     {return   (int)kXi_c;}
  static Int_t IpXicBar(TRandom * /*ran*/)  {return  -(int)kXi_c;}
  static Int_t IpBPlus(TRandom * /*ran*/)   {return      (int)kBplus;}
  static Int_t IpBMinus(TRandom * /*ran*/)  {return     -(int)kBplus;}
  static Int_t IpB0(TRandom * /*ran*/)  {return         (int)kBzero;}
  static Int_t IpB0Bar(TRandom * /*ran*/)  {return         -(int)kBzero;}
  static Int_t IpDsPlus(TRandom * /*ran*/)  {return     (int)kDs;}
  static Int_t IpDsMinus(TRandom * /*ran*/) {return    -(int)kDs;}
  static Int_t IpDPlus(TRandom * /*ran*/)   {return  (int)kDplus;}
  static Int_t IpDMinus(TRandom * /*ran*/)  {return -(int)kDplus;}

  static Double_t PtFlat(const Double_t * /*px*/, const Double_t * /*dummy*/) {return 1;}
  static Double_t YFlat (const Double_t * /*py*/, const Double_t * /*dummy*/) {return 1;}

  static Double_t PtLbDist (const Double_t *px, const Double_t *dummy);
  static Double_t PtLcDist (const Double_t *px, const Double_t *dummy);
  static Double_t PtBDist  (const Double_t *px, const Double_t *dummy);



  ClassDef(AliGenITSULib,1)
    };

#endif







 AliGenITSULib.h:1
 AliGenITSULib.h:2
 AliGenITSULib.h:3
 AliGenITSULib.h:4
 AliGenITSULib.h:5
 AliGenITSULib.h:6
 AliGenITSULib.h:7
 AliGenITSULib.h:8
 AliGenITSULib.h:9
 AliGenITSULib.h:10
 AliGenITSULib.h:11
 AliGenITSULib.h:12
 AliGenITSULib.h:13
 AliGenITSULib.h:14
 AliGenITSULib.h:15
 AliGenITSULib.h:16
 AliGenITSULib.h:17
 AliGenITSULib.h:18
 AliGenITSULib.h:19
 AliGenITSULib.h:20
 AliGenITSULib.h:21
 AliGenITSULib.h:22
 AliGenITSULib.h:23
 AliGenITSULib.h:24
 AliGenITSULib.h:25
 AliGenITSULib.h:26
 AliGenITSULib.h:27
 AliGenITSULib.h:28
 AliGenITSULib.h:29
 AliGenITSULib.h:30
 AliGenITSULib.h:31
 AliGenITSULib.h:32
 AliGenITSULib.h:33
 AliGenITSULib.h:34
 AliGenITSULib.h:35
 AliGenITSULib.h:36
 AliGenITSULib.h:37
 AliGenITSULib.h:38
 AliGenITSULib.h:39
 AliGenITSULib.h:40
 AliGenITSULib.h:41
 AliGenITSULib.h:42
 AliGenITSULib.h:43
 AliGenITSULib.h:44
 AliGenITSULib.h:45
 AliGenITSULib.h:46
 AliGenITSULib.h:47
 AliGenITSULib.h:48
 AliGenITSULib.h:49
 AliGenITSULib.h:50
 AliGenITSULib.h:51
 AliGenITSULib.h:52
 AliGenITSULib.h:53
 AliGenITSULib.h:54
 AliGenITSULib.h:55
 AliGenITSULib.h:56
 AliGenITSULib.h:57
 AliGenITSULib.h:58
 AliGenITSULib.h:59
 AliGenITSULib.h:60
 AliGenITSULib.h:61
 AliGenITSULib.h:62
 AliGenITSULib.h:63
 AliGenITSULib.h:64