Reorganize files and refactor code to make GaudiAlg optional
GaudiAlg is home to LHCb-specific tools (in the sense that they are only used by LHCb). Over time GaudiAlg was used in various places in Gaudi tests and was used to host Gaudi::Functional
classes.
It is not bad to have GaudiAlg in Gaudi, but it is mostly obsolete and blocks some modernizations, like !1163.
As discussed in !1163 (comment 4689843), it is useful, in the medium term, to remove GaudiAlg from Gaudi.
Summary of the changes:
- move Gaudi::Funtional to GaudiFunctional subdir
- headers are now under "Gaudi/Functional"
- legacy GaudiAlg corresponding header redirect to the new ones
- replace GaudiAlgorithm with Algorithm wherever possible in tests and utilities
- add Gaudi::Sequencer basic implementation to replace GaudiSequencer
- move GaudiAlg specific tests, examples, dictionaries and Python modules to GaudiAlg subdir
- add CMake option GAUDI_ENABLE_GAUDIALG to allow skipping GaudiAlg (default to true)
- minor fixes and clean ups
Edited by Marco Clemencic