| 
    KiCad PCB EDA Suite
    
   | 
 
#include <rectwaveguide.h>
  
Public Member Functions | |
| RECTWAVEGUIDE () | |
| void | setProperty (enum PRMS_ID aPrmId, double aValue) | 
| double | getProperty (enum PRMS_ID aPrmId) | 
| virtual void | getProperties () | 
| @function getProperties   | |
| void | checkProperties () | 
| @function checkProperties   | |
| void | setResult (int, double, const char *) | 
| void | setResult (int, const char *) | 
| bool | isSelected (enum PRMS_ID aPrmId) | 
| void | Init () | 
| virtual void | synthesize () | 
| virtual void | calc () | 
| void | analyze () | 
Public Attributes | |
| const char * | m_Name | 
| KIGFX::COLOR4D | errCol = KIGFX::COLOR4D( 1, 0.63, 0.63, 1 ) | 
| KIGFX::COLOR4D | warnCol = KIGFX::COLOR4D( 1, 1, 0.57, 1 ) | 
| KIGFX::COLOR4D | okCol = KIGFX::COLOR4D( 1, 1, 1, 1 ) | 
Protected Member Functions | |
| bool | minimizeZ0Error1D (double *) | 
| @function minimizeZ0Error1D   | |
| double | skin_depth () | 
| @function skin_depth calculate skin depth   | |
| void | ellipke (double, double &, double &) | 
| double | ellipk (double) | 
| void | setErrorLevel (PRMS_ID, char) | 
| @function setErrorLevel   | |
Static Protected Member Functions | |
| static double | calcUnitPropagationDelay (double epsilonEff) | 
| Calculates the unit propagation delay (in ps/cm) for the given effective dielectric constant.   | |
| static char | convertParameterStatusCode (TRANSLINE_STATUS aStatus) | 
| Converts a TRANSLINE_PARAMETER status to a PCB Calculation status.   | |
Protected Attributes | |
| double | m_parameters [EXTRA_PRMS_COUNT] | 
Private Member Functions | |
| double | kval_square () | 
| double | kc_square (int, int) | 
| double | fc (int, int) | 
| double | alphac () | 
| double | alphac_cutoff () | 
| double | alphad () | 
| void | get_rectwaveguide_sub () | 
| void | get_rectwaveguide_comp () | 
| void | get_rectwaveguide_phys () | 
| void | get_rectwaveguide_elec () | 
| void | show_results () override | 
| Shows results.   | |
| void | calcAnalyze () override | 
| Computation for analysis.   | |
| void | calcSynthesize () override | 
| Computation for synthesis.   | |
| void | showAnalyze () override | 
| Shows synthesis results and checks for errors / warnings.   | |
| void | showSynthesize () override | 
| Shows analysis results and checks for errors / warnings.   | |
Private Attributes | |
| double | mur | 
| double | a | 
| double | b | 
| double | l | 
| double | Z0 | 
| double | Z0EH | 
| double | mur_eff | 
| double | atten_dielectric | 
| double | atten_cond | 
| double | fc10 | 
Definition at line 33 of file rectwaveguide.h.
| RECTWAVEGUIDE::RECTWAVEGUIDE | ( | ) | 
Definition at line 31 of file rectwaveguide.cpp.
References a, atten_cond, atten_dielectric, b, fc10, TRANSLINE::Init(), l, TRANSLINE::m_Name, mur, mur_eff, TRANSLINE::TRANSLINE(), Z0, and Z0EH.
      
  | 
  private | 
Definition at line 88 of file rectwaveguide.cpp.
References a, b, fc(), FREQUENCY_PRM, TRANSLINE::m_parameters, M_PI, MU0, MURC_PRM, PHYS_A_PRM, PHYS_B_PRM, SIGMA_PRM, and ZF0.
Referenced by calcAnalyze(), and calcSynthesize().
      
  | 
  private | 
Definition at line 161 of file rectwaveguide.cpp.
References kc_square(), and kval_square().
Referenced by calcAnalyze(), and calcSynthesize().
      
  | 
  private | 
Definition at line 174 of file rectwaveguide.cpp.
References kc_square(), kval_square(), TRANSLINE::m_parameters, and TAND_PRM.
Referenced by calcAnalyze(), and calcSynthesize().
      
  | 
  inherited | 
