docs: def _ani_ic_on_planck(
          electron_energy, soft_photon_temperature, gamma_energy, theta
      ):
          """
          IC cross-section for anisotropic interaction with a blackbody photon
          spectrum following Eq. 11 of Khangulyan, Aharonian, and Kelner 2014,
          ApJ 783, 100 (`arXiv:1310.7971 <http://www.arxiv.org/abs/1310.7971>`_).
  
          `electron_energy` and `gamma_energy` are in units of m_ec^2
          `soft_photon_temperature` is in units of K
          `theta` is in radians
          """
          Ktomec2 = 1.6863699549e-10
          soft_photon_temperature *= Ktomec2
  
          gamma_energy = gamma_energy[:, None]
          # Parameters from Eqs 21, 22
          a1 = [0.857, 0.153, 1.840, 0.254]
          a2 = [0.691, 1.330, 1.668, 0.534]
          z = gamma_energy / electron_energy
          ttheta = (
              2.0
              * electron_energy
              * soft_photon_temperature
              * (1.0 - np.cos(theta))
          )
          x = z / (1 - z) / ttheta
          # Eq. 11
          cross_section = z ** 2 / (2 * (1 - z)) * G12(x, a1) + G12(x, a2)
          tmp = (soft_photon_temperature / electron_energy) ** 2
          # r0 = (e**2 / m_e / c**2).to('cm')
          # (2 * r0 ** 2 * m_e ** 3 * c ** 4 / (pi * hbar ** 3)).cgs
          tmp *= 2.6318735743809104e16
          cross_section = tmp * cross_section
          cc = (gamma_energy < electron_energy) * (electron_energy > 1)
          return np.where(cc, cross_section, np.zeros_like(cross_section))