finesse.script.legacy module

Finesse legacy (Finesse 2) kat-script parser.

class finesse.script.legacy.KatParser[source]

Bases: object

Kat file lexer, parser and builder.

parse(text, model=None, **kwargs)[source]

Parse kat code into a model.

Parameters

textstr

String containing the kat code to be parsed.

modelModel, optional

Model object to add components to. If not specified, a new model will be created.

ignored_blockslist, optional

A list of names of FTBLOCK sections in the kat code to leave out of the model; defaults to empty list.

Returns

Model

The constructed model.

Raises

KatParserError

If an error occurs during parsing or building.

parse_file(path, model=None, **kwargs)[source]

Parse kat code from a file into a model.

Parameters

pathstr or io.FileIO

The path or file object to read kat script from. If an open file object is passed, it will be read from and left open. If a path is passed, it will be opened, read from, then closed.

modelModel, optional

Model object to add components to. If not specified, a new model will be created.

Other Parameters

**kwargs

Keyword parameters supported by parse().

Raises

KatParserError

If an error occurs during parsing or building.

exception finesse.script.legacy.KatParserError(errors, text, **kwargs)[source]

Bases: FinesseException

Kat file parser error.

expected = {'FTblock': 'FTblock name', 'FTend': 'FTend name', 'ad\\s': 'ad name [n m] f node[*]', 'attr\\s': 'attr component parameter value', 'beam\\s': 'beam name [f] node[*]', 'bp\\s': 'bp name x/y parameter node', 'bs1\\s': 'bs1 name T L phi alpha node1 node2 node3 node4', 'bs2\\s': 'bs2 name R L phi alpha node1 node2 node3 node4', 'bs\\s': 'bs name R T phi alpha node1 node2 node3 node4', 'cav\\s': 'cav name component1 node component2 node', 'const\\s': 'const name value', 'dbs\\s': 'dbs name node1 node2 node3 node4', 'freq\\s': None, 'fsig\\s': ('fsig name component [type] f phase [amp]', 'fsig name f'), 'func\\s': 'func name = function-string', 'gauss*\\s': 'gauss* name component node q [qy]', 'gauss\\s': 'gauss name component node w0 z [wy0 zy]', 'gouy\\s': 'gouy name x/y space-list', 'isol\\s': 'isol name S [Loss] node1 node2 [node3]', 'l\\s': 'l name I f [phase] node', 'lambda\\s': 'lambda wavelength', 'lens\\s': 'lens name f node1 node2', 'lock\\s': 'lock name function/set gain accuracy [offset]', 'm1\\s': 'm1 name T L phi node1 node2', 'm2\\s': 'm2 name R L phi node1 node2', 'm\\s': 'm name R T phi node1 node2', 'maxtem\\s': 'maxtem order', 'mod\\s': 'mod name f midx order am/pm/yaw/pitch node1 node2', 'noxaxis': None, 'pd\\s': 'pd[n] name [f1 [phase1 [f2 [phase2 [...] ] ] ] ] node[*]', 'phase\\s': 'phase 0-7', 'put\\s': 'put component parameter function/set/axis', 'qnoised\\s': 'qnoised name num_demods f1 phase1 [f2 phase2 [...]] node[*]', 'qshot\\s': 'qshot name num_demods f1 phase1 [f2 phase2 [...]] node[*]', 'retrace': 'retrace [off|force]', 's\\s': 's name L [n] node1 node2', 'tem\\s': 'tem input n m factor phase', 'variable\\s': 'variable name value', 'x2axis\\s': 'x2axis component parameter lin/log min max steps', 'xaxis\\s': 'xaxis component parameter lin/log min max steps', 'yaxis\\s': 'yaxis [lin/log] abs:deg/db:deg/re:im/abs/db/deg'}
finesse.script.legacy.find_column(text, index)[source]
finesse.script.legacy.get_const(consts, value)[source]
finesse.script.legacy.get_model_element(model, element)[source]
finesse.script.legacy.select_powerdetector(*args, **kwargs)[source]
finesse.script.legacy.select_quantum_noisedetector(*args, **kwargs)[source]