Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/clhep/include/CLHEP/Random/RandStudentT.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/RandStudentT.h (Version 11.3.0) and /externals/clhep/include/CLHEP/Random/RandStudentT.h (Version 10.4)


                                                   >>   1 // $Id:$
  1 // -*- C++ -*-                                      2 // -*- C++ -*-
  2 //                                                  3 //
  3 // -------------------------------------------      4 // -----------------------------------------------------------------------
  4 //                             HEP Random           5 //                             HEP Random
  5 //                         --- RandStudentT --      6 //                         --- RandStudentT ---
  6 //                          class header file       7 //                          class header file
  7 // -------------------------------------------      8 // -----------------------------------------------------------------------
  8                                                     9 
  9 // Class defining methods for shooting Student     10 // Class defining methods for shooting Student's t- distributed random 
 10 // values, given a number of degrees of freedo     11 // values, given a number of degrees of freedom a (default=1.0).
 11 // Default values are used for operator()().       12 // Default values are used for operator()().
 12                                                    13 
 13 // Valid input values are a > 0.  When invalid     14 // Valid input values are a > 0.  When invalid values are presented, the
 14 // code silently returns DBL_MAX from <float.h     15 // code silently returns DBL_MAX from <float.h> which is the same as
 15 // MAXDOUBLE in <values.h> on systems where th     16 // MAXDOUBLE in <values.h> on systems where the latter exists.
 16                                                    17 
 17 // ===========================================     18 // =======================================================================
 18 // John Marraffino - Created: Based on the C-R     19 // John Marraffino - Created: Based on the C-Rand package
 19 //                   by Ernst Stadlober and Fr     20 //                   by Ernst Stadlober and Franz Niederl of the Technical
 20 //                   University of Graz, Austr     21 //                   University of Graz, Austria : 12th May 1998
 21 //                 - Removed <values.h> becaus     22 //                 - Removed <values.h> because that won't work
 22 //                   on NT : 26th Jun 1998         23 //                   on NT : 26th Jun 1998
 23 // Gabriele Cosmo  - Fixed minor bug on inline     24 // Gabriele Cosmo  - Fixed minor bug on inline definition for shoot()
 24 //                   methods. Created .icc fil     25 //                   methods. Created .icc file : 20th Aug 1998
 25 //                 - Removed useless methods a     26 //                 - Removed useless methods and data: 5th Jan 1999
 26 // M Fischler      - put and get to/from strea     27 // M Fischler      - put and get to/from streams 12/10/04
 27 // ===========================================     28 // =======================================================================
 28                                                    29 
 29 #ifndef RandStudentT_h                             30 #ifndef RandStudentT_h
 30 #define RandStudentT_h 1                           31 #define RandStudentT_h 1
 31                                                    32 
 32 #include "CLHEP/Random/Random.h"                   33 #include "CLHEP/Random/Random.h"
 33 #include "CLHEP/Utility/memory.h"                  34 #include "CLHEP/Utility/memory.h"
 34                                                    35 
 35 namespace CLHEP {                                  36 namespace CLHEP {
 36                                                    37 
 37 /**                                                38 /**
 38  * @author                                         39  * @author
 39  * @ingroup random                                 40  * @ingroup random
 40  */                                                41  */
 41 class RandStudentT : public HepRandom {            42 class RandStudentT : public HepRandom {
 42                                                    43 
 43 public:                                            44 public:
 44                                                    45 
 45   inline RandStudentT ( HepRandomEngine& anEng     46   inline RandStudentT ( HepRandomEngine& anEngine, double a=1.0 );
 46   inline RandStudentT ( HepRandomEngine* anEng     47   inline RandStudentT ( HepRandomEngine* anEngine, double a=1.0 );
 47   // These constructors should be used to inst     48   // These constructors should be used to instantiate a RandStudentT
 48   // distribution object defining a local engi     49   // distribution object defining a local engine for it.
 49   // The static generator will be skipped usin     50   // The static generator will be skipped using the non-static methods
 50   // defined below.                                51   // defined below.
 51   // If the engine is passed by pointer the co     52   // If the engine is passed by pointer the corresponding engine object
 52   // will be deleted by the RandStudentT destr     53   // will be deleted by the RandStudentT destructor.
 53   // If the engine is passed by reference the      54   // If the engine is passed by reference the corresponding engine object
 54   // will not be deleted by the RandStudentT d     55   // will not be deleted by the RandStudentT destructor.
 55                                                    56 
 56   virtual ~RandStudentT();                         57   virtual ~RandStudentT();
 57   // Destructor                                    58   // Destructor
 58                                                    59 
 59   // Save and restore to/from streams              60   // Save and restore to/from streams
 60                                                    61   
 61   std::ostream & put ( std::ostream & os ) con     62   std::ostream & put ( std::ostream & os ) const;
 62   std::istream & get ( std::istream & is );        63   std::istream & get ( std::istream & is );
 63                                                    64 
 64   // Static methods to shoot random values usi     65   // Static methods to shoot random values using the static generator
 65                                                    66 
 66   static  inline double shoot();                   67   static  inline double shoot();
 67                                                    68 
 68   static  double shoot( double a );                69   static  double shoot( double a );
 69                                                    70 
 70   static  void shootArray ( const int size, do     71   static  void shootArray ( const int size, double* vect,
 71                             double a=1.0 );        72                             double a=1.0 );
 72                                                    73 
 73   //  Static methods to shoot random values us     74   //  Static methods to shoot random values using a given engine
 74   //  by-passing the static generator.             75   //  by-passing the static generator.
 75                                                    76 
 76   static  inline double shoot( HepRandomEngine     77   static  inline double shoot( HepRandomEngine* anEngine );
 77                                                    78 
 78   static  double shoot( HepRandomEngine* anEng     79   static  double shoot( HepRandomEngine* anEngine, 
 79                            double a );             80                            double a );
 80                                                    81 
 81   static  void shootArray ( HepRandomEngine* a     82   static  void shootArray ( HepRandomEngine* anEngine, const int size,
 82                             double* vect, doub     83                             double* vect, double a=1.0 );
 83                                                    84 
 84   //  Methods using the localEngine to shoot r     85   //  Methods using the localEngine to shoot random values, by-passing
 85   //  the static generator.                        86   //  the static generator.
 86                                                    87 
 87   inline double fire();                            88   inline double fire();
 88                                                    89 
 89   double fire( double a );                         90   double fire( double a );
 90                                                    91   
 91   void fireArray ( const int size, double* vec     92   void fireArray ( const int size, double* vect );
 92   void fireArray ( const int size, double* vec     93   void fireArray ( const int size, double* vect, double a );
 93   double operator()();                             94   double operator()();
 94   double operator()( double a );                   95   double operator()( double a );
 95                                                    96 
 96   std::string name() const;                        97   std::string name() const;
 97   HepRandomEngine & engine();                      98   HepRandomEngine & engine();
 98                                                    99 
 99   static std::string distributionName() {retur    100   static std::string distributionName() {return "RandStudentT";}  
100   // Provides the name of this distribution cl    101   // Provides the name of this distribution class
101                                                   102 
102                                                   103 
103 private:                                          104 private:
104                                                   105 
105   std::shared_ptr<HepRandomEngine> localEngine    106   std::shared_ptr<HepRandomEngine> localEngine;
106   double defaultA;                                107   double defaultA;
107                                                   108 
108 };                                                109 };
109                                                   110 
110 }  // namespace CLHEP                             111 }  // namespace CLHEP
111                                                   112 
112 #include "CLHEP/Random/RandStudentT.icc"          113 #include "CLHEP/Random/RandStudentT.icc"
113                                                   114 
114 #endif                                            115 #endif
115                                                   116