31 #ifndef ROOT_TRandomom2
35 #ifndef ROOT_TRandomom3
43 Random *Random::fgRandom = NULL;
47 TRandom *r; fROOT = NULL;
50 fList =
new TList(); fList->SetOwner(kTRUE);
52 r =
new TRandom(); r->SetName(
"basic"); fList->Add(r);
53 r =
new TRandom(0); r->SetName(
"basic_clock"); fList->Add(r);
54 r =
new TRandom2(); r->SetName(
"medium"); fList->Add(r);
55 r =
new TRandom(0); r->SetName(
"medium_clock"); fList->Add(r);
56 r =
new TRandom3(); r->SetName(
"large"); fList->Add(r);
57 r =
new TRandom3(0); r->SetName(
"large_clock"); fList->Add(r);
66 delete fList; gRandom = fROOT;
71 if ( fgRandom == NULL ) fgRandom =
new Random();
79 if ( (r = fList->FindObject(name)) ) {
80 fCurrent =
dynamic_cast<TRandom *
>(r);
83 if ( fROOT == NULL ) fROOT = gRandom; gRandom = fCurrent;
89 if ( fList->FindObject(name) == NULL && r != NULL ) { r->SetName(name); fList->Add(r); }
void Add(const char *, TRandom *)
Add a new TRandomom object to the list.
To change the internal GammaWare random generator.
static Random * Instance()
to access the unique instance
void SetCurrent(const char *name="basic")
to set the current TRandomom object