Skip to content

Degrade interface

Heinrich Schindler requested to merge degrad into master

Added and interface to the degrad program (version 3.17). The Fortran source file (degrad.f) and the corresponding CMakeLists.txt are located in the folder Degrade of the source tree. The C++ interface header is located in Include/Garfield. The Fortran source file in the repository includes a few modifications with respect to the original code:

  • In SUBROUTINE GAS11: change variable names NCO, ECO to NC0, EC0.
  • In SUBROUTINE GAS29: change DIMENSION QATT(8,20000),QNULL(10,20000),SCLN(10) to DIMENSION QATT(8,20000),QNULL(10,20000),SCLN(10),ESPLIT(5,20)
  • In subroutines CGAS46, CGAS36, CGAS35, CGAS34: change DO 24 J=1,47 to DO 24 J=1,46.
  • Wrapped the code in a module (MODULE degrad).
  • Added helper subroutines and functions to set the input parameters (without reading an input cards file).
  • Commented out the lines in the SETUP subroutine that read the input parameters from file.

The function NewTrack simulates primary ionisation clusters, similar to the MIPCALC subroutine. In the present version, the energy and cross-sections of the projectile are not being updated after every collision and the magnetic field is not taken into account.

For each delta electron in a cluster, the function TransportDeltaElectron is called which simulates the ionisation cascade. This function is based on the MONTEFE subroutine. The electric and magnetic field are not taken into account at the moment.

Merge request reports