Link python configurables to cpp source

Most times it is easy to find where a configurable is defined in the C++ but not always. Consider the 3 cases below and especially the last where namespaces are used.

Can we have an uniform way to locate the source code where a component is declared? This might involve extending the DECLARE macros and genConf such that one can ask the python configurable about the source.

1. Easy case

from Configurables import MyGaudiAlgorithm

Can be found by exact filename match, which leads you to:

GaudiExamples/src/AlgTools/MyGaudiAlgorithm.cpp
DECLARE_COMPONENT( MyGaudiAlgorithm )

2. Intermediate case

from Configurables import AnyDataPutAlgorithm

Can be found by partial/fuzzy filename match, or failing that by grepping for AnyDataPutAlgorithm.

GaudiExamples/src/AnyData/AnyDataAlgorithm.cpp
DECLARE_COMPONENT( AnyDataPutAlgorithm )

3. Hard case

from Configurables import Rich__Future__Rec__Moni__DLLs as DLLs

This is now quite annoying to find as grepping for the last component, DLLs, is going to lead many results. The component is defined here:

Rich/RichFutureRecMonitors/src/RichDLLs.cpp
namespace Rich::Future::Rec::Moni {
  DECLARE_COMPONENT( DLLs )
}
Edited by Rosen Matev
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information