key4hep / EDM4hep

Generic event data model for HEP collider experiments
https://cern.ch/edm4hep
Apache License 2.0
24 stars 35 forks source link

Missing methods in doxygen documentation for `CovMatrix` classes #296

Closed m-fila closed 1 month ago

m-fila commented 2 months ago

In CovMatrix classes the members declared with #include <edm4hep/detail/CovMatrixCommon.ipp> don't appear in documentation generated with doxygen. For instance operator[], getValue and setValue are missing.

Doxygen is doing some limited preprocessing and apparently doesn't resolve correctly #include directives inside { }.

https://github.com/key4hep/EDM4hep/blob/f46cf67f39d5d4b587e08359786d808a1c5c8ea3/edm4hep.yaml#L130-L138

missing methods

tmadlener commented 2 months ago

I tried a few knobs and I can get the CovMatrixCommon.ipp header to end up in the documentation, but it does indeed not seem possible to have them end up in the class this way.

What could be done would be to have a general CovMatrix page that we could link to, as we do, e.g. for the PIDHandler that links to a more indepth description.

m-fila commented 2 months ago

Perhaps some directive could be added to podio generator to paste contents of local files in declarations. But it's probably an overkill since the only problem here is minor annoyance with documentation

tmadlener commented 2 months ago

In principle something like this was planned at some point: https://github.com/AIDASoft/podio/blob/bde3830b321d6f6c0508d7d4d6e19cc1b7b3efab/python/podio_gen/podio_config_reader.py#L175-L176

It would make the generated code much easier to read as well, as people will not have to go hunt for an include somewhere.

tmadlener commented 2 months ago

Opening this again, since #308 will be the one that actually fixes this.

hegner commented 2 months ago

Ah. I sometimes hate automatic closing actions of GitHub (most of the time useful though ;-) )