00001 #ifndef FERMIDIRAC_H 00002 #define FERMIDIRAC_H 00003 00004 00005 // ---------------------------------------------------------------------- 00006 // 00007 // Bridge object between C++ code and the GSL Fermi-Dirac functions 00008 // 00009 // ---------------------------------------------------------------------- 00010 00011 #ifndef ZMENVIRONMENT_H 00012 #include "ZMutility/ZMenvironment.h" 00013 #endif 00014 #include <utility> 00015 00016 ZM_BEGIN_NAMESPACE( zmsf ) /* namespace zmsf { */ 00017 00018 typedef std::pair<double,double> Dpair; 00019 00024 00025 struct FermiDirac { 00026 00028 static double CompleteFDm1( const double x ); 00029 00031 static Dpair CompleteFDm1Err( const double x ); 00032 00034 static double CompleteFD0( const double x ); 00035 00037 static Dpair CompleteFD0Err( const double x ); 00038 00040 static double CompleteFD1( const double x ); 00041 00043 static Dpair CompleteFD1Err( const double x ); 00044 00046 static double CompleteFD2( const double x ); 00047 00049 static Dpair CompleteFD2Err( const double x ); 00050 00052 static double CompleteFDj( const int j, const double x ); 00053 00055 static Dpair CompleteFDjErr( const int j, const double x ); 00056 00058 static double CompleteFDmHalf( const double x ); 00059 00061 static Dpair CompleteFDmHalfErr( const double x ); 00062 00064 static double CompleteFDHalf( const double x ); 00065 00067 static Dpair CompleteFDHalfErr( const double x ); 00068 00070 static double CompleteFD3Half( const double x ); 00071 00073 static Dpair CompleteFD3HalfErr( const double x ); 00074 00076 static double IncompleteFD0( const double x, const double b ); 00077 00079 static Dpair IncompleteFD0Err( const double x, const double b ); 00080 00081 }; // FermiDirac 00082 00083 ZM_END_NAMESPACE( zmsf ) /* } // namespace zmsf */ 00084 00085 #endif /* FERMIDIRAC_H */
1.3.4