Definition at line 208 of file transline.cpp.
References calcAnalyze(), checkProperties(), getProperties(), show_results(), and showAnalyze().
      
  | 
  inlinevirtualinherited | 
Definition at line 99 of file transline.h.
      
  | 
  overrideprivatevirtual | 
Computation for analysis.
Reimplemented from TRANSLINE.
Definition at line 243 of file rectwaveguide.cpp.
References alphac(), alphac_cutoff(), alphad(), ANG_L_PRM, EPSILON_EFF_PRM, EPSILONR_PRM, fc(), FREQUENCY_PRM, kc_square(), kval_square(), LOSS_CONDUCTOR_PRM, LOSS_DIELECTRIC_PRM, TRANSLINE::m_parameters, M_PI, MUR_PRM, PHYS_LEN_PRM, Z0_PRM, and ZF0.
      
  | 
  overrideprivatevirtual | 
Computation for synthesis.
Reimplemented from TRANSLINE.
Definition at line 286 of file rectwaveguide.cpp.
References alphac(), alphac_cutoff(), alphad(), ANG_L_PRM, C0, EPSILON_EFF_PRM, EPSILONR_PRM, fc(), FREQUENCY_PRM, kc_square(), kval_square(), LOSS_CONDUCTOR_PRM, LOSS_DIELECTRIC_PRM, TRANSLINE::m_parameters, M_PI, MUR_PRM, PHYS_A_PRM, PHYS_LEN_PRM, Z0_PRM, and ZF0.
      
  | 
  staticprotectedinherited | 
Calculates the unit propagation delay (in ps/cm) for the given effective dielectric constant.
Definition at line 443 of file transline.cpp.
Referenced by COPLANAR::calcAnalyze().
      
  | 
  inherited | 
@function checkProperties
Checks the input parameters (ie: negative length). Does not check for incompatibility between values as this depends on the line shape.
Definition at line 166 of file transline.cpp.
References EPSILONR_PRM, FREQUENCY_PRM, H_PRM, H_T_PRM, m_parameters, MUR_PRM, MURC_PRM, RHO_PRM, setErrorLevel(), STRIPLINE_A_PRM, TAND_PRM, TRANSLINE_WARNING, TWISTEDPAIR_EPSILONR_ENV_PRM, and TWISTEDPAIR_TWIST_PRM.
Referenced by analyze(), and synthesize().
      
  | 
  staticprotectedinherited | 
Converts a TRANSLINE_PARAMETER status to a PCB Calculation status.
Definition at line 449 of file transline.cpp.
References OK, TRANSLINE_ERROR, TRANSLINE_OK, TRANSLINE_WARNING, TS_ERROR, and WARNING.
Referenced by C_MICROSTRIP::showAnalyze(), C_STRIPLINE::showAnalyze(), MICROSTRIP_UI::showAnalyze(), STRIPLINE_UI::showAnalyze(), C_MICROSTRIP::showSynthesize(), C_STRIPLINE::showSynthesize(), MICROSTRIP_UI::showSynthesize(), and STRIPLINE_UI::showSynthesize().
      
  | 
  protectedinherited | 
Definition at line 321 of file transline.cpp.
References ellipke().
Referenced by COPLANAR::calcAnalyze().
      
  | 
  protectedinherited | 
      
  | 
  private | 
Definition at line 77 of file rectwaveguide.cpp.
References C0, EPSILONR_PRM, kc_square(), TRANSLINE::m_parameters, M_PI, and MUR_PRM.
Referenced by alphac(), calcAnalyze(), calcSynthesize(), and show_results().
      
  | 
  private | 
Definition at line 208 of file rectwaveguide.cpp.
References FREQUENCY_PRM, TRANSLINE::getProperty(), and TRANSLINE::m_parameters.
      
  | 
  private | 
Definition at line 219 of file rectwaveguide.cpp.
References ANG_L_PRM, TRANSLINE::getProperty(), TRANSLINE::m_parameters, and Z0_PRM.
      
  | 
  private | 
Definition at line 231 of file rectwaveguide.cpp.
References TRANSLINE::getProperty(), TRANSLINE::m_parameters, PHYS_A_PRM, PHYS_B_PRM, and PHYS_LEN_PRM.
      
  | 
  private | 
