Code overview

Below is a flowchart showing the layout of the packages and modules within GWForge.

        flowchart TB
    pkg(GWForge)
    population(.population)
    pkg --> population
    population_0(mass)
    population --> population_0
    population_1(_smoothed_mass)
    population --> population_1
    population_2(pairing)
    population --> population_2
    population_3(pdb_external)
    population --> population_3
    population_4(pdb_mass_sampler)
    population --> population_4
    population_5(spin)
    population --> population_5
    population_6(redshift)
    population --> population_6
    population_7(extrinsic)
    population --> population_7
    population_8(user_defined)
    population --> population_8
    population_0 ~~~ population_1
    population_1 ~~~ population_2
    population_2 ~~~ population_3
    population_3 ~~~ population_4
    population_4 ~~~ population_5
    population_5 ~~~ population_6
    population_6 ~~~ population_7
    population_7 ~~~ population_8
    ifo(.ifo)
    pkg --> ifo
    ifo_0(detectors)
    ifo --> ifo_0
    ifo_1(antenna)
    ifo --> ifo_1
    ifo_2(reproducible_noise)
    ifo --> ifo_2
    ifo_0 ~~~ ifo_1
    ifo_1 ~~~ ifo_2
    inject(.inject)
    pkg --> inject
    inject_0(bilby_inject)
    inject --> inject_0
    inject_1(pycbc_inject)
    inject --> inject_1
    inject_0 ~~~ inject_1
    glitch(.glitch)
    pkg --> glitch
    glitch_0(sine_gaussian)
    glitch --> glitch_0
    fisher(.fisher)
    pkg --> fisher
    fisher_0(parameters)
    fisher --> fisher_0
    fisher_1(stepsize)
    fisher --> fisher_1
    fisher_2(inner_product)
    fisher --> fisher_2
    fisher_3(antenna_derivatives)
    fisher --> fisher_3
    fisher_4(derivatives)
    fisher --> fisher_4
    fisher_5(matrix)
    fisher --> fisher_5
    fisher_6(dali)
    fisher --> fisher_6
    fisher_7(config)
    fisher --> fisher_7
    fisher_8(plot)
    fisher --> fisher_8
    fisher_0 ~~~ fisher_1
    fisher_1 ~~~ fisher_2
    fisher_2 ~~~ fisher_3
    fisher_3 ~~~ fisher_4
    fisher_4 ~~~ fisher_5
    fisher_5 ~~~ fisher_6
    fisher_6 ~~~ fisher_7
    fisher_7 ~~~ fisher_8
    popfisher(.population_fisher)
    pkg --> popfisher
    popfisher_0(base)
    popfisher --> popfisher_0
    popfisher_1(model)
    popfisher --> popfisher_1
    popfisher_2(catalogue)
    popfisher --> popfisher_2
    popfisher_3(fit)
    popfisher --> popfisher_3
    popfisher_4(compare)
    popfisher --> popfisher_4
    popfisher_5(population_fisher_term_I)
    popfisher --> popfisher_5
    popfisher_6(config)
    popfisher --> popfisher_6
    popfisher_7(plot)
    popfisher --> popfisher_7
    popfisher_0 ~~~ popfisher_1
    popfisher_1 ~~~ popfisher_2
    popfisher_2 ~~~ popfisher_3
    popfisher_3 ~~~ popfisher_4
    popfisher_4 ~~~ popfisher_5
    popfisher_5 ~~~ popfisher_6
    popfisher_6 ~~~ popfisher_7
    classDef pkg fill:#dae8fc,stroke:#6c8ebf,color:#000
    classDef mod fill:#ffe6cc,stroke:#d79b00,color:#000
    class pkg,population,ifo,inject,glitch,fisher,popfisher pkg
    class population_0,population_1,population_2,population_3,population_4,population_5,population_6,population_7,population_8,ifo_0,ifo_1,ifo_2,inject_0,inject_1,glitch_0,fisher_0,fisher_1,fisher_2,fisher_3,fisher_4,fisher_5,fisher_6,fisher_7,fisher_8,popfisher_0,popfisher_1,popfisher_2,popfisher_3,popfisher_4,popfisher_5,popfisher_6,popfisher_7 mod
    

The scripts are described in Usage and Examples; every module is documented in the API reference.