lensing Module Source file:lensing

Dependencies

Subroutines
  • BadHarmonic(State)
  • CorrFuncFlatSky(State)
    Do flat sky approx partially non-perturbative lensing, lensing_method = 2
  • CorrFuncFullSky(State, CL, CLout, CPP, lmin, lmax)
    Full Gauss-Legendre implementation matching camb.correlations.lensed_cls, with the same high-L template extension used by the standard Fortran code. Uses the non-perturbative isotropic term with 2nd order expansion in C_{gl,2}, with no interpolation or sub-sampling in theta or l (unlike CorrFuncFullSkyApodized).
    • CAMBdata target  :: State
    • TCLdata   :: CL
    • TCLdata   :: CLout
    • real(dl)  :: CPP(0:State%CP%Max_l) [L(L+1)]^2 C_L_phi_phi/2pi
    • integer intent(in) :: lmin
    • integer intent(in) :: lmax
  • CorrFuncFullSkyApodized(State, CL, CLout, CPP, lmin, lmax)
    Accurate curved sky correlation function method Uses non-perturbative isotropic term with 2nd order expansion in C_{gl,2} Neglects C_{gl}(theta) terms (very good approx)
    • CAMBdata target  :: State
    • TCLdata   :: CL
    • TCLdata   :: CLout
    • real(dl)  :: CPP(0:State%CP%Max_l) [L(L+1)]^2 C_L_phi_phi/2pi
    • integer intent(in) :: lmin
    • integer intent(in) :: lmax
  • CorrFuncFullSkyWithSpectrum(State, CLout, CPP, full_range)
    • CAMBdata target  :: State
    • TCLdata   :: CLout
    • real(dl) intent(in) :: CPP(0:State%CP%Max_l)
    • logical intent(in) :: full_range
  • GetBessels(MaxArg)
    • real(dl) intent(in) :: MaxArg
  • GetCachedGaussLegendre(npoints, xvals, weights)
    Note the module-level cache means this is not safe for concurrent use from different threads/States (the returned pointers are invalidated by a call with a different npoints)
    • integer intent(in) :: npoints
    • real(dl) pointer :: xvals(:)
    • real(dl) pointer :: weights(:)
  • GetFlatSkyCGrads(State, lmax, CGrads)
    • CAMBdata   :: State
    • integer intent(in) :: lmax
    • real(dl)  :: CGrads(ncorr, 0:lmax)
  • GetFlatSkyCGradsWithSpectrum(State, CPP, lmax, CGrads)
    Do flat skyapprox calculation of gradient spectra C^(T\grad T) etc. See Appendix C of https://arxiv.org/abs/1101.2234
    • CAMBdata   :: State
    • real(dl) intent(in) :: CPP(0:State%CP%Max_l)
    • integer intent(in) :: lmax
    • real(dl)  :: CGrads(ncorr, 0:lmax)
  • InitLensedClArrays(State, CLout, lmin)
    Set CLout%lmax_lensed from the l sampling and allocate the lensed output array
  • lens_Cls(State)
  • LensClsWithDefaultSpectrum(State, full_range)
    • CAMBdata   :: State
    • logical intent(in) :: full_range
  • lensClsWithSpectrum(State, CPP, lensedCls, lmax_lensed)
    Get lensed CL using CPP as the lensing spectrum CPP is [L(L+1)]^2C_phi_phi/2/pi
    • CAMBdata   :: State
    • real(dl) intent(in) :: CPP(0:State%CP%Max_l)
    • real(dl)  :: lensedCls(4, 0:State%CP%Max_l)
    • integer  :: lmax_lensed
  • PrepareLensedCLSpectra(State, CL, lmin, lmax, ee_taper, CPP, Cphil3, CTT, CEE, CTE)
    Weighted unlensed spectra and lensing potential entering the correlation function integrands, extended above CP%Max_l using the (rescaled) high-L template. Sets global error (via AmplitudeError) if the lensing spectrum is unrealistically large.
    • CAMBdata target  :: State
    • TCLdata intent(in)  :: CL
    • integer intent(in) :: lmin
    • integer intent(in) :: lmax
    • logical intent(in) :: ee_taper
    • real(dl) intent(in) :: CPP(0:State%CP%Max_l) [L(L+1)]^2 C_L_phi_phi/2pi
    • real(dl) intent(out) :: Cphil3(lmin:lmax)
    • real(dl) intent(out) :: CTT(lmin:lmax)
    • real(dl) intent(out) :: CEE(lmin:lmax)
    • real(dl) intent(out) :: CTE(lmin:lmax)
  • SetLensingPotentialSpectrum(State, CPP)
    • CAMBdata intent(in)  :: State
    • real(dl) intent(out) :: CPP(0:State%CP%Max_l)
Functions
  • integer
    effective_lensing_method(CP)
  • integer
    LensingExtrapLmax(State)
  • real(dl)
    LowLEELensingTaper(l)
    • integer intent(in) :: l