'Differential comoving volume at redshift z.
Useful for calculating the effective comoving volume.
For example, allows for integration over a comoving volume
that has a sensitivity function that changes with redshift.
The total comoving volume is given by integrating
differential_comoving_volume to redshift z
and multiplying by a solid angle.
Parameters
z : array-like
Input redshifts.
Returns
dV : `~astropy.units.Quantity`
Differential comoving volume per redshift per steradian at
each input redshift.'

def differential_comoving_volume(self, z):

    dh = self._hubble_distance
    da = self.angular_diameter_distance(z)
    zp1 = (1.0 + z)
    return ((dh * ((zp1 * da) ** 2.0)) / u.Quantity(self.efunc(z), u.steradian))
