TCode is a C++14 compliant application to simulate the response of solid state sensors in massively parallel platforms on Linux systems. TCode is implemented on top of Hydra and as such, it can run on OpenMP, CUDA and TBB compatible devices. TCode is still in its alpha version and the repository it is taking shape, for the moment we focused on getting raw performance and will make more stable and user friendly release in the near future.
TCode uses external 3D maps of electric fields, carrier mobilities and weighting field and energy deposit to simulate the response in current of solid state sensors. The motion of the individual carriers produced in the initial deposit is determined using a 4th other Runge-Kutta using the electric field and the mobilities and assuming that the carriers always move at drift velocity. At each time interval the current induced in the electrod is calculated from the carriers velocity using the corresponding weighting field, according to the Shockley-Ramo theorem. The output is stored to ROOT files, several level of output detail are available, from the simple current vs time plot to the complete information about the position of the carriers at each time step.
TCode depends on ROOT >= v.6.14, libconfig >= v1.5, TCLAP >= v1.2.1 and optionally CUDA >= 10.0 (needed for nVidia GPUs).
IN PREPARATION
TCode was created by Andrea Contu and Angelo Loi.
TCode was developed within the TIMESPOT collaboration, supported by the Instituto Nazionale di Fisica Nucleare (INFN) and by the Università degli Studi di Cagliari.