18  API Reference

The manual should not duplicate every class signature. API details should be generated from Doxygen comments in the IPPL source tree.

18.1 Planned integration

  1. Build Doxygen from Doxyfile.api.
  2. Publish the generated API pages alongside the Quarto manual or link to the existing hosted Doxygen site.
  3. Add stable links from each manual chapter to the relevant class pages.

Local API build:

IPPL_SOURCE_DIR=/Users/adelmann/git/ippl doxygen Doxyfile.api

For GitHub Pages, the recommended structure is to render the Quarto manual to docs/ and place generated Doxygen HTML under docs/api/. Manual pages can then link to API pages with stable relative paths such as api/classippl_1_1Field.html once the Doxygen output naming is confirmed.

Rendered local entry point: Doxygen API index.

The generated class index is the canonical inventory: Doxygen class list. A local comparison against the IPPL src/ tree showed that Inform and several other public-facing runtime, boundary-condition, solver, and region classes were generated by Doxygen but not yet linked from this chapter. The table below is therefore a curated entry-point map, not the full class inventory.

18.3 Key entry points

Header Manual chapter API page
Ippl.h Chapter 4 source
Utility/Inform.h Chapter 4, Chapter 14 Inform
Utility/IpplInfo.h Chapter 4 source
Utility/IpplException.h Chapter 17 IpplException
Utility/IpplTimings.h Chapter 16, Chapter 15 IpplTimings
Index/Index.h, Index/NDIndex.h Chapter 6 Index, NDIndex
Region/NDRegion.h, Region/PRegion.h Chapter 6, Chapter 8 NDRegion, PRegion
Meshes/UniformCartesian.h Chapter 6, Chapter 7 UniformCartesian
Field/Field.h, Field/BareField.h Chapter 7 Field, BareField
Field/BConds.h, Field/BcTypes.h Chapter 7 BConds, PeriodicFace, ConstantFace, ZeroFace, ExtrapolateFace, NoBcFace
FieldLayout/FieldLayout.h Chapter 7 FieldLayout
Particle/ParticleBase.h Chapter 8 ParticleBase
Particle/ParticleAttrib.h Chapter 8 ParticleAttrib
Particle/ParticleSpatialLayout.h, Particle/ParticleSpatialOverlapLayout.h Chapter 8 ParticleSpatialLayout, ParticleSpatialOverlapLayout
Interpolation/CIC.h Chapter 9 source
FFT/FFT.h Chapter 10 FFT
PoissonSolvers/Poisson.h Chapter 11 Poisson
PoissonSolvers/PoissonCG.h Chapter 11 PoissonCG
PoissonSolvers/FFTPeriodicPoissonSolver.h Chapter 11 FFTPeriodicPoissonSolver
PoissonSolvers/FFTOpenPoissonSolver.h Chapter 11 FFTOpenPoissonSolver
PoissonSolvers/FFTTruncatedGreenPeriodicPoissonSolver.h Chapter 11 FFTTruncatedGreenPeriodicPoissonSolver
PoissonSolvers/FEMPoissonSolver.h, PoissonSolvers/PreconditionedFEMPoissonSolver.h Chapter 11, Chapter 13 FEMPoissonSolver, PreconditionedFEMPoissonSolver
MaxwellSolvers/Maxwell.h Chapter 12 Maxwell
MaxwellSolvers/FDTDSolverBase.h, MaxwellSolvers/StandardFDTDSolver.h, MaxwellSolvers/NonStandardFDTDSolver.h Chapter 12 FDTDSolverBase, StandardFDTDSolver, NonStandardFDTDSolver
MaxwellSolvers/FEMMaxwellDiffusionSolver.h Chapter 12, Chapter 13 FEMMaxwellDiffusionSolver
FEM/FiniteElementSpace.h Chapter 13 FiniteElementSpace
FEM/LagrangeSpace.h, FEM/NedelecSpace.h Chapter 13 LagrangeSpace, NedelecSpace
Communicate/Communicator.h Chapter 14 Communicator
Utility/ParameterList.h Chapter 6, Chapter 11 ParameterList