3 #include "CLHEP/GenericFunctions/Psi2Hydrogen.hh" 4 #include "CLHEP/GenericFunctions/AssociatedLegendre.hh" 5 #include "CLHEP/GenericFunctions/AssociatedLaguerre.hh" 6 #include "CLHEP/GenericFunctions/Power.hh" 7 #include "CLHEP/GenericFunctions/Exponential.hh" 8 #include "CLHEP/GenericFunctions/FixedConstant.hh" 9 #include "CLHEP/GenericFunctions/Psi2Hydrogen.hh" 10 #include "CLHEP/GenericFunctions/Variable.hh" 11 #include "CLHEP/GenericFunctions/Power.hh" 16 FUNCTION_OBJECT_IMP(Psi2Hydrogen)
26 Psi2Hydrogen::Psi2Hydrogen(
unsigned int n,
unsigned int l,
unsigned int m):
36 Psi2Hydrogen::~Psi2Hydrogen() {
41 Psi2Hydrogen::Psi2Hydrogen(
const Psi2Hydrogen & right):
50 double Psi2Hydrogen::operator() (
const Argument & a)
const {
51 assert (a.dimension()==3);
52 return (*_function)(a);
56 double Psi2Hydrogen::operator() (
double x)
const {
58 <<
"Warning. Psi2Hydrogen called with scalar argument" 65 unsigned int Psi2Hydrogen::n()
const {
70 unsigned int Psi2Hydrogen::l()
const {
75 unsigned int Psi2Hydrogen::m()
const {
81 void Psi2Hydrogen::create() {
85 GENFUNCTION ar = (2.0/_n)*r;
86 AssociatedLegendre P(_l, _m);
87 AssociatedLaguerre L(_n-_l-1, 2*_l+1);
91 _function = (asq*exp(ar)*pow2L(ar)*L(ar)*L(ar)%(P*P)%(I*I)).clone();