Changes related to the initialization of random numbers generators. Now one can use...
[u/mrichter/AliRoot.git] / PYTHIA6 / AliPythia.cxx
index f474760..a380e9c 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.1  2003/03/15 15:00:48  morsch
-Classed imported from EVGEN.
-
-Revision 1.28  2002/12/09 08:22:56  morsch
-UA1 jet finder (Pycell) for software triggering added.
-
-Revision 1.27  2002/11/15 00:39:37  morsch
-- Correct initialisation of sRandom.
-- QCD Jets with initial and final state gluon radiation is default
-- pt kick for jets default
-- Interface to Pyclus added.
-
-Revision 1.26  2002/11/14 00:37:32  morsch
-Warning message for kPyJets added.
-
-Revision 1.25  2002/10/14 14:55:35  hristov
-Merging the VirtualMC branch to the main development branch (HEAD)
-
-Revision 1.20.6.1  2002/06/10 14:57:41  hristov
-Merged with v3-08-02
-
-Revision 1.24  2002/05/22 13:22:53  morsch
-Process kPyMbNonDiffr added.
-
-Revision 1.23  2002/05/06 07:17:29  morsch
-Pyr gives random number r in interval 0 < r < 1.
-
-Revision 1.22  2002/04/26 10:28:48  morsch
-Option kPyBeautyPbMNR added (N. Carrer).
-
-Revision 1.21  2002/03/25 14:46:16  morsch
-Case  kPyD0PbMNR added (N. Carrer).
-
-Revision 1.20  2002/03/03 13:48:50  morsch
-Option  kPyCharmPbMNR added. Produce charm pairs in agreement with MNR
-NLO calculations (Nicola Carrer).
-
-Revision 1.19  2002/02/20 08:52:20  morsch
-Correct documentation of SetNuclei method.
-
-Revision 1.18  2002/02/07 10:43:06  morsch
-Tuned pp-min.bias settings (M.Monteno, R.Ugoccioni and N.Carrer)
-
-Revision 1.17  2001/12/19 15:40:43  morsch
-For kPyJets enforce simple jet topology, i.e no initial or final state
-gluon radiation and no primordial pT.
-
-Revision 1.16  2001/10/12 11:13:59  morsch
-Missing break statements added (thanks to Nicola Carrer)
-
-Revision 1.15  2001/03/27 10:54:50  morsch
-Add ResetDecayTable() and SsetDecayTable() methods.
-
-Revision 1.14  2001/03/09 13:03:40  morsch
-Process_t and Struc_Func_t moved to AliPythia.h
-
-Revision 1.13  2000/12/18 08:55:35  morsch
-Make AliPythia dependent generartors work with new scheme of random number generation
-
-Revision 1.12  2000/11/30 07:12:50  alibrary
-Introducing new Rndm and QA classes
-
-Revision 1.11  2000/10/20 06:30:06  fca
-Use version 0 to avoid streamer generation
-
-Revision 1.10  2000/10/06 14:18:44  morsch
-Upper cut of prim. pT distribution set to 5. GeV
-
-Revision 1.9  2000/09/18 10:41:35  morsch
-Add possibility to use nuclear structure functions from PDF library V8.
-
-Revision 1.8  2000/09/06 14:26:24  morsch
-Decayer functionality of AliPythia has been moved to AliDecayerPythia.
-Class is now a singleton.
-
-Revision 1.7  2000/06/09 20:34:50  morsch
-All coding rule violations except RS3 corrected
-
-Revision 1.6  1999/11/09 07:38:48  fca
-Changes for compatibility with version 2.23 of ROOT
-
-Revision 1.5  1999/11/03 17:43:20  fca
-New version from G.Martinez & A.Morsch
-
-Revision 1.4  1999/09/29 09:24:14  fca
-Introduction of the Copyright and cvs Log
-
-*/
-
+/* $Id$ */
 
 #include "AliPythia.h"
+#include "AliPythiaRndm.h"
 
 ClassImp(AliPythia)
 
@@ -131,14 +42,16 @@ AliPythia::AliPythia()
 // Default Constructor
 //
 //  Set random number
-    if (!sRandom) sRandom=fRandom;
+    if (!AliPythiaRndm::GetPythiaRandom()) 
+      AliPythiaRndm::SetPythiaRandom(GetRandom());
 
 }
 
 void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfunc)
 {
 // Initialise the process to generate 
-    if (!sRandom) sRandom = gRandom;
+    if (!AliPythiaRndm::GetPythiaRandom()) 
+      AliPythiaRndm::SetPythiaRandom(GetRandom());
     
     fProcess = process;
     fEcms = energy;
@@ -588,32 +501,3 @@ void  AliPythia::Pycell(Int_t& njet)
 
 
 
-#ifndef WIN32
-#define pyr    pyr_
-#define pyrset pyrset_
-#define pyrget pyrget_
-#define pyclus pyclus_
-#define pycell pycell_
-#else
-#define pyr    PYR
-#define pyrset PYRSET
-#define pyrget PYRGET
-#define pyclus PYCLUS
-#define pycell PYCELL
-#endif
-
-extern "C" {
-  Double_t pyr(Int_t*) 
-{
-      Float_t r;
-      do r=sRandom->Rndm(); while(0 >= r || r >= 1);
-      return r;
-}
-  void pyrset(Int_t*,Int_t*) {}
-  void pyrget(Int_t*,Int_t*) {}
-}
-
-
-
-
-