Degrade interface
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 namesNCO
,ECO
toNC0
,EC0
. - In
SUBROUTINE GAS29
: changeDIMENSION QATT(8,20000),QNULL(10,20000),SCLN(10)
toDIMENSION QATT(8,20000),QNULL(10,20000),SCLN(10),ESPLIT(5,20)
- In subroutines
CGAS46
,CGAS36
,CGAS35
,CGAS34
: changeDO 24 J=1,47
toDO 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.