add screen and wire definitions - #205
Conversation
| The `ScreenP` parameter group contains parameters for describing a 2-dimensional diagnostic screen used to measure the transverse distribution of a particle beam. | ||
| The components of this group and their defaults are: | ||
| ```{code} yaml | ||
| ScreenP: | ||
| resolution_x: 0 # [int] Number of screen pixels in the horizontal direction. | ||
| resolution_y: 0 # [int] Number of screen pixels in the vertical direction. | ||
| pixel_size: 0 # [m] Size of screen pixels. | ||
| mirror_x: false # [Boolean] If true, mirror the horizontal image. | ||
| mirror_y: false # [Boolean] If turn, mirror the vertical image. |
There was a problem hiding this comment.
A few comments:
- Pixels may not be square so there should be a size for x and y.
resolutionis somewhat cryptic here. How about specifying the index bounds (like the Detector element in Bmad) and that way themirror_x/yparameters can be eliminated.
| An Instrument element is a measurement element for diagnostics. | ||
|
|
||
| Under Construction... | ||
| An Screen element is a transverse profile monitor element that produces a 2-dimensional projection of |
There was a problem hiding this comment.
| An Screen element is a transverse profile monitor element that produces a 2-dimensional projection of | |
| A Screen element is a transverse profile monitor element that produces a 2-dimensional projection of |
|
At BNL we use Multi-wire profile monitors (also called harps) to measure 2D beam profile. See (https://proceedings.jacow.org/pac97/papers/pdf/5P048.PDF) for an example in the AGS. I would propose something like the following: Element name Element description List of element parameters In practical data analysis we usually ignore wire diameter since they are very thin, and assume the profile is not mirrored, but I thought it might be good to include them for completeness. |
|
Since there is much overlap let me suggest that one element kind be used for both single and multi-wire elements. |
Please remove any sensitive information (e.g., passwords, API keys) from your submission.
Please fill in the details for all of the relevant items below.
Thank you for taking the time to complete this PR. It will be reviewed as soon as possible.
If proposing a new type of lattice element, Please provide:
Element name
Screen, Wire
Element description
Screen: Transverse diagnostic screen that measures detailed 2-dimensional projections of the beam distribution.
Wire: Transverse wire that sweeps across a beam distribution to measure a 1-dimensional beam profile.
List of element parameters
ScreenP:
resolution_x: 0 # [int] Number of screen pixels in the horizontal direction.
resolution_y: 0 # [int] Number of screen pixels in the vertical direction.
pixel_size: 0 # [m] Size of screen pixels.
mirror_x: false # [Boolean] If true, mirror the horizontal image.
mirror_y: false # [Boolean] If turn, mirror the vertical image.
WireP:
angle: 0 # [radian] Angle of the wire with respect to the horizontal axis.
n_steps: 1 # [int] Number of steps used during a wire scan.
start_offset: 0 # [m] Wire scan start offset from beam axis.
end_offset: 0 # [m] Wire scan end offset from beam axis.
width: 0 # [m] Wire width.
Physical model
N/A
Alternative descriptions
N/A
Additional information
Screen implementation examples:
Cheetah: https://github.com/desy-ml/cheetah/blob/master/cheetah/accelerator/screen.py
Bmad/Lux: Detector class in https://www.classe.cornell.edu/bmad/manuals/lux.pdf