Add support for passing an array of scale factors into `halo_model_base.__call__`
In the cluster count likelihood, we evaluate the halo mass function within the integrand and therefore need this evaluation to be fast. We vectorized the code, but cannot fully because the halo mass function evaluation can only accept a float value for the scale factor. We would like this function call to also support passing an array of scale factor values.
Specifically, when we invoke
https://github.com/LSSTDESC/CCL/blob/29d46978445678d86a4bee485cb29d30246ff64a/pyccl/halos/halo_model_base.py#L180
we can pass an array of mass M, but not an array of scale factors a. It would be great to have this added into CCL, and have the for loop over the scale factors be implemented in the C code.
I think the for loop that needs to be modified is here (?): https://github.com/LSSTDESC/CCL/blob/29d46978445678d86a4bee485cb29d30246ff64a/pyccl/ccl_sigM.i#L22