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
Emittance in elements and colldb should be called nemitt_x gemitt_x etc. Throw warning/errors if still using old naming
Angles should be ALL in radians, also coll.angle
CollimatorDatabase should be either line-unaware, or have different databases for different lines (instead of hard-coded b1 and b2)
We want to use 64-bit random numbers (like RandomUniformAccurate) for normal, exponential, etc
Need strategy for exact drift vs expanded. We probably want always exact to get correct angles? Also, when skipping a collimator, it should take the same strategy as all other drifts in the line
jaw_L and jaw_R is CERN jargon! What if x points in the other direction (e.g. transfer line)? Then L is actually R etc
Allow any s position in colldb
Finish segments implementation!
Lossmap:
Interpolation: adapt the length calculation to the same system as interpolation=False
Plot interpolation=False by using real bin width equal to length of aperture (how to scale up to always view? Use plot points/lines and fill?)
Allow plotting multiple loss maps (in overlay or so?)
Documentation
Lossmap plotting code Bjorn
Auto-header in plot
Adapt external lossmaps tool to remain compatible and depend on the Xcoll plotting functionality for consistency
Currently, losses aper_downstream are moved to the collimator. This should happen for loss on aper_upstream as well! But maybe not if the collimator has limited size?
Drastically speed up loading of multiple jsons, and verify they are combined correctly (need test)
Test longitudinal pencil (Maria)
Make it easier to change collimator elements in a line (e.g. BlackAbsorber -> EverestCollimator -> TransparentCollimator etc)
Add tests for TransparentCollimator
Reversing twiss in assign optics, pencil, .. should be undone. Can we unreverse an existing twiss?
Fix in aperture warning message if collimator drift has length
Aperture interpolation failed? => raise error
Collimator 'class' in environment (protoytpe)
Materials and tracking:
Compare returned particle types (and how many of each) between all scattering code. Are the energy cuts logical/consistent?
Investigate which physics processes are accounted for (and which not) in the different scattering codes, at different energies, for different particle types
Should materials in collimators be references (to keep memory/file size smaller)? If yes, what with custom materials? What if they are out-of-sync (no longer reproducible)?
Finish new implementation of accessor
Finish new implementation of Styled
Merge hanging changes (currently in release/v0.10.0)
RFSweep:
Should check if frequency=0 and in that case use harmonic
Re-implement as beam element, to avoid using time-dependent variables
Collimator installation is not great: E.g. octupole element gets removed, and aperture is lost instead of taken (see example SPS Lise)
No need for line.scattering.disable() etc anymore; use new-style Xtrack flags
Implement new Xtrack headers and compiler macros (instead of comments that will be expanded)
Dynamic size for InteractionRecord
Fix jaw_func in BaseCollimator
Timestamps in copyright headers should be corrected for some files
TODO:
CollimatorDatabaseshould be either line-unaware, or have different databases for different lines (instead of hard-codedb1andb2)RandomUniformAccurate) for normal, exponential, etcjaw_Landjaw_Ris CERN jargon! What if x points in the other direction (e.g. transfer line)? Then L is actually R etcsposition in colldbinterpolation=Falseinterpolation=Falseby using real bin width equal to length of aperture (how to scale up to always view? Use plot points/lines and fill?)aper_downstreamare moved to the collimator. This should happen for loss onaper_upstreamas well! But maybe not if the collimator has limited size?BlackAbsorber->EverestCollimator->TransparentCollimatoretc)TransparentCollimatorStyledRFSweep:frequency=0and in that case useharmonicline.scattering.disable()etc anymore; use new-style Xtrack flagsjaw_funcin BaseCollimator_K2Collimatorfor benchmarks etc