pcdshub / solid-attenuator

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

ENH: first pass at get_ladder_config[s] #61

Closed klauer closed 3 years ago

klauer commented 3 years ago

Description

New algorithm to support more than just in/out filters. This could be considered a generalized version of the first one, which it's loosely based on.

This doesn't take into account material prioritization, which may be a bad thing. I'll need to follow up again as my last question regarding it was ignored. (If it's required for the energy ranges the attenuator will be used in, it's a bit weird that the upstream-most blade would have a silicon filter instead of the downstream-most...)

Motivation and Context

Closes #16

How Has This Been Tested?

A bit in the test suite. Have not really verified the results just yet - hopefully they're not wildly off.

Some plots: image image

Where Has This Been Documented?

Basic algorithm documentation

klauer commented 3 years ago

I gave this another brief look-over and don't see anything majorly wrong with it. I need to do a bit of package restructuring to better allow for the 4 new solid attenuator IOCs, and would prefer to get this merged before starting that work.

Even so, if anyone has time for a post-review for this specific portion, I'd be grateful for the input.