00001 // classes.h 00002 // classes and objects which aid in the creation of SIS receiver models 00003 // 00004 // this file is used by specs.h and build_mixer.inc to specify and construct 00005 // a twinslot receiver model. 00006 00007 #include "supermix.h" 00008 00009 // ========================================================================== 00010 // OBJECTS HOLDING THE CHARACTERISTICS OF THE SUPERCONDUCTING FILMS 00011 00012 struct sc_material { parameter Vgap, Tc, rho_normal; } 00013 nb = { 2.9*mVolt, 9.20*Kelvin, 5.0*Micro*Ohm*Centi*Meter }, 00014 nbtin = { 5.0*mVolt, 15.75*Kelvin, 30.0*Micro*Ohm*Centi*Meter }; 00015 00016 00017 // ========================================================================== 00018 // OBJECTS HOLDING THE CHARACTERISTICS OF THE DIELECTRICS 00019 00020 struct diel_material { parameter eps, tand; } 00021 air = { 1.0, 0.0 }, 00022 sio = { 5.6, 0.0 }; 00023 00024 00025 // ========================================================================== 00026 // THE WIDTHS, LENGTHS, AND DIELECTRIC THICKNESSES OF THE MICROSTRIPS 00027 00028 struct wlt { parameter width, length, thickness; }; 00029 00030 00031 // ========================================================================== 00032 // CLASSES WHICH CAN CALCULATE THE PRODUCT OR RATIO OF TWO SUPPLIED PARAMETERS 00033 // (These will be used to get Rn and Capacitance from Area, RnA, and C/A) 00034 00035 struct product_calc : public abstract_real_parameter 00036 { 00037 const abstract_real_parameter & p1; 00038 const abstract_real_parameter & p2; 00039 00040 product_calc(const abstract_real_parameter & a, 00041 const abstract_real_parameter & b) 00042 : p1(a), p2(b) { } 00043 00044 double get() const { return p1*p2; } 00045 }; 00046 00047 struct ratio_calc : public abstract_real_parameter 00048 { 00049 const abstract_real_parameter & p1; 00050 const abstract_real_parameter & p2; 00051 00052 ratio_calc(const abstract_real_parameter & a, 00053 const abstract_real_parameter & b) 00054 : p1(a), p2(b) { } 00055 00056 double get() const { return p1/p2; } 00057 }; 00058
Please direct comments and corrections to
supermix@submm.caltech.edu
Go to the supermix home page
Generated by
1.2.7