CLHEP VERSION Reference Documentation
CLHEP Home Page CLHEP Documentation CLHEP Bug Reports |
00001 // -*- C++ -*- 00002 // $Id: 00003 //----------------------------Psi2Hydrogen----------------------------------// 00004 // // 00005 // Class Psi2Hydrogen. The hydrogen wavefunction^2 as a function of r // 00006 // theta, and phi. // 00007 // // 00008 // Joe Boudreau April 2002 // 00009 // // 00010 //--------------------------------------------------------------------------// 00011 #ifndef Psi2Hydrogen_h 00012 #define Psi2Hydrogen_h 1 00013 #include "CLHEP/GenericFunctions/AbsFunction.hh" 00014 #include "CLHEP/GenericFunctions/Parameter.hh" 00015 00016 namespace Genfun { 00017 00018 class Psi2Hydrogen : public AbsFunction { 00019 00020 FUNCTION_OBJECT_DEF(Psi2Hydrogen) 00021 00022 public: 00023 00024 // Constructor 00025 Psi2Hydrogen(unsigned int n, unsigned int l, unsigned int m); 00026 00027 // Copy constructor 00028 Psi2Hydrogen(const Psi2Hydrogen &right); 00029 00030 // Destructor 00031 virtual ~Psi2Hydrogen(); 00032 00033 // Retreive function value 00034 virtual double operator ()(double argument) const; // Gives an error 00035 virtual double operator ()(const Argument & a) const;// Must use this one 00036 00037 // Get the integer variable n 00038 unsigned int n() const; 00039 00040 // Get the integer variable l 00041 unsigned int l() const; 00042 00043 // Get the integer variable m 00044 unsigned int m() const; 00045 00046 private: 00047 00048 // It is illegal to assign an adjustable constant 00049 const Psi2Hydrogen & operator=(const Psi2Hydrogen &right); 00050 00051 // Here is the constant n 00052 unsigned int _n; 00053 00054 // Here is the constant l 00055 unsigned int _l; 00056 00057 // Here is the constant m 00058 unsigned int _m; 00059 00060 // Here is the "work function" 00061 const AbsFunction *_function; 00062 00063 // This function is needed in all constructors: 00064 void create(); 00065 }; 00066 00067 } 00068 00069 #include "CLHEP/GenericFunctions/Psi2Hydrogen.icc" 00070 00071 #endif 00072