Skip to content

General Xcoll open points #177

@freddieknets

Description

@freddieknets

TODO:

  • 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
  • Add _K2Collimator for benchmarks etc

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions