Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing methods in doxygen documentation for CovMatrix classes #296

Closed
m-fila opened this issue May 1, 2024 · 5 comments · Fixed by AIDASoft/podio#601 or #308
Closed

Missing methods in doxygen documentation for CovMatrix classes #296

m-fila opened this issue May 1, 2024 · 5 comments · Fixed by AIDASoft/podio#601 or #308

Comments

@m-fila
Copy link
Contributor

m-fila commented May 1, 2024

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 { }.

EDM4hep/edm4hep.yaml

Lines 130 to 138 in f46cf67

constexpr CovMatrix2f() = default;\n
template<typename... Vs>\n
constexpr CovMatrix2f(Vs... v) : values{v...} {}\n
constexpr CovMatrix2f(const std::array<float, 3>& v) : values(v) {}\n
constexpr CovMatrix2f& operator=(std::array<float, 3>& v) { values = v; return *this; }\n
bool operator==(const CovMatrix2f& v) const { return v.values == values; }\n
bool operator!=(const CovMatrix2f& v) const { return v.values != values; }\n
#include <edm4hep/detail/CovMatrixCommon.ipp>
"

missing methods

@tmadlener
Copy link
Contributor

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
Copy link
Contributor Author

m-fila commented May 3, 2024

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
Copy link
Contributor

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
Copy link
Contributor

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

@tmadlener tmadlener reopened this May 22, 2024
@hegner
Copy link
Contributor

hegner commented May 22, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants