LocalExpansion.h
Go to the documentation of this file.
1 // This file is part of the MercuryDPM project (https://www.mercurydpm.org).
2 // Copyright (c), The MercuryDPM Developers Team. All rights reserved.
3 // License: BSD 3-Clause License; see the LICENSE file in the root directory.
4 
5 #ifndef LOCALEXPANSION_H_
6 #define LOCALEXPANSION_H_
7 
8 #include "Math/NumericalVector.h"
9 #include "Math/Vector.h"
10 #include "Multipole.h"
11 #include <complex>
12 #include <vector>
13 
15 {
16 public:
17  LocalExpansion(int p, NumericalVector<>* squaredFactorials, Vec3D location);
18 
19  virtual ~LocalExpansion();
20 
21  //Set correct length of the localExpansions, based on p
23 
24  //Functions used in the downwards pass
26 
27  //add local expansion coefficients to the current coefficients
28  void addLocalExpansionCoefficients(NumericalVector<std::complex<Mdouble>> localExpansionCoefficients);
29 
31  {
33  }
34 
35 private:
36  int p_;
40 };
41 
42 #endif /* LOCALEXPANSION_H_ */
float * p
Definition: Tutorial_Map_using.cpp:9
Definition: LocalExpansion.h:15
NumericalVector< std::complex< Mdouble > > localExpansionCoefficients_
Definition: LocalExpansion.h:39
NumericalVector< std::complex< Mdouble > > getExpansionCoefficients()
Definition: LocalExpansion.h:30
Vec3D location_
Definition: LocalExpansion.h:38
virtual ~LocalExpansion()
LocalExpansion(int p, NumericalVector<> *squaredFactorials, Vec3D location)
Definition: LocalExpansion.cc:13
NumericalVector * squaredFactorials_
Definition: LocalExpansion.h:37
int p_
Definition: LocalExpansion.h:36
void initialiseLocalExpansion()
Definition: LocalExpansion.cc:23
void addLocalExpansionCoefficients(NumericalVector< std::complex< Mdouble >> localExpansionCoefficients)
Definition: LocalExpansion.cc:80
NumericalVector< std::complex< Mdouble > > translateLocalExpansion(Vec3D location)
Definition: LocalExpansion.cc:29
Definition: NumericalVector.h:44
Definition: Kernel/Math/Vector.h:30