snglcoinc: new stream-based coincidence engine
- this patch replaces snglcoinc's coincidence engine with a native streaming engine. the old implementation was written at a time when it was believed that time slides were the focus of coincidence analyses, and was optimized for performing very large numbers of time slides. we now know time slides are not how good noise models are constructed and that it is better to optimize for high trigger rates so as to allow for the lowest possible thresholds. that means optimizing not for high offset vector count but, instead, for ram use and lower comparison operation count, i.e., adopting a "streaming model", where events flow into the comparison engine and coincidences flow out, a relatively small number of time shift offset vectors are considered, and events are only held in memory until they are no longer needed to construct coincidences.
Showing with 789 additions and 435 deletions