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 9.5.p1)


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