Simplify framework core
This cleans up some of the interfaces in the framework work. Main changes are:
- Add algorithms to the sequencer one-by-one instead of as a vector of algorithms. In almost every case algorithms were already added one-by-one and the vector was just an unnecessary allocation and copy.
- Whiteboard returns objects by const reference instead of as a pointer. Errors are signaled via exceptions.
- Remove unused interfaces and all related files from the core.
- Remove unused/commented code from ROOT plugin (mostly material-mapping related).
- Use random number distributions directly from
<random>
.
Fixes #55 (closed) (Whiteboard ::get()
returns const T&
directly)
Fixes #57 (closed) (Whiteboard uses std::unordered_map
internally)
Fixes #65 (closed) and #68 (closed) (Empty whiteboard collections are treated as an error)
Mostly fixes #76 (closed) (Use exceptions for unrecoverable errors; possible future work to be defined in separate issues)
Fixes #73 (closed) (Tracking issue)
Edited by Moritz Kiehn