123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
-
-
-
-
-
-
-
- #ifndef FHTKEY201_INC
- #define FHTKEY201_INC
-
- #include "HankelTransform.h"
- #include "CubicSplineInterpolator.h"
-
- namespace Lemma {
-
-
-
- class FHTKey201 : public HankelTransform {
-
- friend std::ostream &operator<<(std::ostream &stream, const FHTKey201 &ob);
-
-
- public:
-
-
- FHTKey201 ( const ctor_key& );
-
-
- FHTKey201 ( const YAML::Node& node, const ctor_key& );
-
-
- ~FHTKey201 ();
-
-
-
- static std::shared_ptr<FHTKey201> NewSP();
-
-
-
- YAML::Node Serialize() const;
-
-
-
- static std::shared_ptr< FHTKey201 > DeSerialize(const YAML::Node& node);
-
-
-
-
-
- Complex Zgauss(const int &ikk, const EMMODE &imode,
- const int &itype, const Real &rho,
- const Real &wavef, KernelEM1DBase* Kernel);
-
-
-
- void ComputeRelated(const Real& rho, std::shared_ptr<KernelEM1DBase> Kernel);
-
- void ComputeRelated(const Real& rho, std::vector< std::shared_ptr<KernelEM1DBase> > KernelVec);
-
- void ComputeRelated(const Real& rho, std::shared_ptr<KernelEM1DManager> KernelManager);
-
- void ComputeLaggedRelated(const Real& rho, const int& nlag, std::shared_ptr<KernelEM1DManager> KernelManager);
-
-
-
-
-
- Real GetABSER();
-
- void SetLaggedArg(const Real& rho);
-
-
- virtual std::string GetName() const;
-
- protected:
-
-
-
- private:
-
-
-
-
- static const Eigen::Matrix<Real, 201, 3> WT201;
-
-
- std::vector <std::shared_ptr<CubicSplineInterpolator> > splineVecReal;
-
-
- std::vector < std::shared_ptr<CubicSplineInterpolator> > splineVecImag;
-
-
- Eigen::Matrix<Complex, Eigen::Dynamic, Eigen::Dynamic> Zans;
-
-
- static constexpr auto CName = "FHTKey201";
-
- };
-
- }
-
- #endif
|