# Virgo model Interferometer for Finesse 3. Can be used with the [finesse-virgo](https://gitlab.com/ifosim/finesse/finesse-virgo) package. Katscript files are organized by priority number (first two number), which indicate the file loading order, the lowest at first. ## Sections Katscript files are organized in different types, which are `values`, `optical setup`, `link`, `cavities definition`, `degree of freedom`, `detectors` and `after variables`. ### values priority number from 00 to 09 Contains values used in the setup ### optical setup priority number from 10 to 19 Defined part of the optical setup (Laser, Mirror, etc.) ### link priority number from 20 to 49 Link together parts of the optical setup defined before ### cavities priority number from 50 to 69 Defines Finesse 3 cavity ### degree of freedom priority number from 70 to 89 Defines Finesse 3 degree of freedom ### detectors priority number from 70 to 89 Add Finesse 3 readout ### after variables priority number from 90 to 99 Defines variable which depends of components in the setup for preprocessing (finesse-virgo package for example) ## Getting started Code example to build a Virgo model with these scripts. ```py virgo = Virgo( files_to_parse = [ "00_variables.kat", "01_arm_north.kat", "01_arm_west.kat", "01_detection.kat", "01_laser_and_modulator.kat", "01_recycling_cavity.kat", "02_B5_path.kat", "05_attenuator.kat", "05_link_length.kat", "05_modulation.kat", "05_tuning.kat", "10_laser_and_modulator.kat", "10_faraday_isolator.kat", "10_recycling_cavity.kat", "10_arm_north.kat", "10_arm_west.kat", "10_detection.kat", "10_B2_attenuator.kat", "10_B4_attenuator.kat", "25_link_laser_and_modulator_faraday_isolator_noSIB1.kat", "20_link_faraday_isolator_recycling_cavity.kat", "25_link_faraday_isolator_B2_attenuator_noSIB2.kat", "20_link_recycling_cavity_arms.kat", "25_link_recycling_cavity_detection_noSDB1.kat", "25_link_recycling_cavity_B4_attenuator_noSPRB.kat", "30_link_arm_north_SNEB.kat", "50_cavities.kat", "70_detectors.kat", "70_degree_of_freedom.kat", "99_after_variables.kat", ], ) ``` 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.