Definition at line 193 of file rectwaveguide.cpp.
References EPSILONR_PRM, TRANSLINE::getProperty(), TRANSLINE::m_parameters, MUR_PRM, MURC_PRM, RHO_PRM, SIGMA_PRM, and TAND_PRM.
      
  | 
  virtualinherited | 
@function getProperties
Get all properties from the UI. Computes some extra ones.
Reimplemented in C_MICROSTRIP, C_STRIPLINE, MICROSTRIP_UI, and STRIPLINE_UI.
Definition at line 147 of file transline.cpp.
References DUMMY_PRM, EPSILON_EFF_PRM, getProperty(), m_parameters, RHO_PRM, setErrorLevel(), SIGMA_PRM, skin_depth(), SKIN_DEPTH_PRM, and TRANSLINE_OK.
Referenced by analyze(), C_MICROSTRIP::getProperties(), C_STRIPLINE::getProperties(), MICROSTRIP_UI::getProperties(), STRIPLINE_UI::getProperties(), and synthesize().
      
  | 
  inherited | 
Definition at line 137 of file transline.cpp.
References GetPropertyInDialog().
Referenced by RECTWAVEGUIDE::get_rectwaveguide_comp(), RECTWAVEGUIDE::get_rectwaveguide_elec(), RECTWAVEGUIDE::get_rectwaveguide_phys(), RECTWAVEGUIDE::get_rectwaveguide_sub(), and getProperties().
      
  | 
  inherited | 
Definition at line 87 of file transline.cpp.
References EXTRA_PRMS_COUNT, m_parameters, and okCol.
Referenced by C_MICROSTRIP::C_MICROSTRIP(), C_STRIPLINE::C_STRIPLINE(), COAX::COAX(), COPLANAR::COPLANAR(), MICROSTRIP_UI::MICROSTRIP_UI(), RECTWAVEGUIDE::RECTWAVEGUIDE(), STRIPLINE_UI::STRIPLINE_UI(), TRANSLINE(), and TWISTEDPAIR::TWISTEDPAIR().
      
  | 
  inherited | 
Definition at line 116 of file transline.cpp.
References IsSelectedInDialog().
Referenced by COAX::calcSynthesize(), COPLANAR::calcSynthesize(), TWISTEDPAIR::calcSynthesize(), COAX::showSynthesize(), COPLANAR::showSynthesize(), RECTWAVEGUIDE::showSynthesize(), and TWISTEDPAIR::showSynthesize().
      
  | 
  private | 
Definition at line 66 of file rectwaveguide.cpp.
References TRANSLINE::m_parameters, M_PI, PHYS_A_PRM, and PHYS_B_PRM.
Referenced by alphac_cutoff(), alphad(), calcAnalyze(), calcSynthesize(), fc(), and show_results().
      
  | 
  private | 
Definition at line 51 of file rectwaveguide.cpp.
References C0, EPSILONR_PRM, FREQUENCY_PRM, TRANSLINE::m_parameters, M_PI, and MUR_PRM.
Referenced by alphac_cutoff(), alphad(), calcAnalyze(), calcSynthesize(), and show_results().
      
  | 
  protectedinherited | 
@function minimizeZ0Error1D
Tries to find a parameter that minimizes the error ( on Z0 ). This function only works with a single parameter. Calls calcAnalyze several times until the error is acceptable. While the error is unnacceptable, changes slightly the parameter.
This function does not change Z0 / Angl_L.
| avar | Parameter to synthesize | 
Definition at line 346 of file transline.cpp.
References ANG_L_PRM, C0, calcAnalyze(), EPSILON_EFF_PRM, FREQUENCY_PRM, m_parameters, M_PI, MAX_ERROR, PHYS_LEN_PRM, and Z0_PRM.
Referenced by COPLANAR::calcSynthesize(), and TWISTEDPAIR::calcSynthesize().
      
  | 
  protectedinherited | 
