Auxiliary data structure to configure random number generator.  
 More...
#include <JRandom.hh>
|  | 
|  | JRandom () | 
|  | Default constructor. 
 | 
|  | 
|  | JRandom (const TString &buffer) | 
|  | Constructor. 
 | 
|  | 
|  | JRandom (const ULong_t seed) | 
|  | Constructor. 
 | 
|  | 
| bool | set (TRandom *&pr) const | 
|  | Configure random number generator. 
 | 
|  | 
|  | 
| static bool | read (const TString &file_name, TRandom *&pr) | 
|  | Read random number generator from file. 
 | 
|  | 
| static bool | write (const TString &file_name, TRandom *pr) | 
|  | Write random number generator to file. 
 | 
|  | 
|  | 
| std::istream & | operator>> (std::istream &in, JRandom &object) | 
|  | Read random from input. 
 | 
|  | 
| std::ostream & | operator<< (std::ostream &out, const JRandom &object) | 
|  | Write random to output. 
 | 
|  | 
Auxiliary data structure to configure random number generator. 
The internal TString can hold any of the following data.
- decimal value corresponding to seed;
- name of ROOT formatted binary file; or
- name of JSON formatted ASCII file. 
Definition at line 34 of file JROOT/JRandom.hh.
◆ JRandom() [1/3]
  
  | 
        
          | JROOT::JRandom::JRandom | ( |  | ) |  |  | inline | 
 
 
◆ JRandom() [2/3]
  
  | 
        
          | JROOT::JRandom::JRandom | ( | const TString & | buffer | ) |  |  | inline | 
 
Constructor. 
- Parameters
- 
  
  
Definition at line 49 of file JROOT/JRandom.hh.
   50    {
   51      static_cast<TString&>(*this)  = buffer;
   52    }
 
 
◆ JRandom() [3/3]
  
  | 
        
          | JROOT::JRandom::JRandom | ( | const ULong_t | seed | ) |  |  | inline | 
 
Constructor. 
- Parameters
- 
  
  
Definition at line 60 of file JROOT/JRandom.hh.
   61    {
   62      static_cast<TString&>(*this) += seed;
   63    }
 
 
◆ set()
  
  | 
        
          | bool JROOT::JRandom::set | ( | TRandom *& | pr | ) | const |  | inline | 
 
Configure random number generator. 
- Parameters
- 
  
    | pr | reference pointer to random number generator |  
 
- Returns
- true if successful; else false 
Definition at line 98 of file JROOT/JRandom.hh.
   99    {
  102 
  103      if (pr != NULL) {
  104 
  105        if (this->IsDec()) {
  106 
  107          pr->SetSeed(this->Atoll());
  108 
  109          return true;
  110 
  111        } else {
  112 
  113          return JRandom::read(
static_cast<const TString&
>(*
this), pr);
 
  114        }
  115      }
  116 
  117      return false;
  118    }
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
static bool read(const TString &file_name, TRandom *&pr)
Read random number generator from file.
 
 
◆ read()
  
  | 
        
          | static bool JROOT::JRandom::read | ( | const TString & | file_name, |  
          |  |  | TRandom *& | pr ) |  | inlinestatic | 
 
Read random number generator from file. 
- Parameters
- 
  
    | file_name | file name |  | pr | reference pointer to random number generator |  
 
- Returns
- true if successful; else false 
Definition at line 128 of file JROOT/JRandom.hh.
  129    {
  132 
  133      if (pr != NULL) {
  134 
  135        if        (file_name.EndsWith(".root")) {
  136 
  138 
  139          if (in.hasNext()) {
  140 
  141            TRandom* p = in.next();
  142 
  143            pr = (TRandom*) p->Clone();
  144 
  145            return true;
  146          }
  147          
  148        } else if (file_name.EndsWith(".txt")) {
  149 
  150          fstream in(file_name.Data());
  151 
  152          stringstream io;
  153 
  154          if (io << in.rdbuf()) {
  155 
  156            pr = (TRandom*) TBufferJSON::ConvertFromJSON(io.str().c_str());
  157 
  158            return true;
  159          }
  160        }
  161      }
  162 
  163      return false;
  164    }
 
 
◆ write()
  
  | 
        
          | static bool JROOT::JRandom::write | ( | const TString & | file_name, |  
          |  |  | TRandom * | pr ) |  | inlinestatic | 
 
Write random number generator to file. 
- Parameters
- 
  
    | file_name | file name |  | pr | pointer to random number generator |  
 
- Returns
- true if successful; else false 
Definition at line 174 of file JROOT/JRandom.hh.
  175    {
  178 
  179      if (pr != NULL) {
  180 
  181        if        (file_name.EndsWith(".root")) {
  182 
  184 
  185          out.put(*gRandom);
  186 
  187          out.close();
  188 
  189          return true;
  190 
  191        } else if (file_name.EndsWith(".txt")) {
  192 
  193          ofstream out(file_name.Data());
  194 
  195          out << TBufferJSON::ConvertToJSON(gRandom).Data();
  196 
  197          out.close();
  198 
  199          return true;
  200        }
  201      }
  202      
  203      return false;
  204    }
 
 
◆ operator>>
  
  | 
        
          | std::istream & operator>> | ( | std::istream & | in, |  
          |  |  | JRandom & | object ) |  | friend | 
 
Read random from input. 
- Parameters
- 
  
    | in | input stream |  | object | random |  
 
- Returns
- input stream 
Definition at line 73 of file JROOT/JRandom.hh.
   74    {
   75      return in >> static_cast<TString&>(object);
   76    }
 
 
◆ operator<<
  
  | 
        
          | std::ostream & operator<< | ( | std::ostream & | out, |  
          |  |  | const JRandom & | object ) |  | friend | 
 
Write random to output. 
- Parameters
- 
  
    | out | output stream |  | object | random |  
 
- Returns
- output stream 
Definition at line 86 of file JROOT/JRandom.hh.
   87    {
   88      return out << object.Data();
   89    }
 
 
The documentation for this struct was generated from the following file: