Import Geant4 11.0.0.beta source tree
This commit is contained in:
+39
@@ -0,0 +1,39 @@
|
||||
// Copyright (C) 2010, Guy Barrand. All rights reserved.
|
||||
// See the file tools.license for terms.
|
||||
|
||||
#ifndef tools_rtausmed
|
||||
#define tools_rtausmed
|
||||
|
||||
// G.Barrand : not so clear if 0 and 1 are included.
|
||||
// With a simple program, we saw no hits with "if(r.shoot()==0)" or "if(r.shoot()==1)".
|
||||
// (See inlib/tests/rand.cpp).
|
||||
|
||||
#include "rtausmeui"
|
||||
#include "S_STRING"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
namespace tools {
|
||||
|
||||
class rtausmed : public rtausmeui {
|
||||
typedef rtausmeui parent;
|
||||
public:
|
||||
TOOLS_SCLASS(tools::rtausmed)
|
||||
public:
|
||||
rtausmed(unsigned int a_seed = 4357):parent(a_seed){}
|
||||
virtual ~rtausmed(){}
|
||||
public:
|
||||
rtausmed(const rtausmed& a_from):parent(a_from){}
|
||||
rtausmed& operator=(const rtausmed& a_from) {parent::operator=(a_from);return *this;}
|
||||
protected:
|
||||
static double two_to_minus_32() {
|
||||
static const double s_v = std::ldexp(1.0,-32);
|
||||
return s_v;
|
||||
}
|
||||
public:
|
||||
double shoot() {return double(parent::shoot()) * two_to_minus_32();}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user