LibreVNA/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembeddingoption.cpp
2022-12-12 17:39:17 +01:00

49 lines
1.2 KiB
C++

#include "deembeddingoption.h"
#include "portextension.h"
#include "twothru.h"
#include "matchingnetwork.h"
#include "impedancerenormalization.h"
DeembeddingOption *DeembeddingOption::create(DeembeddingOption::Type type)
{
switch(type) {
case Type::PortExtension:
return new PortExtension();
case Type::TwoThru:
return new TwoThru();
case Type::MatchingNetwork:
return new MatchingNetwork();
case Type::ImpedanceRenormalization:
return new ImpedanceRenormalization();
default:
return nullptr;
}
}
QString DeembeddingOption::TypeToString(DeembeddingOption::Type type)
{
switch(type) {
case Type::PortExtension:
return "Port Extension";
case Type::TwoThru:
return "2xThru";
case Type::MatchingNetwork:
return "Matching Network";
case Type::ImpedanceRenormalization:
return "Impedance Renormalization";
default:
return "";
}
}
DeembeddingOption::Type DeembeddingOption::TypeFromString(QString string)
{
for(unsigned int i=0;i<(int) Type::Last;i++) {
if(TypeToString((Type) i) == string) {
return (Type) i;
}
}
return Type::Last;
}