CLHEP/GenericFunctions/LogGamma.hh

00001 // -*- C++ -*-
00002 // $Id: LogGamma.hh,v 1.4 2002/04/12 15:02:40 evc Exp $
00003 //---------------------Logarithm of Gamma Function--------------------------//
00004 //                                                                          //
00005 // Class LogGamma                                                           //
00006 // Joe Boudreau October 2K                                                  //
00007 //                                                                          //
00008 //--------------------------------------------------------------------------//
00009 #ifndef LogGamma_h
00010 #define LogGamma_h 1
00011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00012 #include "CLHEP/GenericFunctions/Parameter.hh"
00013 namespace Genfun {
00014 
00019   class LogGamma : public AbsFunction  {
00020     
00021     FUNCTION_OBJECT_DEF(LogGamma)
00022       
00023       public:
00024     
00025     // Constructor
00026     LogGamma();
00027     
00028     // Copy constructor
00029     LogGamma(const LogGamma &right);
00030     
00031     // Destructor
00032     virtual ~LogGamma();
00033     
00034     // Retreive function value
00035     virtual double operator ()(double argument) const;
00036     virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
00037     
00038     // Get the sigma
00039     Parameter & sigma(); 
00040     
00041   private:
00042     
00043     // It is illegal to assign an adjustable constant
00044     const LogGamma & operator=(const LogGamma &right);
00045 
00046     // Constants used in evaluating the function call:
00047     static const double _coefficient[6];
00048     
00049   };
00050 } // namespace Genfun
00051 #endif

Class Library for High Energy Physics (version 1.8)