]> git.uio.no Git - u/mrichter/AliRoot.git/blob - DIME/AliDimeRndm.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / DIME / AliDimeRndm.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 //-----------------------------------------------------------------------------
19 //   Class: AliDimeRndm
20 //   Responsibilities: Interface to Root random number generator 
21 //                     from Fortran (re-implements FINCTION RLU_HIJING 
22 //                     from HIJING)
23 //   Note: Since AliGenDime belongs to another module (TDime) one cannot
24 //         pass the ponter to the generator via static variable
25 //   Collaborators: AliGenDime class
26 //   Example:
27 //
28 //   root> AliGenDime *gener = new AliGenDime(-1);
29 //   root> AliDimeRndm::SetDimeRandom(new TRandom3());
30 //   root> AliDimeRndm::GetDimeRandom()->SetSeed(0);
31 //   root> cout<<"Seed "<< AliDimeRndm::GetDimeRandom()->GetSeed() <<endl;
32 //-----------------------------------------------------------------------------
33
34 #include <TRandom.h>
35
36 #include "AliDimeRndm.h"
37
38 TRandom * AliDimeRndm::fgDimeRandom=0;
39
40 ClassImp(AliDimeRndm)
41
42 //_______________________________________________________________________
43 void AliDimeRndm::SetDimeRandom(TRandom *ran) {
44   //
45   // Sets the pointer to an existing random numbers generator
46   //
47   if(ran) fgDimeRandom=ran;
48   else fgDimeRandom=gRandom;
49 }
50
51 //_______________________________________________________________________
52 TRandom * AliDimeRndm::GetDimeRandom() {
53   //
54   // Retrieves the pointer to the random numbers generator
55   //
56   return fgDimeRandom;
57 }
58
59 //_______________________________________________________________________
60 //# define rluget_hijing rluget_hijing_
61 //# define rluset_hijing rluset_hijing_
62 //# define rlu_hijing    rlu_hijing_
63
64 extern "C" {
65   
66   //  void rluget_hijing(Int_t & /*lfn*/, Int_t & /*move*/)
67   //{printf("Dummy version of rluget_hijing reached\n");}
68
69   //void rluset_hijing(Int_t & /*lfn*/, Int_t & /*move*/)
70   //{printf("Dummy version of rluset_hijing reached\n");}
71
72   //Float_t rlu_hijing(Int_t & /*idum*/) 
73   // {
74   // Wrapper to FINCTION RLU_HIJING from HIJING
75     // Uses static method to retrieve the pointer to the (C++) generator
76   //    Double_t r;
77   //    do r=AliDimeRndm::GetDimeRandom()->Rndm(); 
78   //    while(0 >= r || r >= 1);
79   //    return (Float_t)r;
80   // }
81 }