Follow-up on the introduction of vectorisation: exposure model
Introduce vectorisation in exposure model and for the trapz integration.
See discussion:
> one needs to specify the axis along which we integrate, otherwise it will fail when the `fn(v)` are arrays:
>
> `np.trapz([fn(v) for v in values], values, axis=0)`
>
> (to be double-checked, if possible with a test)
Multiple possible output shape of concentration
in ConcentrationModel
also has to be looked at (see https://gitlab.cern.ch/cara/cara/-/merge_requests/158#note_4370478)
Vectorisation of the mechanical ventilation should be looked at, as well (see https://gitlab.cern.ch/cara/cara/-/merge_requests/159#note_4393781 and https://gitlab.cern.ch/cara/cara/-/merge_requests/159#note_4393782)
Edited by Nicolas Mounet