= Description of model API = Here we describe the aplication interface of classes that form the `libElegent` library. == Constants == The class `Constants` encapsulates physics and mathematical constants (e.g. proton mass, Euler’s constants) as well as process description (e.g. pp or app mode, centre-of-mass energy). The constants are set up by the static `Init` method which creates an instance of the class referenced by the global pointer `cnts`. == Hadronic models == All models of hadronic interactions are implemented as classes inheriting from the `Model` class. If the model exists in several variants or versions, or if its amplitude can be calculated in several modes, the user can make a choice via the `Configure` method. Afterwards, the `Init` method shall be used to initialize model parameters and perform (potentially) time-expensive initialisations (e.g. pre-sampling). The scattering amplitude (in t-space) and profile function (amplitude in b-space) can be caluculated by `Amp(t)` and `Prf(b)` methods respectively. For details (normalisation etc.) see the journal publication linked from the [[https://elegent.hepforge.org/|home page]]. == Coulomb and Coulomb-interference == == Generator class ==