//-----------------------------------------------------------------------------
// 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
+// Responsibilities: Interface to Root random number generator
+// from Fortran (re-implements FINCTION dt_rndm_dpmjet)
+// Very similar to AliHijingRndm
+// Note: Since AliGenDpmJet belongs to another module (TDPMjet) one cannot
+// pass the ponter to the generator via static variable
+// Collaborators: AliGenDPMjet class
//-----------------------------------------------------------------------------
-#include <TError.h>
+#include <TRandom.h>
#include "AliDpmJetRndm.h"
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) {
# define dt_rndmst_dpmjet dt_rndmst_dpmjet_
# define dt_rndmin_dpmjet dt_rndmin_dpmjet_
# define dt_rndmou_dpmjet dt_rndmou_dpmjet_
+# define rninit_dpmjet rninit_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 rninit_dpmjet RNINIT_DPMJET
# define type_of_call _stdcall
#endif
extern "C" {
- void type_of_call dt_rndmst_dpmjet(Int_t &, Int_t &, Int_t &, Int_t &)
+ void type_of_call dt_rndmst_(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 &)
+ void type_of_call dt_rndmin_(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 &)
+ void type_of_call dt_rndmou_(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 &)
+ void type_of_call dt_rndmte_(Int_t &, Int_t &, Int_t &, Int_t &, Int_t &, Int_t &)
+ {printf("Dummy version of dt_rndmou reached\n");}
+
+ void type_of_call rninit_(Int_t &, Int_t &, Int_t &, Int_t &)
+ {printf("Dummy version of rninit reached\n");}
+
+ Double_t type_of_call dt_rndm_(Int_t &)
{
+ // Wrapper to static method which retrieves the
+ // pointer to the Root (C++) generator
Float_t r;
do r = AliDpmJetRndm::GetDpmJetRandom()->Rndm();
while(0 >= r || r >= 1);