123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
-
-
-
-
-
-
- #ifndef __hankeltransform_h
- #define __hankeltransform_h
-
- #include "KernelEM1DSpec.h"
- #include "KernelEM1DManager.h"
-
- namespace Lemma {
-
- class KernelEM1DBase;
-
-
-
-
-
-
-
- class HankelTransform : public LemmaObject {
-
- public:
-
-
- friend std::ostream &operator<<(std::ostream &stream,
- const HankelTransform &ob);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- virtual Complex Zgauss(const int &ikk, const EMMODE &imode,
- const int &itype, const Real &rho,
- const Real &wavef, KernelEM1DBase* Kernel)=0;
-
-
-
- virtual void ComputeRelated(const Real& rho, std::shared_ptr<KernelEM1DBase> Kernel);
-
- virtual void ComputeRelated(const Real& rho, std::vector< std::shared_ptr<KernelEM1DBase> > KernelVec);
-
- virtual void ComputeRelated(const Real& rho, std::shared_ptr<KernelEM1DManager> KernelManager);
-
-
-
-
-
- virtual inline std::string GetName() const = 0 ;
-
-
- virtual Real GetABSER() { return 0; }
-
- virtual void ComputeLaggedRelated( const Real& rhomax, const int& nlag, std::shared_ptr<KernelEM1DManager> Manager ) {
- }
-
- virtual void SetLaggedArg( const Real& rho ) {}
-
-
-
- protected:
-
-
-
-
- HankelTransform ( const ctor_key& );
-
-
- HankelTransform ( const YAML::Node& node, const ctor_key& );
-
-
- ~HankelTransform ( );
-
- private:
-
-
- static constexpr auto CName = "HankelTransform";
-
- };
-
- }
-
- #endif
|