ANIMA  4.0
animaSphericalHarmonic.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <complex>
4 #include "AnimaSHToolsExport.h"
5 
6 namespace anima
7 {
8 
9 class ANIMASHTOOLS_EXPORT SphericalHarmonic
10 {
11 public:
13  SphericalHarmonic(int &l, int &m);
14 
15  void SetL(int &l) {m_L = l;}
16  void SetM(int &m) {m_M = m;}
17 
18  std::complex <double> Value(const double &theta, const double &phi);
19 
20  std::complex <double> getThetaFirstDerivative(const double& theta, const double& phi);
21  std::complex <double> getPhiFirstDerivative(const double& theta, const double& phi);
22 
23  std::complex <double> getThetaSecondDerivative(const double& theta, const double& phi);
24  std::complex <double> getPhiSecondDerivative(const double& theta, const double& phi);
25 
26  std::complex <double> getThetaPhiDerivative(const double& theta, const double& phi);
27 
28 private:
29  int m_L;
30  int m_M;
31 };
32 
33 } // end of namespace anima
34 
35