Performance updates and bug fixes
* Way faster algorithm for amplitude calculation (hash table instead of nested for loop)
* When updating a SiPM property also update related values (e.g. sampling time modifies n samples)
* When available use AVX512 instruction for rng generation
* Generate groups of rng values and store in temp array to limit overhead
* Optimized generation of 2 rand float and 2 rand integers with a single rng call
* Optimized generation of arrays of rand Gaussian and int values
* Signals and amplitudes use float instead of double (2x speed up when using SIMD instructions)
* Internally store and handle hit pointers instead of copying hits
* Return hit ptr in Python as py::return_value_policy::reference_internal in order to avoid memory errors
* Faster peak, integral, tot, toa and top calculation
New features
* Added micro benchmark using Google Benchmark
* Hits can store the parent hit ptr
* Returning hit pointer to parent instead of "index" method (hits graph)
* Added SiPMSmallVector with small vector optimization (local storage for small vec)
* Added custom alloc and free providing aligned storage handling (when available)
* Added custom (smaller, simpler and faster) version of std::pair
* Input photons outside of the signal window are discarded
* Performing tests using GitHub actions
Removed features
* Removed redundant templates
* Removed SiPMMath.h header
* Removed SiPMVector type which was giving only minimal speedup
What's Changed
* Merging branch dev into main by EdoPro98 in https://github.com/EdoPro98/SimSiPM/pull/10
* Merging latest changes from main to dev by EdoPro98 in https://github.com/EdoPro98/SimSiPM/pull/11
* [Typo] fix 2 typos in README.md by luhuadong in https://github.com/EdoPro98/SimSiPM/pull/12
* [CMake] Set header files to PUBLIC and add the installation folder by jmcarcell in https://github.com/EdoPro98/SimSiPM/pull/17
* Merge dev with main by EdoPro98 in https://github.com/EdoPro98/SimSiPM/pull/18
New Contributors
* luhuadong made their first contribution in https://github.com/EdoPro98/SimSiPM/pull/12
* jmcarcell made their first contribution in https://github.com/EdoPro98/SimSiPM/pull/17
**Full Changelog**: https://github.com/EdoPro98/SimSiPM/compare/v2.0.2...v2.1.0