Main Page | Alphabetical List | Class List | File List | Class Members | File Members

Coulomb.h

Go to the documentation of this file.
00001 #ifndef COULOMB_H
00002 #define COULOMB_H
00003 
00004 
00005 // ----------------------------------------------------------------------
00006 //
00007 // Bridge object between C++ code and the GSL Coulomb 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 Coulomb {
00026 
00028   static double HydrogenicR1( const double Z, const double r );
00029 
00031 
00035   static Dpair HydrogenicR1Err( const double Z, const double r );
00036 
00038   static double HydrogenicRn( const int n, const int l, const double Z,
00039                        const double r );
00040 
00042 
00046   static Dpair HydrogenicRnErr( const int n, const int l, const double Z,
00047                          const double r );
00048 
00050 
00055   static bool CoulombWaveFG( const double eta,     const double x,
00056                              const double lambdaF, const int klambdaG,
00057                                    double* F,            double* Fp,
00058                                    double* G,            double* Gp,
00059                                    double* Fscale,       double* Gscale );
00060 
00063   static bool CoulombWaveFArray( const double lam_min, const int kmax,
00064                                  const double eta,     const double x,
00065                                        double* fc_array,     double* Fscale );
00073 
00074 
00075   static bool CoulombWaveReducedFArray( const double lam_min, const int kmax,
00076                                         const double eta,     const double x,
00077                                               double* fc_array,     double* Fscale );
00085 
00086 
00087   static bool CoulombWaveFGArray(const double lam_min, const int kmax,
00088                                  const double eta,     const double x,
00089                                        double* fc_array,     double* gc_array,
00090                                        double* Fscale,       double* Gscale );
00098 
00099 
00100   static bool CoulombWaveFGpArray(const double lam_min, const int kmax,
00101                                   const double eta,     const double x,
00102                                         double* fc_array,     double* fcp_array,
00103                                         double* gc_array,     double* gcp_array,
00104                                         double* Fscale,       double* Gscale );
00112 
00113   static double CoulombNorm( const double lm, const double eta );
00114 
00117   static void CoulombNormArray( const double lam_min, const int kmax,
00118                                 const double eta,     double* fc_array );
00125 };  // Coulomb
00126 
00127 ZM_END_NAMESPACE( zmsf )        /*  }  // namespace zmsf  */
00128 
00129 #endif  /* COULOMB_H */

Generated on Wed Feb 25 15:03:16 2004 for SpecialFunctions by doxygen 1.3.4