You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Check that changes in ref energy and length properly handled for BendGroup, multipoles, RF, etc.
Need to have superimpose! handle superposition of a fork which results in a new branch with multipass elements. One idea is to save multipass chain info in each element in a "private" structure which does not get printed.
units function does not cover multipoles which it should.
Handling of element parameters like AmpVsTimeGroup that may or may not be present.
Automatic show two column even if show_column2 not populated for a given group.
Make routine to remove list of elements.
Superimpose with #N: Counting in a given branch needs to include superimposed elements.
Check Superimpose bookkeeping when parameters are changed.
Check Multipass bookkeeping when parameters are changed. Especially bends.
Element attributes:
Attribute registry with: units, dependent/independent, settable, and mandatory (must be present) info. Question: Do private attributes need to be handled?
Dependent attribute bookkeeping.
Bookkeeping when lattice is constructed but not before.
Online parameter listing given element type. See: Base.propertynames.
How to handle mapping of attribute when attribute name (EG: r_floor) does not match group field (EG .r)
Need bend_field_master logical.
Setting attributes before and after lattice construction.
Element show should hide private flags by default.
Multipole scaling?
Implement integratedN and EintegratedN for multipoles.
What to do with the offset_tot, etc element parameters. Two possibilities: Put in separate struct from Alignment Group or put in AlignmentGroup and have the show_ele code print values in a compact fashion.
Have tilt in AlignmentGroup not displayed for Bend elements.
Make sure patch tilt is not confused with multipole tilt.
Old roll attribute replaced by tilt. Is this a good thing?
Other:
Modify show routines to handle custom attributes. Esspecially show_lat and show_branch.
Go over all error messages and make sure they convey all needed information.
Possible problem with copy(ele::Ele) is that ele.pdict[.XXX] where XXX is a complex structure will not be totally disjoint for all sub-parameters. This should be documented. One way to handle this is for everything in ele.pdict to be registered and appropriate copy constructors for complex structures defined. But this is more bookkeeping overhead.
Make sure :changed dict is empty after bookkeeping.
Superimpose: Full test coverage for all the code.
Right now if show(ele) encounters an unknown parameter group, a line is printed saying the group cannot be displayed. Change this and have show(ele) try to print something.
Implement function to replace an element in the lattice with a copy of another element. Error if replacing superimpose or multipass.
Implement function to remove a list of elements in the ring.
Questions:
Where to put lord branch? lat.lord or separate branches by type? Put all branches in an ordereddict?
Multipass: What suffix to use? "!mpN" where N is pass number
Superimpose: What suffix to use? "!sN" where N is integer
Currently, beginning and end elements in a branch are never reversed. Is this what is wanted? No.
How to handle absolute vs relative time tracking?
Revamp show_ele to not display param descriptions but rather have two column output (EG display rad & rad/2pi).
Does split_ele calculate the correct lengths when splitting a bend element?
Projects ToDo:
Plotting
DA (Matt)
Normal form / analysis.
Tracking with GPU/parallel options.
Integration of ML / backwards differentiation with tracking.
How to customize a Lattice: Custom element types, custom switches (either new switch group or extend existing goup), custom parameters, custom tracking, etc.
Differences between new and old: lattice parameters, absolute/relative time tracking, etc.
The text was updated successfully, but these errors were encountered:
These are not systematic lists. Will add to them as the project matures.
Parsing ToDo:
WallSection
struct.units
function does not cover multipoles which it should.show_column2
not populated for a given group.#N
: Counting in a given branch needs to include superimposed elements.Element attributes:
roll
attribute replaced bytilt
. Is this a good thing?Other:
Questions:
Projects ToDo:
Documentation:
The text was updated successfully, but these errors were encountered: