Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 // $Id: 
0003 //----------------------------Psi2Hydrogen----------------------------------//
0004 //                                                                          //
0005 // Class Psi2Hydrogen.  The hydrogen wavefunction^2 as a function of r      //
0006 // theta, and phi.                                                          //
0007 //                                                                          //
0008 // Joe Boudreau April 2002                                                  //
0009 //                                                                          //
0010 //--------------------------------------------------------------------------//
0011 #ifndef Psi2Hydrogen_h
0012 #define Psi2Hydrogen_h 1
0013 #include "CLHEP/GenericFunctions/AbsFunction.hh"
0014 #include "CLHEP/GenericFunctions/Parameter.hh"
0015 
0016 namespace Genfun {
0017 
0018   class Psi2Hydrogen : public AbsFunction  {
0019   
0020     FUNCTION_OBJECT_DEF(Psi2Hydrogen)
0021 
0022  public:
0023 
0024     // Constructor
0025     Psi2Hydrogen(unsigned int n, unsigned int l, unsigned int m);
0026 
0027     // Copy constructor
0028     Psi2Hydrogen(const Psi2Hydrogen &right);
0029   
0030     // Destructor
0031     virtual ~Psi2Hydrogen();
0032   
0033     // Retreive function value
0034     virtual double operator ()(double argument) const override;   // Gives an error
0035     virtual double operator ()(const Argument & a) const override;// Must use this one
0036   
0037     // Get the integer variable n
0038     unsigned int n() const;
0039 
0040     // Get the integer variable l
0041     unsigned int l() const;
0042 
0043     // Get the integer variable m
0044     unsigned int m() const;
0045 
0046   private:
0047 
0048     // It is illegal to assign an adjustable constant
0049     const Psi2Hydrogen & operator=(const Psi2Hydrogen &right);
0050 
0051     // Here is the constant n
0052     unsigned int _n;
0053 
0054     // Here is the constant l 
0055     unsigned int _l;
0056 
0057     // Here is the constant m
0058     unsigned int _m;
0059 
0060     // Here is the "work function"
0061     const AbsFunction *_function;
0062 
0063     // This function is needed in all constructors:
0064     void create(); 
0065   };
0066 
0067 }
0068 
0069 #include "CLHEP/GenericFunctions/Psi2Hydrogen.icc"
0070 
0071 #endif
0072