Rationale¶
The conventional method of sampling the arrival time distribution of photons on photo-detectors in large-volume neutrino detectors is based on large, interpolated look-up tables. Generating such tables and finding robust interpolation methods has proven to be highly non-trivial. Existing tools such as ptd, Photonics (recently combined with improved interpolation methods in Photospline) and km3 all perform reasonable well. They all do, however, have drawbacks, such as binning artifacts, incomplete descriptions of the detector medium, large memory requirements and so on. All of those tools have to rely on interpolation, requiring careful fine-tuning of parameters during the generation of their respective photon tables. Finally, generating photon tables usually takes a comparably long time, making such tools inconvenient for systematic studies, where properties such as the absorption or scattering lengths need to be changed frequently. Usually, changing any parameter requires a full table re-generation.
The clsim photon tracker aims to work around these problems by tracking each single photon generated by a given source in the detector. This very time-consuming process can be sped up by factors of over 100 by using GPU hardware instead of CPUs. This has first been proven by tools like i3mcml and ppc. Instead of the vendor-specific CUDA framework used by those tools, clsim uses OpenCL with the aim of being portable to other architectures, such as AMD/ATI or even multi-core CPUs.