MINT2
EvtTRandom.cpp
Go to the documentation of this file.
1 // Include files
2 
3 // local
4 #include "Mint/EvtTRandom.h"
5 
6 //-----------------------------------------------------------------------------
7 // Implementation file for class : EvtTRandom
8 //
9 // 2013-09-20 : Philip Hunt (LHCB)
10 //-----------------------------------------------------------------------------
11 
12 //=============================================================================
13 // Standard constructor, initializes variables
14 //=============================================================================
16 {
17  SetName("EvtRandom");
18  SetTitle("Random number generator: EvtRandom");
19 }
20 
21 
22 Double_t MINT::EvtTRandom::Rndm(Int_t i)
23 {
24  if (m_rnd==NULL) {
25  Error("MINT::EvtTRandom::Rndm",
26  "EvtRandom engine not set. Returning 'kBigNumber'.");
27  return kBigNumber;
28  }
29  return m_rnd->Rndm(i);
30 }
31 
32 void MINT::EvtTRandom::RndmArray(Int_t n, Float_t *array)
33 {
34  // Return an array of n random numbers uniformly distributed in ]0,1]
35 
36  for(Int_t i=0; i<n; i++) array[i]=(Float_t)this->Rndm();
37 }
38 
39 void MINT::EvtTRandom::RndmArray(Int_t n, Double_t *array)
40 {
41  // Return an array of n random numbers uniformly distributed in ]0,1]
42 
43  for(Int_t i=0; i<n; i++) array[i]=this->Rndm();
44 }
45 
46 void MINT::EvtTRandom::SetSeed(UInt_t seed)
47 {
48  if (m_rnd==NULL) {
49  Error("MINT::EvtTRandom::SetSeed",
50  "EvtRandom engine not set.");
51  return;
52  }
53  m_rnd->SetSeed(seed);
54 }
55 
57 {
58  if (m_rnd==NULL) {
59  Error("MINT::EvtTRandom::GetSeed",
60  "EvtRandom engine not set. Returning zero.");
61  return 0;
62  }
63  return m_rnd->GetSeed();
64 }
65 
66 //=============================================================================
67 // Destructor
68 //=============================================================================
70 {
71  if (m_rnd!=NULL) {
72  delete m_rnd;
73  m_rnd=NULL;
74  }
75 }
76 
77 //=============================================================================
virtual UInt_t GetSeed() const
Definition: EvtTRandom.cpp:56
virtual void RndmArray(Int_t n, Float_t *array)
Definition: EvtTRandom.cpp:32
virtual void SetSeed(UInt_t seed=0)
Definition: EvtTRandom.cpp:46
virtual Double_t Rndm(Int_t i=0)
Definition: EvtTRandom.cpp:22
EvtTRandom(MINT::IEvtRandom *rnd=NULL)
Definition: EvtTRandom.cpp:15
virtual ~EvtTRandom()
Destructor.
Definition: EvtTRandom.cpp:69