Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/clhep/include/CLHEP/Random/Stat.h

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/include/CLHEP/Random/Stat.h (Version 11.3.0) and /externals/clhep/include/CLHEP/Random/Stat.h (Version 11.2)


  1 // -*- C++ -*-                                      1 // -*- C++ -*-
  2 //                                                  2 //
  3 // -------------------------------------------      3 // -----------------------------------------------------------------------
  4 //                             HEP Random           4 //                             HEP Random
  5 //                          --- HepStat ---         5 //                          --- HepStat ---
  6 //          Purely static class containing use      6 //          Purely static class containing useful statistics methods
  7                                                     7 
  8 // -------------------------------------------      8 // -----------------------------------------------------------------------
  9                                                     9 
 10 // HepStat is a substitute for using a namespa     10 // HepStat is a substitute for using a namespace.
 11 // One would never instantiate a HepStat objec     11 // One would never instantiate a HepStat object;
 12 // usage of any of these methods looks like --     12 // usage of any of these methods looks like --
 13 //                                                 13 // 
 14 // double x = HepStat::erf ( .1 );                 14 // double x = HepStat::erf ( .1 );
 15 //                                                 15 //
 16 // A user may wish to improve the readability      16 // A user may wish to improve the readability of algortihm code which uses 
 17 // one method many times by lines like using H     17 // one method many times by lines like using HepStat::erf
 18 //                                                 18 //
 19 // and later, x = erf(u); will work.               19 // and later, x = erf(u); will work.
 20 //                                                 20 //
 21                                                    21 
 22 // These methods are implemented in separate .     22 // These methods are implemented in separate .cc files so that 
 23 // user code need pull in only the code that i     23 // user code need pull in only the code that is necessary.  Time
 24 // (ROUGH estimates in cycles) and table footp     24 // (ROUGH estimates in cycles) and table footprint info is provided
 25 // in this header.                                 25 // in this header.
 26                                                    26 
 27                                                    27 
 28 // ===========================================     28 // =======================================================================
 29 // M. Fischler    - Created: 1/25/00               29 // M. Fischler    - Created: 1/25/00
 30 //                                                 30 //
 31 // M. Fischler    - Inserted flatToGaussian 1/     31 // M. Fischler    - Inserted flatToGaussian 1/25/00
 32 //          From code of an attempt to speed u     32 //          From code of an attempt to speed up RandGauss
 33 //          by use of tables and splines.  The     33 //          by use of tables and splines.  The code was not
 34 //              significantly faster than Box-     34 //              significantly faster than Box-Mueller, so that
 35 //              algorithm is left as the RandG     35 //              algorithm is left as the RandGauss implementation.
 36 //      - Inserted inverseErf                      36 //      - Inserted inverseErf
 37 // M. Fischler    - Inserted gammln 2/4/00         37 // M. Fischler    - Inserted gammln 2/4/00
 38 // M. Fischler    - Made constructor private;      38 // M. Fischler    - Made constructor private; removed private destructor 4/17/00
 39 // ===========================================     39 // =======================================================================
 40                                                    40 
 41 #ifndef HepStat_h                                  41 #ifndef HepStat_h
 42 #define HepStat_h 1                                42 #define HepStat_h 1
 43                                                    43 
 44 namespace CLHEP {                                  44 namespace CLHEP {
 45                                                    45 
 46 /**                                                46 /**
 47  * @author                                         47  * @author
 48  * @ingroup random                                 48  * @ingroup random
 49  */                                                49  */
 50 class HepStat {                                    50 class HepStat {
 51                                                    51 
 52 private:                                           52 private:
 53   HepStat();                                       53   HepStat();  
 54   // You CANNOT instantiate a HepStat object.      54   // You CANNOT instantiate a HepStat object.
 55                                                    55 
 56 public:                                            56 public:
 57                                                    57 
 58   static double flatToGaussian (double r);         58   static double flatToGaussian (double r);
 59    // This is defined by the satement that if      59    // This is defined by the satement that if e() provides a uniform random
 60    // on (0,1) then flatToGaussian(e()) is dis     60    // on (0,1) then flatToGaussian(e()) is distributed as a unit normal
 61    // Gaussian.  That is, flatToGaussian is th     61    // Gaussian.  That is, flatToGaussian is the inverse of the c.d.f. of
 62    // a Gaussian.                                  62    // a Gaussian.
 63     // Footprint:  30 K     // Time:  150 cycl     63     // Footprint:  30 K     // Time:  150 cycles
 64                                                    64 
 65   static double inverseErf (double t);             65   static double inverseErf (double t);
 66   static double erf (double x);                    66   static double erf (double x);
 67         // defined in flatToGaussian.cc            67         // defined in flatToGaussian.cc
 68                                                    68 
 69   static double erfQ (double x);                   69   static double erfQ (double x);
 70   // Quicker, and with less footprint, than er     70   // Quicker, and with less footprint, than erf and gaussianCDF
 71   // but only accurate to 7 digits.                71   // but only accurate to 7 digits.
 72     // Footprint:  0    // Time:                   72     // Footprint:  0    // Time:  
 73                                                    73 
 74   static double gammln (double x);                 74   static double gammln (double x);
 75   // ln (gamma(x))                                 75   // ln (gamma(x))
 76                                                    76 
 77 };                                                 77 };
 78                                                    78 
 79 }  // namespace CLHEP                              79 }  // namespace CLHEP
 80                                                    80 
 81 #endif                                             81 #endif
 82                                                    82