code: def epsilon_crit(self):
          
          if not hasattr(self, '_Epsilon_Crit'):
              const_SI = const.c ** 2 / (4 * np.pi * const.G)  #c^2/(4*pi*G) in units of [kg/m]
              conversion = const.Mpc / const.M_sun  # converts [kg/m] to [M_sun/Mpc]
              factor = const_SI*conversion   #c^2/(4*pi*G) in units of [M_sun/Mpc]
              self._Epsilon_Crit = self.D_s/(self.D_d*self.D_ds) * factor #[M_sun/Mpc^2]
          return self._Epsilon_Crit
docs: returns the critical projected mass density in units of M_sun/Mpc^2 (physical units)
          :return: critical projected mass density