Skip to content

Releases: tudo-astroparticlephysics/PROPOSAL

v7.0.3

06 May 11:05
Compare
Choose a tag to compare
  • Switch CI from travis to GitHub actions (#160)
  • avoid some arithmetic exceptions (#154)
  • Adapt CMakeLists to make all symbols visible by default (#150)
  • Remove fixes and warnings related to former bug with pybind11 in conan (#148)
  • Using json_fwd.h instead of json.h again (commit 502466b) to improve compilation time (#147)
  • Log instead of std::cout for exception_axis_builder_dedx_out_of_range and typo (#152)
  • Update author list

v7.0.2

16 Apr 16:18
6af52b1
Compare
Choose a tag to compare
  • remove non-trivial designated initializers
  • now use nlohmann_json as a dependency. It could be installed via conan by using the option multiple_headers=True
  • remove explicit set fPIC flag
  • achieve windows compatibility. Thanks for the contribution @SpaceIm.
  • fix pypi deploy (#140)
  • use temporary json.hpp instead of json_fwd.hpp which increase build time significant, but is temporary required to make CCI run.

Fix conan build

09 Apr 15:27
188d2a9
Compare
Choose a tag to compare

Fix:

  • fix cmake flag to enable shared library build
  • remove explicit setting of the visibility mode

Release version 7.0.0

07 Apr 11:41
e14e590
Compare
Choose a tag to compare

This major release focuses on an extensive code refactoring of PROPOSAL, next to the release of several new features and bug fixes.
Due to these restructurings of large parts of the code, most scripts using PROPOSAL need to be adapted.

The following points have been implemented in the commits listed in PR #137.
Note that PROPOSAL now requires a C++14 compatible compiler.

Major Features

  • Calculation of stochastic deflections, i.e. the deflection of the initial particle direction during stochastic interactions (PR #121)
  • Improved Secondaries class for the output of the Propagator class. It provides possibilities such as Queries for arbitrary geometries and/or interaction types as well as the possibility to "repropagate" particles to a certain, arbitrary particle state (PR #114, related issue #71).
  • Installation of PROPOSAL with package manager conan (PR #130)
  • Using spdlog instead of log4cplus as a logger (related issue #44, commit 6e83249)
  • New dependency on the CubicInterpolation library for better stability and maintainability using boost and Eigen (related issue #48) to outsource the interpolation tasks. Therefore boost and Eigen are indirectly new dependencies.

Minor features

  • Provide (recommended) default CrossSections for different particles
  • Add function to set logging level in python (related issue #106, related commit b4ba0c0)
  • Add "hierarchy condition" as a new termination condition for Propagator::Propagate (see commit 3051774)
  • Provide the possibility to apply multipliers to multiple scattering and stochastic deflection
  • Vectorization of many functions in Python, which allows calling these functions directly with an array

Code refactoring

  • Modularization of physical calculations in PROPOSAL into separate modules. This makes the individual modules usable for users which are not interested in the whole Propagator class but only individual calculation steps (see this proceeding for more information about this process). Furthermore, this gives PROPOSAL a more clear code structure (related issue #40)
  • Implement a more intuitive structure of the geometry class Vector3D by creating two separate subclasses Cartesian3D and Spherical3D (PR #122). This will take away the responsibility from to user to pay attention to whether certain transformations between coordinate systems have actually been calculated (related issues: #119, #45).
  • More intuitive implementation of classes describing particles and particles losses by creating and/or refactoring the classes ParticleState, StochasticLoss, ContinuousLoss(PR #114, related issue #104)
  • Calculations in PROPOSAL are now done using grammage instead of distances (transformation is done inside Propagator class)
  • Consistent use of smart pointers to avoid memory leaks (related issue #109)
  • New structure of json configuration file (see here for a documentation of the new structure)
  • Special EnergyCutSettings options have been changed to be more intuitive: Using no absolute EnergyCut now corresponds to INF (formerly -1), using no relative EnergyCut now corresponds to 1 (formerly -1)

Fixes

  • Fix uninitalized values in ManyBodyPhaseSpace::SampleEstimateMaxWeight (PR #132)
  • False documentation of Interpolant::Exp method and unclear variable name (related issue #39, commit 1e5b851)
  • Fix underestimation of dE2dx (and therefore ContinousRandomization) for ionization (see commit a916cc6)
  • Geometries in PROPOSAL are now intialized in cm instead of m to have consistent usage of units throughout PROPOSAL (see commit db516bd)

Add further Photonuclear Interaction Models

16 Mar 08:42
37059e4
Compare
Choose a tag to compare

Two more recent photonuclear parametrizations are added:

This was requested in Issue #125 and implemented in PR #128

Fix scattering for uninitialized spherical coordinates

29 Jan 11:25
2fa6770
Compare
Choose a tag to compare

Fixes

  • For uninitialized spherical coordinates (which is the default when Vector3D object is constructed), Scattering::Scatter returned direction vectors that are not normalized (see issue #119). This has been fixed by adding a call to Vector3D::CalculateSphericalFromCartesian() at the beginning of the scattering method (see PR #120).

Fix high energy numerical issue

29 Nov 09:41
b33a6af
Compare
Choose a tag to compare

Fixes

  • PropagationUtilityDisplacement didn't reach the numerical accuracy at very high energies (#115)

Fix missing headers for gcc 10

22 Oct 22:11
c4c3528
Compare
Choose a tag to compare

Fixes

Missing headers, needed to make it compile with gcc 10 (#103)
Missing conversion from meter to centimeter of inner_radius in Sphere.cxx (#107)
Correct cuts_infront label in the configuration parser in Propagator.cxx (#107)
Missing substitution for rFlag case in EpairIntegral.cxx (#108)

Tests

Using travis' builtin python versions (#111)

v6.1.2: Fix propagation at sector border

05 May 13:24
3a67818
Compare
Choose a tag to compare

Fixes

  • take account of the finite particle resolution causing bug at the border between 2 sectors
  • calculation of the distance at the sector border

Minor Improvements

  • pybind the lifetime attribute of a ParticleDef
  • pybind print functions for Utility Definition
  • Exclude vendor dependencies from doxygen

minor fixes including pypi deploy

22 Mar 15:16
a2e019d
Compare
Choose a tag to compare

Fixes:

  • pypi deploy
  • position/direction mix-up in python interface of Secondaries
  • example description and links in README