Xcoll

Latest version: v0.5.11

Safety actively analyzes 701903 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.5.5

What's Changed
* Implemented new API on the line, providing (for now) the following functions:
- `line.collimators.assign_optics()`
- `line.collimators.open()`
- `line.collimators.to_parking()`
- `line.scattering.enable()`
- `line.scattering.enable()`


Develop Updates
* Updated tests and examples for new API
* Fixed `test__list_tests` by giving it a recognisable path

**Full Changelog**: https://github.com/xsuite/xcoll/compare/v0.5.4...v0.5.5

0.5.4

What's Changed
* Faster initial conditions generation (Twiss by simoneotelie in https://github.com/xsuite/xcoll/pull/103)
Develop Updates
* Tests and examples for the impact table
* Edge effects in MCS align to edge (for correct exit locations)
* Bugfix in `EverestCrystal` which would make particle get stuck in an (almost) infinite amount of transition or VR effects
* Bugfix in `EverestCrystal` that would make some jobs fail channeling (Fixed part0 bug by chiaramaccani in https://github.com/xsuite/xcoll/pull/106)
* Bugfix in ionisation loss which was calculated at the wrong location (Ionization loss and critical angle by simoneotelie in https://github.com/xsuite/xcoll/pull/94)
* Amorphous and mcs by simoneotelie in https://github.com/xsuite/xcoll/pull/95
* `CollimatorManager` deprecated (raises error)
* New release script, fully in Python (with built-in API to git, github, and poetry)
* Added boilerplate XcollLineAPI, to allow Xcoll methods on the line (need PR xsuite/xtrack536 first)


**Full Changelog**: https://github.com/xsuite/xcoll/compare/v0.5.3...v0.5.4

0.5.3

Develop Updates
* Bugfix in `BlowUp` and `EmittanceMonitor` (previous version did double install if name of element already present in line), and adapted tests accordingly
* Small change in `BlackCrystal` test to catch an edge case that was wrong


**Full Changelog**: https://github.com/xsuite/xcoll/compare/v0.5.2...v0.5.3

0.5.2

Develop Updates
* Small adaptations in preparation for Xtrack 0.68.0 by giadarol in https://github.com/xsuite/xcoll/pull/99

**Full Changelog**: https://github.com/xsuite/xcoll/compare/v0.5.1...v0.5.2

0.5.1

Develop Updates
* Small fix in `InteractionRecord`: `BlowUp` and `EmittanceMonitor` are no scatter elements, so these should not be logged in the table.

**Full Changelog**: https://github.com/xsuite/xcoll/compare/v0.5.0...v0.5.1

0.5.0

What's Changed
* Two new elements:
* `BlowUp`: to add random kicks to a beam. Two modes of operation are possible; `use_individual_kicks=False` (default), where each particle gets the same kick (though different turn-by-turn), and `use_individual_kicks=True`, where each particle gets a different kick. The latter option is not realistic but provides a smoother blow-up (which is sometimes easier to work with in simulation). The class has an `install` classmethod to instantiate the element and install it in a line in one go (returning the instance). If the element is instantiated and installed manually, the fields `line` and `name` need to be set to have access to the twiss. A method `calibrate_by_emittance` is provided which sets the blow-up such that the beam gets shifted beyond 5 sigma in roughly 1000 turns. Finally, the field `amplitude` allows to scale this calibration.
* `EmittanceMonitor`: a monitor that works on any `Context` by accumulating (using `AtomicAdd`) the 6D covariances of the physical coordinates. It provides the fields `gemitt_x`, `gemitt_y`, `gemitt_zeta`, `nemitt_x`, `nemitt_y`, `nemitt_zeta`, `gemitt_I`, `gemitt_II`, `gemitt_III`, `nemitt_I`, `nemitt_II`, and `nemitt_III`. The class has an `install` classmethod to instantiate the element and install it in a line in one go (returning the instance). If the element is instantiated and installed manually, the field `line` needs to be set to have access to the reference particle.
* Added examples and test for those elements
* Fixed bug by simoneotelie in https://github.com/xsuite/xcoll/pull/84: `active` inside `EverestBlock` was ignored
* Pencil crystal by chiaramaccani in https://github.com/xsuite/xcoll/pull/87
* Installing collimators by family is now possible.
* Particle fields in `InteractionRecord` have been renamed (`x_before`, `x_after`, etc)
* Record flags in `InteractionRecord` have been renamed (`record_impacts`, `record_exits`, `record_scatterings`)
* Fixed crystal geometry for right-sided crystals
* Added views to `BaseCollimator` to get the `s` position of the jaw corners


Develop Updates
* Renamed `collimators_src` folder as `elements_src`
* Bugfix when setting `gap_R`
* Several bugfixes in `InteractionRecord`, and made things like `io_buffer` more robust
* Two bugfixes in lossmap:
* particles lost in an aperture directly after a crystal should stay in that aperture (as the crystal is too small to follow the same logic as the regular collimators in this situation)
* Typo in `line_is_reversed`
* Better tests for `BlackAbsorber`
* Adapted impacts tests, however, exit tests fail (need to investigate)
* Materials database in Everest slightly adapted to be more flexible (SixTrack <-> Xcoll)
* Tracking `Everest` would fail for a material with the `_only_mcs` flag. This is fixed now, but the logic should be rethought

**Full Changelog**: https://github.com/xsuite/xcoll/compare/v0.4.0...v0.5.0

Page 2 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.