--- /dev/null
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * *
+ * Author: The ALICE Off-line Project. *
+ * Contributors are mentioned in the code where appropriate. *
+ * *
+ * Permission to use, copy, modify and distribute this software and its *
+ * documentation strictly for non-commercial purposes is hereby granted *
+ * without fee, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission notice *
+ * appear in the supporting documentation. The authors make no claims *
+ * about the suitability of this software for any purpose. It is *
+ * provided "as is" without express or implied warranty. *
+ **************************************************************************/
+
+/* $Id$ */
+
+//-----------------------------------------------------------------------------
+// Class: AliDpmJetRndm
+// Random Number Interface to Fortran
+// Since AliGenDpmJet belongs to another module (TDPMjet) one cannot
+// pass the ponter to the generator via static variable
+//-----------------------------------------------------------------------------
+
+#include <TError.h>
+
+#include "AliDpmJetRndm.h"
+
+TRandom * AliDpmJetRndm::fgDpmJetRandom=0;
+
+ClassImp(AliDpmJetRndm)
+
+//_______________________________________________________________________
+AliDpmJetRndm::AliDpmJetRndm()
+{
+ //
+ // Default ctor
+ //
+}
+
+//_______________________________________________________________________
+AliDpmJetRndm::AliDpmJetRndm(const AliDpmJetRndm& rn)
+{
+ //
+ // Copy constructor
+ //
+ rn.Copy(*this);
+}
+
+//_______________________________________________________________________
+AliDpmJetRndm::~AliDpmJetRndm() {
+ //
+ // Destructor
+ //
+ fgDpmJetRandom=0;
+}
+
+//_______________________________________________________________________
+void AliDpmJetRndm::Copy(AliDpmJetRndm&) const
+{
+ //
+ // No copy is allowed
+ //
+ ::Fatal("Copy","Not implemented\n");
+}
+
+//_______________________________________________________________________
+void AliDpmJetRndm::SetDpmJetRandom(TRandom *ran) {
+ //
+ // Sets the pointer to an existing random numbers generator
+ //
+ if(ran) fgDpmJetRandom=ran;
+ else fgDpmJetRandom=gRandom;
+}
+
+//_______________________________________________________________________
+TRandom * AliDpmJetRndm::GetDpmJetRandom() {
+ //
+ // Retrieves the pointer to the random numbers generator
+ //
+ return fgDpmJetRandom;
+}
+
+#ifndef WIN32
+# define dt_rndm_dpmjet dt_rndm_dpmjet_
+# define dt_rndmst_dpmjet dt_rndmst_dpmjet_
+# define dt_rndmin_dpmjet dt_rndmin_dpmjet_
+# define dt_rndmou_dpmjet dt_rndmou_dpmjet_
+# define type_of_call
+#else
+# define dt_rndm_dpmjet DT_RNDM_DPMJET_
+# define dt_rndmst_dpmjet DT_RNDMST_DPMJET
+# define dt_rndmin_dpmjet DT_RNDMIN_DPMJET
+# define dt_rndmou_dpmjet DT_RNDMOU_DPMJET
+# define type_of_call _stdcall
+#endif
+
+
+extern "C" {
+ void type_of_call dt_rndmst_dpmjet(Int_t &, Int_t &, Int_t &, Int_t &)
+ {printf("Dummy version of dt_rndmst reached\n");}
+
+ void type_of_call dt_rndmin_dpmjet(Int_t &, Int_t &, Int_t &, Int_t &, Int_t &, Int_t &)
+ {printf("Dummy version of dt_rndmin reached\n");}
+
+ void type_of_call dt_rndmou_dpmjet(Int_t &, Int_t &, Int_t &, Int_t &, Int_t &, Int_t &)
+ {printf("Dummy version of dt_rndmou reached\n");}
+
+ Double_t type_of_call dt_rndm_dpmjet(Int_t &)
+ {
+ Float_t r;
+ do r = AliDpmJetRndm::GetDpmJetRandom()->Rndm();
+ while(0 >= r || r >= 1);
+ return r;
+ }
+}
+
+
--- /dev/null
+#ifndef ALIDPMJETRNDM_H
+#define ALIDPMJETRNDM_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/* $Id$ */
+
+#include "TRandom.h"
+
+class AliDpmJetRndm {
+ public:
+ AliDpmJetRndm();
+ AliDpmJetRndm(const AliDpmJetRndm &rnd);
+ virtual ~AliDpmJetRndm();
+ AliDpmJetRndm & operator=(const AliDpmJetRndm& rn)
+ {rn.Copy(*this); return (*this);}
+
+ static void SetDpmJetRandom(TRandom *ran=0);
+ static TRandom * GetDpmJetRandom();
+
+private:
+ void Copy(AliDpmJetRndm &rn) const;
+
+ static TRandom * fgDpmJetRandom; //! pointer to the random number generator
+
+ ClassDef(AliDpmJetRndm,0) //Random Number generator wrapper (non persistent)
+};
+
+#endif
+