@function setErrorLevel
set an error / warning level for a given parameter.
| aP | parameter | 
| aErrorLevel | Error level | 
Definition at line 432 of file transline.cpp.
References errCol, okCol, SetPropertyBgColorInDialog(), TRANSLINE_ERROR, TRANSLINE_WARNING, and warnCol.
Referenced by checkProperties(), getProperties(), C_MICROSTRIP::showAnalyze(), C_STRIPLINE::showAnalyze(), COAX::showAnalyze(), COPLANAR::showAnalyze(), MICROSTRIP_UI::showAnalyze(), RECTWAVEGUIDE::showAnalyze(), STRIPLINE_UI::showAnalyze(), TWISTEDPAIR::showAnalyze(), C_MICROSTRIP::showSynthesize(), C_STRIPLINE::showSynthesize(), COAX::showSynthesize(), COPLANAR::showSynthesize(), MICROSTRIP_UI::showSynthesize(), RECTWAVEGUIDE::showSynthesize(), STRIPLINE_UI::showSynthesize(), and TWISTEDPAIR::showSynthesize().
      
  | 
  inherited | 
Definition at line 106 of file transline.cpp.
References SetPropertyInDialog().
Referenced by C_MICROSTRIP::showAnalyze(), C_STRIPLINE::showAnalyze(), COAX::showAnalyze(), COPLANAR::showAnalyze(), MICROSTRIP_UI::showAnalyze(), RECTWAVEGUIDE::showAnalyze(), STRIPLINE_UI::showAnalyze(), TWISTEDPAIR::showAnalyze(), C_MICROSTRIP::showSynthesize(), C_STRIPLINE::showSynthesize(), COAX::showSynthesize(), COPLANAR::showSynthesize(), MICROSTRIP_UI::showSynthesize(), RECTWAVEGUIDE::showSynthesize(), STRIPLINE_UI::showSynthesize(), and TWISTEDPAIR::showSynthesize().
      
  | 
  inherited | 
Definition at line 124 of file transline.cpp.
References SetResultInDialog(), and text.
      
  | 
  inherited | 
Definition at line 130 of file transline.cpp.
References SetResultInDialog(), and text.
Referenced by COAX::show_results(), COPLANAR::show_results(), RECTWAVEGUIDE::show_results(), TWISTEDPAIR::show_results(), C_MICROSTRIP::showAnalyze(), C_STRIPLINE::showAnalyze(), MICROSTRIP_UI::showAnalyze(), STRIPLINE_UI::showAnalyze(), C_MICROSTRIP::showSynthesize(), C_STRIPLINE::showSynthesize(), MICROSTRIP_UI::showSynthesize(), and STRIPLINE_UI::showSynthesize().
      
  | 
  overrideprivatevirtual | 
Shows results.
Reimplemented from TRANSLINE.
Definition at line 373 of file rectwaveguide.cpp.
References EPSILON_EFF_PRM, fc(), FREQUENCY_PRM, kc_square(), kval_square(), LOSS_CONDUCTOR_PRM, LOSS_DIELECTRIC_PRM, TRANSLINE::m_parameters, MAXSTRLEN, TRANSLINE::setResult(), text, Z0EH, and ZF0.
      
  | 
  overrideprivatevirtual | 
Shows synthesis results and checks for errors / warnings.
Reimplemented from TRANSLINE.
Definition at line 351 of file rectwaveguide.cpp.
References ANG_L_PRM, TRANSLINE::m_parameters, PHYS_A_PRM, PHYS_B_PRM, TRANSLINE::setErrorLevel(), TRANSLINE::setProperty(), TRANSLINE_ERROR, TRANSLINE_WARNING, and Z0_PRM.
      
  | 
  overrideprivatevirtual | 
Shows analysis results and checks for errors / warnings.
Reimplemented from TRANSLINE.
Definition at line 325 of file rectwaveguide.cpp.
References ANG_L_PRM, TRANSLINE::isSelected(), TRANSLINE::m_parameters, PHYS_A_PRM, PHYS_B_PRM, PHYS_LEN_PRM, TRANSLINE::setErrorLevel(), TRANSLINE::setProperty(), TRANSLINE_ERROR, TRANSLINE_WARNING, and Z0_PRM.
      
  | 
  protectedinherited | 
@function skin_depth calculate skin depth

Definition at line 234 of file transline.cpp.
References FREQUENCY_PRM, m_parameters, M_PI, MU0, MURC_PRM, and SIGMA_PRM.
Referenced by COPLANAR::calcAnalyze(), and getProperties().
      
  | 
  virtualinherited | 
