slaclab / lcls-tools

Python tools for LCLS: post processing data, PV handling, pulling archive settings, etc.
Apache License 2.0
2 stars 20 forks source link

Screen Controls For Profile Monitors #162

Open eloiseyang opened 3 months ago

eloiseyang commented 3 months ago

Describe the solution you'd like The screens class should include a function that controls screen position. The function should take one integer argument where 0 represents the default "out" position and numbers greater than 1 represent the "in" positions.

There are two kinds of screens, pop-ins, which have two screen positions, and ladders, which have more than two. The screen class should be aware of the number of screen positions available, and the function should throw an error if the input position does not exist.

Describe alternatives you've considered The screen class could include two separate functions for pop-in and ladder type screens. This design is more explicit, but also more complicated for multiple screen types.