# Virgo model Interferometer for Finesse 3. Can be used with the [finesse-virgo](https://gitlab.com/ifosim/finesse/finesse-virgo) package. ## Getting started For simple use, `layout` file can be used. A layout is a list of files separated by new lines to load in order to create a [finesse3](https://finesse.ifosim.org) model. The "simple" model present some quick model with little components which allows to manipulate easily a finesse model. The "finesse-virgo" model correspond to the model available in the [finesse-virgo package](https://git.ligo.org/finesse/finesse-virgo). ### Example Code example to build a Virgo model with these scripts. ```py from pathlib import Path layout_file = Path("layout/finesse-virgo/no_benches") # path to layout file with layout_file.open() as f: files = f.read().splitlines() # convert layout file to list of path virgo = Virgo( files_to_parse = files, # create model with the given list of path ) ``` The advantage of this is the control we have over the interferometer simulation, and the readibility. Tracking change is also easier, variable definition being detached from setup configuration. ## Sections Katscript files are organized in different types, which are `values`, `optical setup`, `link`, `cavities definition`, `degree of freedom`, `detectors` and `after variables`. ### variables Contains values used in the setup. It can defines variable which depends of components in the setup for preprocessing (finesse-virgo package for example) too. ### components Defined part of the optical setup (Laser, Mirror, etc.) or set of parts. ### links Link together parts of the optical setup defined before ### cavities Defines Finesse3 cavity ### degree of freedom Defines Finesse3 degree of freedom ### detectors Add Finesse3 detectors