Definition at line 217 of file transline.cpp.
References calcSynthesize(), checkProperties(), getProperties(), show_results(), and showSynthesize().
      
  | 
  private | 
Definition at line 41 of file rectwaveguide.h.
Referenced by alphac(), and RECTWAVEGUIDE().
      
  | 
  private | 
Definition at line 48 of file rectwaveguide.h.
Referenced by RECTWAVEGUIDE().
      
  | 
  private | 
Definition at line 47 of file rectwaveguide.h.
Referenced by RECTWAVEGUIDE().
      
  | 
  private | 
Definition at line 42 of file rectwaveguide.h.
Referenced by alphac(), and RECTWAVEGUIDE().
      
  | 
  inherited | 
Definition at line 128 of file transline.h.
Referenced by setErrorLevel().
      
  | 
  private | 
Definition at line 49 of file rectwaveguide.h.
Referenced by RECTWAVEGUIDE().
      
  | 
  private | 
Definition at line 43 of file rectwaveguide.h.
Referenced by RECTWAVEGUIDE().
      
  | 
  inherited | 
Definition at line 86 of file transline.h.
Referenced by C_MICROSTRIP::C_MICROSTRIP(), C_STRIPLINE::C_STRIPLINE(), COAX::COAX(), COPLANAR::COPLANAR(), GROUNDEDCOPLANAR::GROUNDEDCOPLANAR(), MICROSTRIP_UI::MICROSTRIP_UI(), RECTWAVEGUIDE::RECTWAVEGUIDE(), STRIPLINE_UI::STRIPLINE_UI(), TRANSLINE(), and TWISTEDPAIR::TWISTEDPAIR().
      
  | 
  protectedinherited | 
Definition at line 133 of file transline.h.
Referenced by RECTWAVEGUIDE::alphac(), COAX::alphac_coax(), RECTWAVEGUIDE::alphad(), COAX::alphad_coax(), COAX::calcAnalyze(), COPLANAR::calcAnalyze(), RECTWAVEGUIDE::calcAnalyze(), TWISTEDPAIR::calcAnalyze(), COAX::calcSynthesize(), COPLANAR::calcSynthesize(), RECTWAVEGUIDE::calcSynthesize(), TWISTEDPAIR::calcSynthesize(), checkProperties(), RECTWAVEGUIDE::fc(), RECTWAVEGUIDE::get_rectwaveguide_comp(), RECTWAVEGUIDE::get_rectwaveguide_elec(), RECTWAVEGUIDE::get_rectwaveguide_phys(), RECTWAVEGUIDE::get_rectwaveguide_sub(), C_MICROSTRIP::getProperties(), C_STRIPLINE::getProperties(), MICROSTRIP_UI::getProperties(), STRIPLINE_UI::getProperties(), getProperties(), Init(), RECTWAVEGUIDE::kc_square(), RECTWAVEGUIDE::kval_square(), minimizeZ0Error1D(), COAX::show_results(), COPLANAR::show_results(), RECTWAVEGUIDE::show_results(), TWISTEDPAIR::show_results(), COAX::showAnalyze(), COPLANAR::showAnalyze(), RECTWAVEGUIDE::showAnalyze(), TWISTEDPAIR::showAnalyze(), COAX::showSynthesize(), COPLANAR::showSynthesize(), RECTWAVEGUIDE::showSynthesize(), TWISTEDPAIR::showSynthesize(), skin_depth(), and TRANSLINE().
      
  | 
  private | 
Definition at line 40 of file rectwaveguide.h.
Referenced by RECTWAVEGUIDE().
      
  | 
  private | 
Definition at line 46 of file rectwaveguide.h.
Referenced by RECTWAVEGUIDE().
      
  | 
  inherited | 
Definition at line 130 of file transline.h.
Referenced by Init(), and setErrorLevel().
      
  | 
  inherited | 
Definition at line 129 of file transline.h.
Referenced by setErrorLevel().
      
  | 
  private | 
Definition at line 44 of file rectwaveguide.h.
Referenced by RECTWAVEGUIDE().
      
  | 
  private | 
Definition at line 45 of file rectwaveguide.h.
Referenced by RECTWAVEGUIDE(), and show_results().