def _s_CPW_strip_T(self): """creates top CPW""" vs=sP([(self.locpw-self.w/2.0, -self.end_cpw_x), (self.locpw-self.w/2.0+self.w, -self.end_cpw_x), (self.locpw+self.qdt_gate_width/2.0, self.gate_stop), (self.locpw-self.qdt_gate_width/2.0, self.gate_stop)]) vs=sP([(self.l_idt_x+self.idt_wbox,self.ocpw-self.w/2.0+self.gap+self.w), (self.end_cpw_x, -self.end_cpw_x), (self.locpw-self.w/2.0-self.gap, -self.end_cpw_x), (self.locpw-self.gate_gap/2.0,self.ocpw-self.w/2.0+self.gap+self.w) ], vs) vs=sP([(self.locpw-self.gate_gap/2.0, self.ocpw-self.w/2.0+self.gap+self.w), (self.locpw-self.gate_gap/2.0-10.0e-6, self.ocpw+self.w/2.0), (self.locpw-self.gate_gap/2.0-30.0e-6, self.ocpw+self.w/2.0), (self.locpw-self.gate_gap/2.0-40.0e-6, self.ocpw-self.w/2.0+self.gap+self.w), ], vs) vs=sP([(self.locpw+self.gate_gap/2.0, self.ocpw-self.w/2.0+self.gap+self.w), (self.locpw+self.gate_gap/2.0+10.0e-6, self.ocpw+self.w/2.0), (self.locpw+self.gate_gap/2.0+30.0e-6, self.ocpw+self.w/2.0), (self.locpw+self.gate_gap/2.0+40.0e-6, self.ocpw-self.w/2.0+self.gap+self.w), ], vs) vs=sP([(self.r_idt_x-self.idt_wbox,self.ocpw-self.w/2.0+self.gap+self.w), (-self.end_cpw_x, -self.end_cpw_x), (self.locpw+self.w/2.0+self.gap, -self.end_cpw_x), (self.locpw+self.gate_gap/2.0,self.ocpw-self.w/2.0+self.gap+self.w) ], vs) return vs
def _s_CPW_strip_L(self): """creates left CPW""" vs = sP([(self.end_cpw_x, self.ocpw - self.w / 2.0), (self.end_cpw_x, self.ocpw - self.w / 2.0 + self.w), (self.l_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0 + self.w), (self.l_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0)]) vs = sP( [(self.end_cpw_x, self.ocpw - self.w / 2.0 + self.gap + self.w), (self.end_cpw_x, -self.end_cpw_x), (self.l_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0 + self.gap + self.w)], vs) vs = sP([ (self.end_cpw_x, self.ocpw - self.w / 2.0 - self.gap), (self.end_cpw_x, self.end_cpw_x), (self.l_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0 - self.gap) ], vs) vs = sP([(self.l_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0), (self.l_idt_x + self.idt_conn_w / 2.0, self.ocpw - self.w / 2.0 - self.idt_conn_h), (self.l_idt_x - self.idt_conn_w / 2.0, self.ocpw - self.w / 2.0 - self.idt_conn_h), (self.l_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0)], vs) vs = sP([ (self.l_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0 - self.gap), (self.l_idt_x + self.idt_conn_w / 2.0, self.ocpw - self.w / 2.0 - self.gap + self.idt_conn_h), (self.l_idt_x - self.idt_conn_w / 2.0, self.ocpw - self.w / 2.0 - self.gap + self.idt_conn_h), (self.l_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0 - self.gap) ], vs) return vs
def _s_testpad_TL(self): """returns top left part of test pad""" return sP([(-self.testpad_width/2.0, -self.testpad_height/2.0), (-self.testpad_width/2.0, -self.testpad_height/2.0+self.tp_bond_pad), (-self.contact_width/2.0, -self.contact_height/2.0), (-self.contact_width/2.0, -self.bridge_gap_y/2.0), (-self.bridge_gap_x/2.0, -self.bridge_gap_y/2.0), (-self.bridge_gap_x/2.0, -self.contact_height/2.0), (-self.testpad_width/2.0+self.tp_bond_pad, -self.testpad_height/2.0)])
def _s_markbox_BL(self): """returns a bottom left mark box with the right side open for a test structure""" return sP([(-self.mb_c, -self.mb_c), (-self.xbox, -self.mb_c), (-self.xbox, -self.ybox), (-self.mb_c, -self.ybox), (-self.mb_c, self.testy-self.gndplane_testgap/2.0), (-self.mb_x-self.M1_size/2.0, self.testy-self.gndplane_testgap/2.0), (-self.mb_x-self.M1_size/2.0, self.testy+self.gndplane_testgap/2.0), (-self.mb_c, self.testy+self.gndplane_testgap/2.0)])
def _s_markbox_BL(self): """returns a bottom left mark box with the right side open for a test structure""" return sP([(-self.mb_c, -self.mb_c), (-self.xbox, -self.mb_c), (-self.xbox, -self.ybox), (-self.mb_c, -self.ybox), (-self.mb_c, self.testy - self.gndplane_testgap / 2.0), (-self.mb_x - self.M1_size / 2.0, self.testy - self.gndplane_testgap / 2.0), (-self.mb_x - self.M1_size / 2.0, self.testy + self.gndplane_testgap / 2.0), (-self.mb_c, self.testy + self.gndplane_testgap / 2.0)])
def _s_CPW_strip_R(self): """creates right CPW""" vs = sP([(-self.end_cpw_x, self.ocpw - self.w / 2.0), (-self.end_cpw_x, self.ocpw - self.w / 2.0 + self.w), (self.r_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0 + self.w), (self.r_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0)]) vs = sP( [ (-self.end_cpw_x, self.ocpw - self.w / 2.0 + self.gap + self.w), (-self.end_cpw_x, -self.end_cpw_x), #(self.mb_c, self.mb_c), (self.r_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0 + self.gap + self.w) ], vs) vs = sP( [ (-self.end_cpw_x, self.ocpw - self.w / 2.0 - self.gap), (-self.end_cpw_x, self.end_cpw_x), #(self.mb_c, -self.mb_c), (self.r_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0 - self.gap) ], vs) vs = sP([(self.r_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0), (self.r_idt_x - self.idt_conn_w / 2.0, self.ocpw - self.w / 2.0 - self.idt_conn_h), (self.r_idt_x + self.idt_conn_w / 2.0, self.ocpw - self.w / 2.0 - self.idt_conn_h), (self.r_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0)], vs) vs = sP([ (self.r_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0 - self.gap), (self.r_idt_x - self.idt_conn_w / 2.0, self.ocpw - self.w / 2.0 - self.gap + self.idt_conn_h), (self.r_idt_x + self.idt_conn_w / 2.0, self.ocpw - self.w / 2.0 - self.gap + self.idt_conn_h), (self.r_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0 - self.gap) ], vs) return vs
def _s_testpad_TL(self): """returns top left part of test pad""" return sP([(-self.testpad_width / 2.0, -self.testpad_height / 2.0), (-self.testpad_width / 2.0, -self.testpad_height / 2.0 + self.tp_bond_pad), (-self.contact_width / 2.0, -self.contact_height / 2.0), (-self.contact_width / 2.0, -self.bridge_gap_y / 2.0), (-self.bridge_gap_x / 2.0, -self.bridge_gap_y / 2.0), (-self.bridge_gap_x / 2.0, -self.contact_height / 2.0), (-self.testpad_width / 2.0 + self.tp_bond_pad, -self.testpad_height / 2.0)])
def _s_CPW_strip_L(self): """creates left CPW""" vs=sP([(self.end_cpw_x, self.ocpw-self.w/2.0), (self.end_cpw_x, self.ocpw-self.w/2.0+self.w), (self.l_idt_x+self.idt_wbox, self.ocpw-self.w/2.0+self.w), (self.l_idt_x+self.idt_wbox, self.ocpw-self.w/2.0)]) vs=sP([(self.end_cpw_x, self.ocpw-self.w/2.0+self.gap+self.w), (self.end_cpw_x, -self.end_cpw_x), (self.l_idt_x+self.idt_wbox, self.ocpw-self.w/2.0+self.gap+self.w)], vs) vs=sP([(self.end_cpw_x, self.ocpw-self.w/2.0-self.gap), (self.end_cpw_x, self.end_cpw_x), (self.l_idt_x+self.idt_wbox, self.ocpw-self.w/2.0-self.gap)], vs) vs=sP([(self.l_idt_x+self.idt_wbox, self.ocpw-self.w/2.0), (self.l_idt_x+self.idt_conn_w/2.0, self.ocpw-self.w/2.0-self.idt_conn_h), (self.l_idt_x-self.idt_conn_w/2.0, self.ocpw-self.w/2.0-self.idt_conn_h), (self.l_idt_x-self.idt_wbox, self.ocpw-self.w/2.0)], vs) vs=sP([(self.l_idt_x+self.idt_wbox, self.ocpw-self.w/2.0-self.gap), (self.l_idt_x+self.idt_conn_w/2.0, self.ocpw-self.w/2.0-self.gap+self.idt_conn_h), (self.l_idt_x-self.idt_conn_w/2.0, self.ocpw-self.w/2.0-self.gap+self.idt_conn_h), (self.l_idt_x-self.idt_wbox, self.ocpw-self.w/2.0-self.gap)], vs) return vs
def _s_CPW_strip_T(self): """creates top CPW""" vs = sP([(self.locpw - self.w / 2.0, -self.end_cpw_x), (self.locpw - self.w / 2.0 + self.w, -self.end_cpw_x), (self.locpw + self.qdt_gate_width / 2.0, self.gate_stop), (self.locpw - self.qdt_gate_width / 2.0, self.gate_stop)]) vs = sP([(self.l_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0 + self.gap + self.w), (self.end_cpw_x, -self.end_cpw_x), (self.locpw - self.w / 2.0 - self.gap, -self.end_cpw_x), (self.locpw - self.gate_gap / 2.0, self.ocpw - self.w / 2.0 + self.gap + self.w)], vs) vs = sP([ (self.locpw - self.gate_gap / 2.0, self.ocpw - self.w / 2.0 + self.gap + self.w), (self.locpw - self.gate_gap / 2.0 - 10.0e-6, self.ocpw + self.w / 2.0), (self.locpw - self.gate_gap / 2.0 - 30.0e-6, self.ocpw + self.w / 2.0), (self.locpw - self.gate_gap / 2.0 - 40.0e-6, self.ocpw - self.w / 2.0 + self.gap + self.w), ], vs) vs = sP([ (self.locpw + self.gate_gap / 2.0, self.ocpw - self.w / 2.0 + self.gap + self.w), (self.locpw + self.gate_gap / 2.0 + 10.0e-6, self.ocpw + self.w / 2.0), (self.locpw + self.gate_gap / 2.0 + 30.0e-6, self.ocpw + self.w / 2.0), (self.locpw + self.gate_gap / 2.0 + 40.0e-6, self.ocpw - self.w / 2.0 + self.gap + self.w), ], vs) vs = sP([(self.r_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0 + self.gap + self.w), (-self.end_cpw_x, -self.end_cpw_x), (self.locpw + self.w / 2.0 + self.gap, -self.end_cpw_x), (self.locpw + self.gate_gap / 2.0, self.ocpw - self.w / 2.0 + self.gap + self.w)], vs) return vs
def _s_labelbox_TL(self): """returns a top left label box with the right side open""" return sP([(-self.mb_c, self.mb_c), (-self.xbox, self.mb_c), (-self.xbox, self.ybox), (-self.mb_c, self.ybox), (-self.mb_c, self.mb_y+self.M1_size/2.0+self.lbl_height), (-self.mb_x-self.lbl_width/2.0, self.mb_y+self.M1_size/2.0+self.lbl_height), (-self.mb_x-self.lbl_width/2.0, self.mb_y+self.M1_size/2.0), (-self.mb_x-self.M1_size/2.0, self.mb_y+self.M1_size/2.0), (-self.mb_x-self.M1_size/2.0, self.mb_y-self.M1_size/2.0), (-self.mb_x+self.M1_size/2.0, self.mb_y-self.M1_size/2.0), (-self.mb_x+self.M1_size/2.0, self.mb_y+self.M1_size/2.0), (-self.mb_c, self.mb_y+self.M1_size/2.0)])
def _s_CPW_strip_R(self): """creates right CPW""" vs=sP([(-self.end_cpw_x, self.ocpw-self.w/2.0), (-self.end_cpw_x, self.ocpw-self.w/2.0+self.w), (self.r_idt_x-self.idt_wbox, self.ocpw-self.w/2.0+self.w), (self.r_idt_x-self.idt_wbox, self.ocpw-self.w/2.0)]) vs=sP([(-self.end_cpw_x, self.ocpw-self.w/2.0+self.gap+self.w), (-self.end_cpw_x, -self.end_cpw_x), #(self.mb_c, self.mb_c), (self.r_idt_x-self.idt_wbox, self.ocpw-self.w/2.0+self.gap+self.w)], vs) vs=sP([(-self.end_cpw_x, self.ocpw-self.w/2.0-self.gap), (-self.end_cpw_x, self.end_cpw_x), #(self.mb_c, -self.mb_c), (self.r_idt_x-self.idt_wbox, self.ocpw-self.w/2.0-self.gap)], vs) vs=sP([(self.r_idt_x-self.idt_wbox, self.ocpw-self.w/2.0), (self.r_idt_x-self.idt_conn_w/2.0, self.ocpw-self.w/2.0-self.idt_conn_h), (self.r_idt_x+self.idt_conn_w/2.0, self.ocpw-self.w/2.0-self.idt_conn_h), (self.r_idt_x+self.idt_wbox, self.ocpw-self.w/2.0)], vs) vs=sP([(self.r_idt_x-self.idt_wbox, self.ocpw-self.w/2.0-self.gap), (self.r_idt_x-self.idt_conn_w/2.0, self.ocpw-self.w/2.0-self.gap+self.idt_conn_h), (self.r_idt_x+self.idt_conn_w/2.0, self.ocpw-self.w/2.0-self.gap+self.idt_conn_h), (self.r_idt_x+self.idt_wbox, self.ocpw-self.w/2.0-self.gap)], vs) return vs
def _s_labelbox_TL(self): """returns a top left label box with the right side open""" return sP([ (-self.mb_c, self.mb_c), (-self.xbox, self.mb_c), (-self.xbox, self.ybox), (-self.mb_c, self.ybox), (-self.mb_c, self.mb_y + self.M1_size / 2.0 + self.lbl_height), (-self.mb_x - self.lbl_width / 2.0, self.mb_y + self.M1_size / 2.0 + self.lbl_height), (-self.mb_x - self.lbl_width / 2.0, self.mb_y + self.M1_size / 2.0), (-self.mb_x - self.M1_size / 2.0, self.mb_y + self.M1_size / 2.0), (-self.mb_x - self.M1_size / 2.0, self.mb_y - self.M1_size / 2.0), (-self.mb_x + self.M1_size / 2.0, self.mb_y - self.M1_size / 2.0), (-self.mb_x + self.M1_size / 2.0, self.mb_y + self.M1_size / 2.0), (-self.mb_c, self.mb_y + self.M1_size / 2.0) ])
def _s_bond_pad_TL(self): """creates top left part of bond pad""" vs=sC(-self.xbox+self.bond_pad/2.0, self.ocpw, self.bond_pad, self.bond_pad) vs=sP([(-self.xbox+self.bond_pad+self.taper_length, self.ocpw-self.w/2.0), (-self.xbox+self.bond_pad+self.taper_length, self.ocpw-self.w/2.0+self.w), (-self.mb_c, self.ocpw-self.w/2.0+self.w), (-self.mb_c, self.ocpw-self.w/2.0)], vs) vs=sT(-self.mb_c, self.ocpw-self.w/2.0, self.Au_sec, self.w, nt=4, vs=vs) vs=sT(-self.mb_c, self.ocpw+self.w/2.0+self.gap, self.Au_sec, self.mb_c-self.ocpw-self.w/2.0-self.gap, nt=30, vs=vs) vs=sT(-self.mb_c, -self.mb_c, self.Au_sec, self.mb_c-self.w/2.0-self.gap+self.ocpw, nt=30, vs=vs) vs=sP([(-self.xbox+self.bond_pad, -self.bond_pad/2.0+self.ocpw), (-self.xbox+self.bond_pad, self.bond_pad/2.0+self.ocpw), (-self.xbox+self.bond_pad+self.taper_length, self.ocpw+self.w/2.0), (-self.xbox+self.bond_pad+self.taper_length, self.ocpw-self.w/2.0)], vs) vs=sP([(-self.xbox, self.bond_pad/2.0+self.bond_pad_gap+self.ocpw), (-self.xbox+self.bond_pad, self.bond_pad/2.0+self.bond_pad_gap+self.ocpw), (-self.xbox+self.bond_pad, self.mb_c), (-self.xbox, self.mb_c)], vs) vs=sP([(-self.xbox+self.bond_pad, self.bond_pad/2.0+self.bond_pad_gap+self.ocpw), (-self.xbox+self.bond_pad, self.mb_c), (-self.xbox+self.bond_pad+self.taper_length, self.mb_c), (-self.xbox+self.bond_pad+self.taper_length, self.w/2.0+self.gap+self.ocpw)], vs) vs=sP([(-(self.xbox-self.bond_pad-self.taper_length), self.w/2.0+self.gap+self.ocpw), (-(self.xbox-self.bond_pad-self.taper_length), self.mb_c), (-self.mb_c, self.mb_c), (-self.mb_c, self.w/2.0+self.gap+self.ocpw)], vs) vs=sP([(-self.xbox, -self.bond_pad/2.0-self.bond_pad_gap+self.ocpw), (-(self.xbox-self.bond_pad), -self.bond_pad/2.0-self.bond_pad_gap+self.ocpw), (-(self.xbox-self.bond_pad), -self.mb_c), (-self.xbox, -self.mb_c)], vs) vs=sP([(-(self.xbox-self.bond_pad), -self.bond_pad/2.0-self.bond_pad_gap+self.ocpw), (-(self.xbox-self.bond_pad), -self.mb_c), (-(self.xbox-self.bond_pad-self.taper_length), -self.mb_c), (-(self.xbox-self.bond_pad-self.taper_length), -self.w/2.0-self.gap+self.ocpw)], vs) vs=sP([(-(self.xbox-self.bond_pad-self.taper_length), -self.w/2.0-self.gap+self.ocpw), (-(self.xbox-self.bond_pad-self.taper_length), -self.mb_c), (-self.mb_c, -self.mb_c), (-self.mb_c, -self.w/2.0-self.gap+self.ocpw)], vs) return vs
def _s_CPW_strip_B(self): """creates bottom CPW""" vs=sP([(self.locpw-self.w/2.0, self.end_cpw_x), (self.locpw-self.w/2.0+self.w, self.end_cpw_x), (self.locpw+self.qdt_gate_width/2.0, self.ocpw-self.w/2.0-self.gap), (self.locpw-self.qdt_gate_width/2.0, self.ocpw-self.w/2.0-self.gap)]) vs=sP([(self.l_idt_x+self.idt_wbox, self.ocpw-self.w/2.0-self.gap), (self.end_cpw_x, self.end_cpw_x), (self.locpw-self.w/2.0-self.gap, self.end_cpw_x), (self.locpw-self.w/2.0-self.gap+30.0e-6, self.end_cpw_x/2), (self.locpw-self.w/2.0-self.gap+20.0e-6, self.end_cpw_x/4)], vs) vs=sP([(self.r_idt_x-self.idt_wbox, self.ocpw-self.w/2.0-self.gap), (-self.end_cpw_x, self.end_cpw_x), (self.locpw+self.w/2.0+self.gap, self.end_cpw_x), (self.locpw+self.w/2.0+self.gap-30.0e-6, self.end_cpw_x/2), (self.locpw+self.w/2.0+self.gap-0.0e-6, self.end_cpw_x/4)], vs) vs=sP([(self.locpw-self.gate_gap/2.0, self.ocpw-3*self.w/2.0-2*self.gap), (self.locpw-self.gate_gap/2.0-10.0e-6, self.ocpw-3*self.w/2.0-self.gap), (self.locpw-self.gate_gap/2.0-30.0e-6, self.ocpw-3*self.w/2.0-self.gap), (self.locpw-self.gate_gap/2.0-40.0e-6, self.ocpw-3*self.w/2.0-2*self.gap), ], vs) vs=sP([(self.locpw+self.gate_gap/2.0, self.ocpw-3*self.w/2.0-2*self.gap), (self.locpw+self.gate_gap/2.0+10.0e-6, self.ocpw-3*self.w/2.0-self.gap), (self.locpw+self.gate_gap/2.0+30.0e-6, self.ocpw-3*self.w/2.0-self.gap), (self.locpw+self.gate_gap/2.0+40.0e-6, self.ocpw-3*self.w/2.0-2*self.gap), ], vs) vs=sP([(self.locpw-self.gate_gap/2.0-40.0e-6, self.ocpw-3*self.w/2.0-2*self.gap), (self.locpw-self.w/2.0, self.end_cpw_x), (self.locpw, self.end_cpw_x), (self.locpw, self.ocpw-3*self.w/2.0-2*self.gap), ], vs) vs=sP([(self.locpw+self.gate_gap/2.0+40.0e-6, self.ocpw-3*self.w/2.0-2*self.gap), (self.locpw+self.w/2.0, self.end_cpw_x), (self.locpw, self.end_cpw_x), (self.locpw, self.ocpw-3*self.w/2.0-2*self.gap), ], vs) return vs
def _s_bond_pad_TL(self): """creates top left part of bond pad""" vs = sC(-self.xbox + self.bond_pad / 2.0, self.ocpw, self.bond_pad, self.bond_pad) vs = sP([(-self.xbox + self.bond_pad + self.taper_length, self.ocpw - self.w / 2.0), (-self.xbox + self.bond_pad + self.taper_length, self.ocpw - self.w / 2.0 + self.w), (-self.mb_c, self.ocpw - self.w / 2.0 + self.w), (-self.mb_c, self.ocpw - self.w / 2.0)], vs) vs = sT(-self.mb_c, self.ocpw - self.w / 2.0, self.Au_sec, self.w, nt=4, vs=vs) vs = sT(-self.mb_c, self.ocpw + self.w / 2.0 + self.gap, self.Au_sec, self.mb_c - self.ocpw - self.w / 2.0 - self.gap, nt=30, vs=vs) vs = sT(-self.mb_c, -self.mb_c, self.Au_sec, self.mb_c - self.w / 2.0 - self.gap + self.ocpw, nt=30, vs=vs) vs = sP( [(-self.xbox + self.bond_pad, -self.bond_pad / 2.0 + self.ocpw), (-self.xbox + self.bond_pad, self.bond_pad / 2.0 + self.ocpw), (-self.xbox + self.bond_pad + self.taper_length, self.ocpw + self.w / 2.0), (-self.xbox + self.bond_pad + self.taper_length, self.ocpw - self.w / 2.0)], vs) vs = sP( [(-self.xbox, self.bond_pad / 2.0 + self.bond_pad_gap + self.ocpw), (-self.xbox + self.bond_pad, self.bond_pad / 2.0 + self.bond_pad_gap + self.ocpw), (-self.xbox + self.bond_pad, self.mb_c), (-self.xbox, self.mb_c)], vs) vs = sP([(-self.xbox + self.bond_pad, self.bond_pad / 2.0 + self.bond_pad_gap + self.ocpw), (-self.xbox + self.bond_pad, self.mb_c), (-self.xbox + self.bond_pad + self.taper_length, self.mb_c), (-self.xbox + self.bond_pad + self.taper_length, self.w / 2.0 + self.gap + self.ocpw)], vs) vs = sP([(-(self.xbox - self.bond_pad - self.taper_length), self.w / 2.0 + self.gap + self.ocpw), (-(self.xbox - self.bond_pad - self.taper_length), self.mb_c), (-self.mb_c, self.mb_c), (-self.mb_c, self.w / 2.0 + self.gap + self.ocpw)], vs) vs = sP([ (-self.xbox, -self.bond_pad / 2.0 - self.bond_pad_gap + self.ocpw), (-(self.xbox - self.bond_pad), -self.bond_pad / 2.0 - self.bond_pad_gap + self.ocpw), (-(self.xbox - self.bond_pad), -self.mb_c), (-self.xbox, -self.mb_c) ], vs) vs = sP( [(-(self.xbox - self.bond_pad), -self.bond_pad / 2.0 - self.bond_pad_gap + self.ocpw), (-(self.xbox - self.bond_pad), -self.mb_c), (-(self.xbox - self.bond_pad - self.taper_length), -self.mb_c), (-(self.xbox - self.bond_pad - self.taper_length), -self.w / 2.0 - self.gap + self.ocpw)], vs) vs = sP( [(-(self.xbox - self.bond_pad - self.taper_length), -self.w / 2.0 - self.gap + self.ocpw), (-(self.xbox - self.bond_pad - self.taper_length), -self.mb_c), (-self.mb_c, -self.mb_c), (-self.mb_c, -self.w / 2.0 - self.gap + self.ocpw)], vs) return vs
def _s_CPW_strip_B(self): """creates bottom CPW""" vs = sP([(self.locpw - self.w / 2.0, self.end_cpw_x), (self.locpw - self.w / 2.0 + self.w, self.end_cpw_x), (self.locpw + self.qdt_gate_width / 2.0, self.ocpw - self.w / 2.0 - self.gap), (self.locpw - self.qdt_gate_width / 2.0, self.ocpw - self.w / 2.0 - self.gap)]) vs = sP([(self.l_idt_x + self.idt_wbox, self.ocpw - self.w / 2.0 - self.gap), (self.end_cpw_x, self.end_cpw_x), (self.locpw - self.w / 2.0 - self.gap, self.end_cpw_x), (self.locpw - self.w / 2.0 - self.gap + 30.0e-6, self.end_cpw_x / 2), (self.locpw - self.w / 2.0 - self.gap + 20.0e-6, self.end_cpw_x / 4)], vs) vs = sP([ (self.r_idt_x - self.idt_wbox, self.ocpw - self.w / 2.0 - self.gap), (-self.end_cpw_x, self.end_cpw_x), (self.locpw + self.w / 2.0 + self.gap, self.end_cpw_x), (self.locpw + self.w / 2.0 + self.gap - 30.0e-6, self.end_cpw_x / 2), (self.locpw + self.w / 2.0 + self.gap - 0.0e-6, self.end_cpw_x / 4) ], vs) vs = sP([ (self.locpw - self.gate_gap / 2.0, self.ocpw - 3 * self.w / 2.0 - 2 * self.gap), (self.locpw - self.gate_gap / 2.0 - 10.0e-6, self.ocpw - 3 * self.w / 2.0 - self.gap), (self.locpw - self.gate_gap / 2.0 - 30.0e-6, self.ocpw - 3 * self.w / 2.0 - self.gap), (self.locpw - self.gate_gap / 2.0 - 40.0e-6, self.ocpw - 3 * self.w / 2.0 - 2 * self.gap), ], vs) vs = sP([ (self.locpw + self.gate_gap / 2.0, self.ocpw - 3 * self.w / 2.0 - 2 * self.gap), (self.locpw + self.gate_gap / 2.0 + 10.0e-6, self.ocpw - 3 * self.w / 2.0 - self.gap), (self.locpw + self.gate_gap / 2.0 + 30.0e-6, self.ocpw - 3 * self.w / 2.0 - self.gap), (self.locpw + self.gate_gap / 2.0 + 40.0e-6, self.ocpw - 3 * self.w / 2.0 - 2 * self.gap), ], vs) vs = sP([ (self.locpw - self.gate_gap / 2.0 - 40.0e-6, self.ocpw - 3 * self.w / 2.0 - 2 * self.gap), (self.locpw - self.w / 2.0, self.end_cpw_x), (self.locpw, self.end_cpw_x), (self.locpw, self.ocpw - 3 * self.w / 2.0 - 2 * self.gap), ], vs) vs = sP([ (self.locpw + self.gate_gap / 2.0 + 40.0e-6, self.ocpw - 3 * self.w / 2.0 - 2 * self.gap), (self.locpw + self.w / 2.0, self.end_cpw_x), (self.locpw, self.end_cpw_x), (self.locpw, self.ocpw - 3 * self.w / 2.0 - 2 * self.gap), ], vs) return vs