- class RouteFramed(design, name: str | None = None, options: Dict | None = None, type: str = 'CPW', **kwargs)[source]¶
A non-meandered sample_shapes CPW that is auto-generated between 2 components. Designed to avoid self-collisions and collisions with components it is attached to.
This class extends the QComponent class.
Components are situated along xy axes in 2 dimensions. No rotation is allowed (yet). Their bounding boxes may not overlap, though they may be situated at arbitrary x and y provided these conditions are met.
Pins point normal to qubits (“directly outward”) and either in the x or y directions. They must not protrude from the exact corner of a component. [This last assumption has implications for 2-segment connections.]
Intersection of CPWs with themselves or the qubits they stem from is prohibited. Intersection with other components/CPWs has not yet been considered.
Components may not share an edge; a nonzero gap must be present between 2 adjacent qubits.
CPWs must be attached to protruding leads via terminations head-on, not from the sides.
Initializes all Routes.
Calls the QComponent __init__() to create a new Metal component. Before that, it adds the variables that are needed to support routing.
design (QDesign) – The parent design.
name (str) – Name of the component. Auto-named if possible.
options (dict) – User options that will override the defaults. Defaults to None.
type (string) – Supports Route (single layer trace) and CPW (adds the gap around it). Defaults to “CPW”.
the full module name with the class name.
Return a reference to the parent design object.
The unique id of component within a design.
Sum of all segments length, including the head.
The Qiskit Metal Logger.
Name of the component.
A dictionary of the component-designer-defined options.
The names of the pins.
Get a list of the names of the element tables.
Dictionary of pins.
Metadata allows a designer to store extra information or analysis results.
Stores the latest status of the component.
Add a dependency between one component and another.
RouteFramed.add_pin(name, points, width[, ...])
Adds a pin from two points which are normal/tangent to the intended plane of the pin.
RouteFramed.add_qgeometry(kind, geometry[, ...])
Method to assign a direction to a point.
WARNING: Do NOT use this method during generation of component instance.
Generate the list of 2D coordinates comprising a CPW between startpin and endpin.
Delete colinear points from the given array.
Delete the QComponent.
Interface for components to get pin data.
Assembles the list of points for the route by concatenating: head_pts + intermediate_pts, tail_pts.
Creates template options for the Metal Component class required for the class to function, based on the design template; i.e., be created, made, and rendered.
Access the last element in the QRouteLead.
RouteFramed.get_unit_vectors(start, end[, snap])
Return the unit and target vector in which the CPW should process as its coordinate sys.
Computes how much length to deduce for compensating the fillet settings.
Use user-specified parameters and geometric orientation of components to determine whether the CPW connecting the pins on either end requires 1, 2, or 3 segments.
Turns the CPW points into design elements, and add them to the design object.
Parse the options, converting string into interpreted values.
Parse a string, mappable (dict, Dict), iterable (list, tuple) to account for units conversion, some basic arithmetic, and design variables.
Use the element_handler to get a list of all the table names used in QGeometry.
Fetched the component bound dict_value.
Returns a dict of element qgeometry (shapely geometry) of the component as a python dict, where the dict keys are the names of the qgeometry and the corresponding values are the shapely geometries.
Returns a list of element qgeometry (shapely geometry) of the component as a python list of shapely geometries.
Draw all the qgeometry of the component (polys and path etc.)
Returns the entire element table for the component.
Builds the QComponent.
Defines the lead_extension by adding a point to the self.head/tail.
Defines the jogged lead_extension by adding a series of turns to the self.head/tail.
Defines the CPW pins and returns the pin coordinates and normal direction vector.
- param thin:
If true then any key in the QComponent's options whose value
Get total length of all line segments in a given CPW.