pcdshub / solid-attenuator

LCLS Solid Attenuator System IOC
https://pcdshub.github.io/solid-attenuator
Other
1 stars 4 forks source link

Change the filter calculation method (material-based prioritization) #47

Closed klauer closed 3 years ago

klauer commented 4 years ago

Currently

The "best" configuration is the one closest to the desired attenuation, regardless of filter material.

The ESD notes (which is confirmed by @mseaberg) that this is not the approach that should be taken, as the silicon filters should be protected by the diamond filters.

ESD

According to the ESD (LCLSII-3.5-ES-0267-R1, page 8):

Diamond filters shall always be used when the silicon filters are in the beam (pre-filtering) per Figure 4.

Page 11:

Diamond filter(s) shall always be used to provide attenuation (pre-filtering) when silicon filters are used. The required attenuation and diamond filter thicknesses for pre-filtering the silicon filters in the 6 – 25 keV range is shown in Figure 4.

Page 15:

When operating in the Cu-HXR mode, the MPS shall ensure that: [...]

  • The appropriate diamond pre-filter is inserted prior to inserting a silicon filter,
LCLSII-3.5-ES-0267-R1 / Figure 4 image

Scientist response

Matt noted:

[...] the intention of the diamond filters [is for] protecting the silicon. [...] until they are needed to reduce transmission further, the silicon filters would remain out. This would mean that any time a silicon filter is inserted, all of the diamond filters should already be in. This is only really an issue at low photon energies which we mostly won’t be using this run (aside from possibly during AD machine studies), but it would be good to get this functioning the right way.

and:

This is not super urgent since [...] this mainly matters at low photon energies (and/or high pulse energies, which we’re currently not getting).

Path forward

There is existing code that could be used as a basis for using all of the diamond filters before using the silicon filters, written by @mseaberg. We should look into integrating it well before it's actually needed on the beamline.

I'm hoping it can be done in a somewhat generic way for re-usability between the systems, support stuck filters, etc.

cc @slacAWallace