Skip to contents

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.