simEvent< simEventOwner > Struct Template Reference

`#include <ql/experimental/credit/randomdefaultlatentmodel.hpp>`

## Detailed Description

### template<class simEventOwner>
struct QuantLib::simEvent< simEventOwner >

Simulation event trait class template forward declaration. Each latent model will be modelling different entities according to the meaning of the model function which depends on the random $ Y_i$ variables. Still the generation of the factors and variables it is common to any model. Only within a given transformation function the model and event generated becomes concrete.

However here these simulations are already made specific to a default event. Yet other variables contingent to default can be modelled (recovery, market...) So we are placed in a less generic stage where default is modelled possibly jointly with other unespecified magnitudes.

Another role of this trait class is to compact in memory the simulation data. The statistic post processing needs to have the results stored in memory and simulations can not be consumed at generation time, typically because some statistics are conditional on others (e.g. ESF) or/and parametric (percentile, etc...)

Simulation events do not derive from each other, and they are specialized for each type; duck typing applies for variable names (see the statistic methods)