Tomographer  v4.0
Tomographer C++ Framework Documentation
Todo List
Class Tomographer::BinningAnalysis< Params, LoggerType_ >
Further optimizations. For now, the raw samples are stored until they can be flushed up to the last level. Change this to do what ALPS' implementation does: flushing whenever it can, using a much shorter memory buffer, see https://alps.comp-phys.org/svn/alps1/trunk/alps/src/alps/alea/simplebinning.h .
Member Tomographer::BinningAnalysis< Params, LoggerType_ >::calcErrorLevels (const Eigen::ArrayBase< Derived > &means) const
this should be optimizable, using directly bin_sumsq and not effectively repeating the powersOfTwo constants...
Member Tomographer::BinningAnalysisParams< ValueType_, NumTrackValues_, NumLevels_, StoreBinSums_, CountIntType_ >::SamplesSizeCTime
This might change in the future. It would be better to have an "auto-flushing" mechanism as in ALPS: https://alps.comp-phys.org/svn/alps1/trunk/alps/src/alps/alea/simplebinning.h which uses a shorter buffer. This would avoid limiting the number of binning levels because of memory size.
Class Tomographer::DenseDM::ParamA< DMTypes_ >
This class can probably be better optimized, as currently the inner products are calculated by Hilbert-Schmidt matrix multiplication ...
Member Tomographer::MAT::DimList::DimList (std::initializer_list< T > init)
Note to self: both syntaxes work, but I'm not sure which constructor exactly the second line calls ...?
Class Tomographer::MultiProc::OMP::ThreadSanitizerLogger< BaseLogger >
Buffer log entries here to optimize performance and to limit the number of #pragma omp critical blocks. —NO DON'T. It would make it complex to debug afterwards; if there is a crash, some messages may not be displayed making debugging difficult.
Class Tomographer::Tools::NeedOwnOperatorNew< Types >
It should also define the appropriate allocator type.... TODO maybe clean up API? and add documentation
Member TOMOGRAPHER_CXX_STACK_FORCE_REALIGN
Look up the exact conditions (compilers, platforms, stack sizes etc.) to make sure this macro has a correct value in all cases.