30   #if ((defined(G4MULTITHREADED) && !defined(G4USE_STD11)) || \ 
   31       !__has_feature(cxx_thread_local)) || !__has_feature(c_atomic) 
   32     #define CLANG_NOSTDTLS 
   36 #if (defined(G4MULTITHREADED) && \ 
   37     (!defined(G4USE_STD11) || (defined(CLANG_NOSTDTLS) || defined(__INTEL_COMPILER)))) 
   48   : deleteEngine(false), 
 
   50     InterpolationType(IntType)
 
   53   prepareTable(aProbFunc);
 
   60 : localEngine(&anEngine), 
 
   63   InterpolationType(IntType)
 
   65   prepareTable(aProbFunc);
 
   72 : localEngine(anEngine), 
 
   75   InterpolationType(IntType)
 
   77   prepareTable(aProbFunc);
 
   87         "G4MTRandGeneral constructed with no bins - will use flat distribution\n";
 
   97   for ( ptn = 0; ptn<
nBins; ++ptn ) {
 
   98     weight = aProbFunc[ptn];
 
  103         "G4MTRandGeneral constructed with negative-weight bin " << ptn <<
 
  104         " = " << weight << 
" \n   -- will substitute 0 weight \n";
 
  113       "G4MTRandGeneral constructed nothing in bins - will use flat distribution\n";
 
  118   for ( ptn = 0; ptn < nBins+1; ++ptn ) {
 
  131       << 
"\n Will use type 0 (continuous linear interpolation \n";
 
  132     InterpolationType = 0;
 
  175   while (nabove > nbelow+1) {
 
  176     middle = (nabove + nbelow+1)>>1;
 
  199     if ( binMeasure == 0 ) { 
 
  206     G4double binFraction = (rand - theIntegralPdf[nbelow]) / binMeasure;
 
  217    for (
G4int i=0; i<size; ++i)
 
  218      vect[i] = 
shoot(anEngine);
 
  223   for (
G4int i=0; i<size; ++i)
 
static CLHEP::HepRandomEngine * getTheEngine()
 
void shootArray(const G4int size, G4double *vect)
 
G4double mapRandom(G4double rand) const 
 
void fireArray(const G4int size, G4double *vect)
 
CLHEP::HepRandomEngine * localEngine
 
std::vector< G4double > theIntegralPdf
 
G4MTRandGeneral(const G4double *aProbFunc, G4int theProbSize, G4int IntType=0)
 
void prepareTable(const G4double *aProbFunc)
 
virtual ~G4MTRandGeneral()
 
void useFlatDistribution()