Rob Veenhof, CEA Saclay
The forthcoming release of Garfield (W5050), version 6.05, has a major new feature: an interface with the Heed program written by Igor Smirnov, PNPI St Petersburg. This program simulates the ionisation of gas molecules when a charged particle traverses the chamber. The addition of this interface has implications for the format of many commands in various sections.
The forces acting in chambers with a tube were so far not available. They have now been added.
An option has been added to the
MAGBOLTZ command to
request plots of the energy distribution functions
F0, F1, F2, F3.
The transverse diffusion as returned by Magboltz is, in some cases, 20 % lower then in previous releases. This is the result of a modification in the interface, recommended by the author of Magboltz.
The Lorentz angle as computed in the absence of Magboltz generated
data had a wrong sign for the
Various instructions in this section have a modified format with a
view to the Heed interface and to Monte Carlo drift line integration.
In particular, the behaviour of the
DRIFT TRACK command
In a couple of commands, the conversion of internal to polar coordinates has been cleaned up - although the absence of some conversions was inconvenient, results such as drift times, diffusion, etc., are not believed to have been incorrect.
The buffer for intermediate results now uses an algorithm to re-use entries that were little used or used long ago. This buffer is not directly accessible to the user; error messages related to buffer overflow appeared. It might be appropriate to recall that, at compile time, two versions of this buffer are offered: one optimised for hardware that has a lot of memory, and one for hardware with a large cache.
The assignment of electron induced signals to the classes "direct" and "cross induced" has been slightly modified in view of the optional Monte Carlo integration.
PLOT_DRIFT_LINE. Also, the Monte Carlo drift line calculation routines as well as the Heed cluster generation routines can be accessed via calls.
Plotting of histograms with a total weight equal to zero gave a divide by zero, and this has been corrected. Filling of auto-range histograms with weighted entries has been improved.
When iterating and leaving a loop from within a conditional block, the IF context was sometimes incorrectly restored, giving rise to an addressing error, and this has been corrected.
The interpretation of
A-B-C (and similar for
divisions and exponentiations) has been brought in line with
what is usual in Fortran, namely