S4 marker subclasses of MizerParams and MizerSim that enable S3 dispatch
for shelf-specific methods such as tuneSteadyState(),
scaleModel(),
removeSpecies(), addSpecies(), and getBiomass().
Details
Objects of class mizerShelf are created by newDetritusCarrionParams().
Objects of class mizerShelfSim are returned automatically by project()
when called on a mizerShelf params object.
The classes are not defined statically. Instead mizer creates them when
the package is loaded: .onLoad() calls mizer::registerExtension(), which
recognises mizerShelf as a dispatching extension from the S3 methods it
registers for its marker class and inserts mizerShelf at the correct place
in the S4 hierarchy relative to any other extension packages loaded in the
same session. This lets mizerShelf be chained with other extensions in
either load order. A static contains = "MizerParams" definition would fix
mizerShelf as a direct sibling of every other extension and prevent such
chaining, because a sealed class cannot be re-parented.