12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
-
-
-
-
-
-
- #include "KernelEM1DManager.h"
-
- namespace Lemma {
-
- std::ostream &operator<<(std::ostream &stream, const KernelEM1DManager &ob) {
- stream << ob.Serialize() << "\n---\n";
- return stream;
- }
-
-
-
-
- KernelEM1DManager::KernelEM1DManager( const ctor_key& ) : LemmaObject( ), TEReflBase(nullptr),
- TMReflBase(nullptr), Earth(nullptr), Dipole(nullptr) {
- }
-
- KernelEM1DManager::~KernelEM1DManager() {
-
- }
-
- std::shared_ptr<KernelEM1DManager> KernelEM1DManager::NewSP() {
- return std::make_shared<KernelEM1DManager>( ctor_key() );
- }
-
-
-
-
-
-
- void KernelEM1DManager::SetEarth( std::shared_ptr<LayeredEarthEM> Earthin) {
- Earth = Earthin;
- }
-
- void KernelEM1DManager::SetDipoleSource( std::shared_ptr<DipoleSource> DipoleIn, const int& ifreqin,
- const Real& rx_zin) {
- Dipole = DipoleIn;
-
- ifreq = ifreqin;
- rx_z = rx_zin;
- }
-
- std::shared_ptr<KernelEM1DBase> KernelEM1DManager::GetKernel(const unsigned int& ik) {
- return KernelVec[ik];
- }
-
- KernelEM1DBase* KernelEM1DManager::GetRAWKernel(const unsigned int& ik) {
- return KernelVec[ik].get();
- }
-
- std::shared_ptr<DipoleSource> KernelEM1DManager::GetDipole( ) {
- return Dipole;
- }
-
-
-
- void KernelEM1DManager::ComputeReflectionCoeffs(const Real& lambda, const int& idx, const Real& rho0) {
-
- if (TEReflBase != nullptr) {
- TEReflBase->ComputeReflectionCoeffs(lambda);
- TEReflBase->PreComputePotentialTerms( );
- }
-
- if (TMReflBase != nullptr) {
- TMReflBase->ComputeReflectionCoeffs(lambda);
- TMReflBase->PreComputePotentialTerms( );
- }
-
- }
-
- void KernelEM1DManager::ResetSource(const int& ifreq) {
-
- if (TEReflBase != nullptr) {
- TEReflBase->SetUpSource(Dipole, ifreq);
- }
-
- if (TMReflBase != nullptr) {
- TMReflBase->SetUpSource(Dipole, ifreq);
-
- }
- }
-
- }
|