phepex Library Documentation

A small, dependency-free C++17 library of the numeric kernels used to extract charge and timing from digitised PMT/SiPM (e.g. Cherenkov telescopes or Water Cherenkov Detectors) waveforms — pole-zero deconvolution + upsampling, neighbour-sum peak finding, soft clipping, window integration and leading-edge timing — plus a fast waveform generator for testing.

Ships libphepex.so and libphepex.a, public headers under phepex/, and optional Python bindings (import phepex).

The C++ library depends only on the C++ standard library, so it drops into any C++ project. ctapipe is used only by the Python benchmark/extractor layer, never by the library itself.

This site documents the installation process and both API surfaces:

  • Getting started — how to build, install and consume each side.

  • C++ API — the phepex:: kernels (from the public headers).

  • Python API — the phepex package: numpy kernel wrappers and the ctapipe-integrated FastFlashCamExtractor.

Use the search box (top-left) to jump to any symbol across both languages.