Go to the documentation of this file.
9 #ifndef besselFormula_hh
10 #define besselFormula_hh
15 #ifdef HAS_COMPLEX_BESSEL
18 #include "complex_bessel.h"
92 #ifdef HAS_COMPLEX_BESSEL
128 :
m_(m),
r0_(r0, 0.0, 0.0) {}
144 virtual std::ostream&
info(std::ostream& os)
const;
164 return besselJn(m_*(p - r0_).l2(),n);
181 Real x = m_*(p - r0_).l2();
188 if (m_ != 1) os << m_ <<
"*";
190 os <<
"(r - " << r0_ <<
")";
212 :
m_(m),
r0_(r0, 0.0, 0.0) {}
228 virtual std::ostream&
info(std::ostream& os)
const;
248 return besselYn(m_*(p - r0_).l2(),n);
265 Real x = m_*(p - r0_).l2();
272 if (m_ != 1) os << m_ <<
"*";
274 os <<
"(r - " << r0_ <<
")";
282 #endif // besselFormula_hh
Class for evaluating the Bessel function of first kind.
Cmplx hankel_1_n(const Real x, const int n)
Evaluates the Hankel function .
Real derivative(const Real p)
Derivative of Bessel function.
virtual BesselY< n > * clone() const
Real besselJ1(const Real x)
Cmplx hankel_2_n(const Real x, const int n)
Evaluates the Hankel function .
Real besselY0(const Real x)
const Real m_
Factor in the argument.
virtual std::ostream & info(std::ostream &os) const
BesselY(const Real m=1.0, const Real r0=0.0)
Constructor.
const Real3d r0_
Center of the Bessel function.
BesselJ(const Real m=1.0, const Real r0=0.0)
Constructor.
Real derivative(const Real p)
Derivative of Bessel function.
Class for evaluating the Bessel function of second kind.
Real besselY1(const Real x)
Real besselJn(const Real x, const int n)
Evaluates the Bessel function .
BesselJ(const Real m, const Real3d r0)
Cmplx hankel_1_deriv_n(const Real x, const int n)
Evaluates the derivative of the Hankel function .
Real besselYn(const Real x, const int n)
Evaluates the Bessel function .
BesselY(const Real m, const Real3d r0)
Cmplx hankel_2_deriv_n(const Real x, const int n)
Evaluates the derivative of the Hankel function .
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
virtual Real operator()(const Real p, const Real t=0.0) const
Bessel function.
Real besselJ0(const Real x)
virtual std::ostream & info(std::ostream &os) const
const Real3d r0_
Center of the Bessel function.
virtual BesselJ< n > * clone() const
std::string typeOf(const T &t)
Return the typeid name of a class object.
virtual Real operator()(const Real p, const Real t=0.0) const
Bessel function.
double Real
Type normally used for a floating point number.
Basic namespace for Concepts-2.