Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/clhep/src/StaticRandomStates.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/clhep/src/StaticRandomStates.cc (Version 11.3.0) and /externals/clhep/src/StaticRandomStates.cc (Version 5.1)


  1 // -*- C++ -*-                                      1 
  2 //                                                
  3 // -------------------------------------------    
  4 //                             HEP Random         
  5 //                      --- StaticRandomStates    
  6 //                      class implementation f    
  7 // -------------------------------------------    
  8 //                                                
  9 // ===========================================    
 10 // Mark Fischler  - Created: Dec. 21, 2004        
 11 // Mark Fischler  - Modified restore() to util    
 12 //                  to create anonymous restor    
 13 //                                                
 14 // ===========================================    
 15                                                   
 16 #include "CLHEP/Random/StaticRandomStates.h"      
 17 #include "CLHEP/Random/RandGauss.h"               
 18 #include "CLHEP/Random/RandFlat.h"                
 19 #include <iostream>                               
 20 #include <string>                                 
 21 #include <sstream>                                
 22                                                   
 23 //======================//                        
 24 //                      //                        
 25 // Maintenance warning: //                        
 26 //      //                                        
 27 //======================//                        
 28 //                                                
 29 // Currently, only two distributions (RandFlat    
 30 // distribution state.  All such distributions    
 31 // another such distribution is added, this im    
 32 // modified to reflect that.                      
 33                                                   
 34 namespace CLHEP {                                 
 35                                                   
 36                                                   
 37 std::ostream & StaticRandomStates::save(std::o    
 38   RandGauss::saveFullState(os);                   
 39   RandFlat::saveDistState(os);                    
 40   return os;                                      
 41 }                                                 
 42                                                   
 43 #ifdef NOTYET                                     
 44 std::istream & StaticRandomStates::restore(std    
 45   RandGauss::restoreFullState(is);                
 46   RandFlat::restoreDistState(is);                 
 47   return is;                                      
 48 }                                                 
 49 #endif                                            
 50                                                   
 51 std::istream & StaticRandomStates::restore(std    
 52   HepRandomEngine * e = HepRandom::getTheEngin    
 53   HepRandomEngine *ne = HepRandomEngine::newEn    
 54   if ( !is ) return is;                           
 55   if ( !ne ) return is;                           
 56   if (ne->name() == e->name()) {                  
 57     // Because e has const data members, canno    
 58     std::ostringstream os;                        
 59     os << *ne;                                    
 60     std::istringstream istst(os.str());           
 61     istst >> *e;                                  
 62     if (!istst) {                                 
 63       std::cerr << "???? Unexpected behavior i    
 64         << "The new engine, which had been inp    
 65   << "has encountered a problem when used to s    
 66       is.clear(std::ios::badbit | is.rdstate()    
 67       return is;                                  
 68     }                                             
 69   } else {                                        
 70     HepRandom::setTheEngine(ne);                  
 71   }                                               
 72   RandGauss::restoreDistState(is);                
 73   RandFlat::restoreDistState(is);                 
 74   return is;                                      
 75 }                                                 
 76                                                   
 77 }  // namespace CLHEP                             
 78