TURTLE: A C library for an optimistic stepping through a topography
TURTLE is a C library providing utilities allowing to navigate through a topography described by a Digital Elevation Model (DEM). The library has been primarily designed for the Monte Carlo transport of particles scattering over medium to long ranges, e.g. atmospheric muons. But, it can also efficiently handle ray tracing problems with very large DEMs (10^9 nodes or more), e.g. for neutrino simulations. The TURTLE library was built on an optimistic ray tracing algorithm, detailed in the present paper. This algorithm proceeds by trials and errors, approximating the topography within the modelling uncertainties of the DEM data. This allows to traverse a topography in constant time, i.e. independently of the number of grid nodes, and with no added memory. Detailed performance studies are provided by comparison to other ray tracing algorithms and as an application to muon transport in a Monte Carlo simulation.