Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:54:35

0001 // -*- C++ -*-
0002 // $Id: LogGamma.hh,v 1.3 2010/06/16 18:22:01 garren Exp $
0003 //---------------------Logarithm of Gamma Function--------------------------//
0004 //                                                                          //
0005 // Class LogGamma                                                           //
0006 // Joe Boudreau October 2K                                                  //
0007 //                                                                          //
0008 //--------------------------------------------------------------------------//
0009 #ifndef LogGamma_h
0010 #define LogGamma_h 1
0011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
0012 #include "CLHEP/GenericFunctions/Parameter.hh"
0013 namespace Genfun {
0014 
0015   /**
0016    * @author
0017    * @ingroup genfun
0018    */
0019   class LogGamma : public AbsFunction  {
0020     
0021     FUNCTION_OBJECT_DEF(LogGamma)
0022       
0023       public:
0024     
0025     // Constructor
0026     LogGamma();
0027     
0028     // Copy constructor
0029     LogGamma(const LogGamma &right);
0030     
0031     // Destructor
0032     virtual ~LogGamma();
0033     
0034     // Retreive function value
0035     virtual double operator ()(double argument) const override;
0036     virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
0037     
0038   private:
0039     
0040     // It is illegal to assign an adjustable constant
0041     const LogGamma & operator=(const LogGamma &right);
0042 
0043     // Constants used in evaluating the function call:
0044     static const double _coefficient[6];
0045     
0046   };
0047 } // namespace Genfun
0048 #endif