Closed bruhwiler closed 1 year ago
Replace 90 with 180 in the comment above.
Increasing priority from 2 to 1, because we have asked @moellep to include this capability in the Sirepo-Silas app.
This and all other active issues should be opened in the 'new' rslaser/ repository and closed here.
Okay, I will tackle this issue first thing on Monday.
This issue has been opened in the 'new' rslaser/ repository and will be closed here.
Simplest implementation would be a flag in the LaserPulse class indicating whether the pulse is traveling 'forward' or 'backward'. A 90 degree reflection from a flat ideal mirror would simply toggle the flag.
We will need to consider other reflection angles in the future. For a flat ideal mirror, in this more general case, the boolean flag could be replaced with an angle that defines the direction. In this case, encountering a mirror with a specified angle would simply require an appropriate update of the internal angle variable.
SRW has a flat mirror object, but previous experience indicates that it only works reliably for grazing incidence angles, which is the case for X-ray optics.