lalsuite 7.26.2.dev20251206__cp312-cp312-manylinux_2_28_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lal/__init__.py +145 -0
- lal/_lal.cpython-312-x86_64-linux-gnu.so +0 -0
- lal/_lal_swig.py +12 -0
- lal/antenna.py +1200 -0
- lal/git_version.py +64 -0
- lal/gpstime.py +233 -0
- lal/iterutils.py +408 -0
- lal/pipeline.py +3139 -0
- lal/rate.py +2455 -0
- lal/series.py +244 -0
- lal/utils/__init__.py +29 -0
- lal/utils/cache.py +379 -0
- lal/utils/series.py +277 -0
- lalapps/__init__.py +26 -0
- lalapps/bin/lal_cache +0 -0
- lalapps/bin/lal_fftw_wisdom +0 -0
- lalapps/bin/lal_fftwf_wisdom +0 -0
- lalapps/bin/lal_simd_detect +0 -0
- lalapps/bin/lal_tconvert +0 -0
- lalapps/bin/lal_version +0 -0
- lalapps/bin/lalapps_ComputeAntennaPattern +16 -0
- lalapps/bin/lalapps_ComputeFstatBenchmark +16 -0
- lalapps/bin/lalapps_ComputeFstatLatticeCount +16 -0
- lalapps/bin/lalapps_ComputeFstatMCUpperLimit +16 -0
- lalapps/bin/lalapps_ComputeFstatistic_v2 +16 -0
- lalapps/bin/lalapps_ComputePSD +16 -0
- lalapps/bin/lalapps_CopySFTs +16 -0
- lalapps/bin/lalapps_DistanceVsMass +0 -0
- lalapps/bin/lalapps_DriveHoughMulti +16 -0
- lalapps/bin/lalapps_FstatMetric_v2 +16 -0
- lalapps/bin/lalapps_HierarchSearchGCT +16 -0
- lalapps/bin/lalapps_HierarchicalSearch +16 -0
- lalapps/bin/lalapps_MakeSFTDAG +16 -0
- lalapps/bin/lalapps_MakeSFTs +16 -0
- lalapps/bin/lalapps_Makefakedata_v4 +16 -0
- lalapps/bin/lalapps_Makefakedata_v5 +16 -0
- lalapps/bin/lalapps_PredictFstat +16 -0
- lalapps/bin/lalapps_PrintDetectorState +16 -0
- lalapps/bin/lalapps_SFTclean +16 -0
- lalapps/bin/lalapps_SFTvalidate +16 -0
- lalapps/bin/lalapps_StringAddFrame +0 -0
- lalapps/bin/lalapps_StringSearch +0 -0
- lalapps/bin/lalapps_Weave +16 -0
- lalapps/bin/lalapps_WeaveCompare +16 -0
- lalapps/bin/lalapps_WeaveConcat +16 -0
- lalapps/bin/lalapps_WeaveSetup +16 -0
- lalapps/bin/lalapps_WriteSFTsfromSFDBs +16 -0
- lalapps/bin/lalapps_animate +0 -0
- lalapps/bin/lalapps_binj +0 -0
- lalapps/bin/lalapps_blindinj +0 -0
- lalapps/bin/lalapps_cache +16 -0
- lalapps/bin/lalapps_calfacs +0 -0
- lalapps/bin/lalapps_cbc_stochasticbank +0 -0
- lalapps/bin/lalapps_chirplen +0 -0
- lalapps/bin/lalapps_coh_PTF_inspiral +0 -0
- lalapps/bin/lalapps_coinj +0 -0
- lalapps/bin/lalapps_combine_crosscorr_toplists +16 -0
- lalapps/bin/lalapps_compareFstats +16 -0
- lalapps/bin/lalapps_compareSFTs +16 -0
- lalapps/bin/lalapps_create_time_correction_ephemeris +16 -0
- lalapps/bin/lalapps_dumpSFT +16 -0
- lalapps/bin/lalapps_effdist +0 -0
- lalapps/bin/lalapps_exc_resp +0 -0
- lalapps/bin/lalapps_fftw_wisdom +16 -0
- lalapps/bin/lalapps_fftwf_wisdom +16 -0
- lalapps/bin/lalapps_fits_header_getval +16 -0
- lalapps/bin/lalapps_fits_header_list +16 -0
- lalapps/bin/lalapps_fits_overview +16 -0
- lalapps/bin/lalapps_fits_table_list +16 -0
- lalapps/bin/lalapps_fr_ninja +0 -0
- lalapps/bin/lalapps_frextr +0 -0
- lalapps/bin/lalapps_frinfo +0 -0
- lalapps/bin/lalapps_frjoin +0 -0
- lalapps/bin/lalapps_frread +0 -0
- lalapps/bin/lalapps_frview +0 -0
- lalapps/bin/lalapps_gwf2xml +0 -0
- lalapps/bin/lalapps_heterodyne_pulsar +16 -0
- lalapps/bin/lalapps_inspawgfile +0 -0
- lalapps/bin/lalapps_inspfrinj +0 -0
- lalapps/bin/lalapps_inspinj +0 -0
- lalapps/bin/lalapps_inspiralDistance +0 -0
- lalapps/bin/lalapps_knope +16 -0
- lalapps/bin/lalapps_knope_automation_script +16 -0
- lalapps/bin/lalapps_knope_collate_results +16 -0
- lalapps/bin/lalapps_knope_result_page +16 -0
- lalapps/bin/lalapps_makeblindinj +85 -0
- lalapps/bin/lalapps_makeblindinj_himass +67 -0
- lalapps/bin/lalapps_ninja +0 -0
- lalapps/bin/lalapps_path2cache +16 -0
- lalapps/bin/lalapps_power +0 -0
- lalapps/bin/lalapps_pulsar_crosscorr_v2 +16 -0
- lalapps/bin/lalapps_pulsar_frequency_evolution +16 -0
- lalapps/bin/lalapps_pulsar_parameter_estimation_nested +16 -0
- lalapps/bin/lalapps_random_bank +0 -0
- lalapps/bin/lalapps_randombank +0 -0
- lalapps/bin/lalapps_run_pulsar_crosscorr_v2 +16 -0
- lalapps/bin/lalapps_searchsum2cache +16 -0
- lalapps/bin/lalapps_spec_avg +16 -0
- lalapps/bin/lalapps_spec_avg_long +16 -0
- lalapps/bin/lalapps_spec_coherence +16 -0
- lalapps/bin/lalapps_spininj +0 -0
- lalapps/bin/lalapps_splitSFTs +16 -0
- lalapps/bin/lalapps_splitbank +0 -0
- lalapps/bin/lalapps_ssbtodetector +16 -0
- lalapps/bin/lalapps_synthesizeBstatMC +16 -0
- lalapps/bin/lalapps_synthesizeLVStats +16 -0
- lalapps/bin/lalapps_synthesizeTransientStats +16 -0
- lalapps/bin/lalapps_tconvert +16 -0
- lalapps/bin/lalapps_tmpltbank +0 -0
- lalapps/bin/lalapps_version +0 -0
- lalapps/bin/lalapps_xtefitstoframe +0 -0
- lalapps/bin/lalburst_version +0 -0
- lalapps/bin/lalfr-cat +0 -0
- lalapps/bin/lalfr-cksum +0 -0
- lalapps/bin/lalfr-cut +0 -0
- lalapps/bin/lalfr-dump +0 -0
- lalapps/bin/lalfr-fmt +0 -0
- lalapps/bin/lalfr-paste +0 -0
- lalapps/bin/lalfr-print +0 -0
- lalapps/bin/lalfr-split +0 -0
- lalapps/bin/lalfr-stat +0 -0
- lalapps/bin/lalfr-stream +0 -0
- lalapps/bin/lalfr-vis +0 -0
- lalapps/bin/lalframe_version +0 -0
- lalapps/bin/lalinference_bench +0 -0
- lalapps/bin/lalinference_burst +0 -0
- lalapps/bin/lalinference_datadump +0 -0
- lalapps/bin/lalinference_injectedlike +0 -0
- lalapps/bin/lalinference_mpi_wrapper +59 -0
- lalapps/bin/lalinference_nest +0 -0
- lalapps/bin/lalinference_version +0 -0
- lalapps/bin/lalinspiral_version +0 -0
- lalapps/bin/lalmetaio_version +0 -0
- lalapps/bin/lalpulsar_ComputeAntennaPattern +0 -0
- lalapps/bin/lalpulsar_ComputeFstatBenchmark +0 -0
- lalapps/bin/lalpulsar_ComputeFstatLatticeCount +0 -0
- lalapps/bin/lalpulsar_ComputeFstatMCUpperLimit +0 -0
- lalapps/bin/lalpulsar_ComputeFstatistic_v2 +0 -0
- lalapps/bin/lalpulsar_ComputePSD +0 -0
- lalapps/bin/lalpulsar_DriveHoughMulti +0 -0
- lalapps/bin/lalpulsar_FstatMetric_v2 +0 -0
- lalapps/bin/lalpulsar_HierarchSearchGCT +0 -0
- lalapps/bin/lalpulsar_HierarchicalSearch +0 -0
- lalapps/bin/lalpulsar_MakeSFTs +0 -0
- lalapps/bin/lalpulsar_Makefakedata_v4 +0 -0
- lalapps/bin/lalpulsar_Makefakedata_v5 +0 -0
- lalapps/bin/lalpulsar_PredictFstat +0 -0
- lalapps/bin/lalpulsar_PrintDetectorState +0 -0
- lalapps/bin/lalpulsar_SFTclean +0 -0
- lalapps/bin/lalpulsar_SFTvalidate +0 -0
- lalapps/bin/lalpulsar_Weave +0 -0
- lalapps/bin/lalpulsar_WeaveCompare +0 -0
- lalapps/bin/lalpulsar_WeaveConcat +0 -0
- lalapps/bin/lalpulsar_WeaveSetup +0 -0
- lalapps/bin/lalpulsar_WriteSFTsfromSFDBs +0 -0
- lalapps/bin/lalpulsar_compareFstats +0 -0
- lalapps/bin/lalpulsar_compareSFTs +0 -0
- lalapps/bin/lalpulsar_create_time_correction_ephemeris +0 -0
- lalapps/bin/lalpulsar_crosscorr_v2 +0 -0
- lalapps/bin/lalpulsar_dumpSFT +0 -0
- lalapps/bin/lalpulsar_fits_header_getval +0 -0
- lalapps/bin/lalpulsar_fits_header_list +0 -0
- lalapps/bin/lalpulsar_fits_overview +0 -0
- lalapps/bin/lalpulsar_fits_table_list +0 -0
- lalapps/bin/lalpulsar_frequency_evolution +0 -0
- lalapps/bin/lalpulsar_heterodyne +0 -0
- lalapps/bin/lalpulsar_parameter_estimation_nested +0 -0
- lalapps/bin/lalpulsar_spec_avg +0 -0
- lalapps/bin/lalpulsar_spec_avg_long +0 -0
- lalapps/bin/lalpulsar_spec_coherence +0 -0
- lalapps/bin/lalpulsar_splitSFTs +0 -0
- lalapps/bin/lalpulsar_ssbtodetector +0 -0
- lalapps/bin/lalpulsar_synthesizeBstatMC +0 -0
- lalapps/bin/lalpulsar_synthesizeLVStats +0 -0
- lalapps/bin/lalpulsar_synthesizeTransientStats +0 -0
- lalapps/bin/lalpulsar_version +0 -0
- lalapps/bin/lalsim-bh-qnmode +0 -0
- lalapps/bin/lalsim-bh-ringdown +0 -0
- lalapps/bin/lalsim-bh-sphwf +0 -0
- lalapps/bin/lalsim-burst +0 -0
- lalapps/bin/lalsim-detector-noise +0 -0
- lalapps/bin/lalsim-detector-strain +0 -0
- lalapps/bin/lalsim-inject +0 -0
- lalapps/bin/lalsim-inspiral +0 -0
- lalapps/bin/lalsim-ns-eos-table +0 -0
- lalapps/bin/lalsim-ns-mass-radius +0 -0
- lalapps/bin/lalsim-ns-params +0 -0
- lalapps/bin/lalsim-sgwb +0 -0
- lalapps/bin/lalsim-unicorn +0 -0
- lalapps/bin/lalsimulation_version +0 -0
- lalapps/cosmicstring.py +691 -0
- lalapps/data/BNSMasses.dat +65022 -0
- lalapps/data/CorrelationMatrix.csv +15 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF1_META.dat +1882 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF2_META.dat +1939 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF3_META.dat +1784 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF4_META.dat +2074 -0
- lalapps/data/LALSimNeutronStarEOS_ALF1.dat +435 -0
- lalapps/data/LALSimNeutronStarEOS_ALF2.dat +453 -0
- lalapps/data/LALSimNeutronStarEOS_ALF3.dat +441 -0
- lalapps/data/LALSimNeutronStarEOS_ALF4.dat +441 -0
- lalapps/data/LALSimNeutronStarEOS_AP1.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP2.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP3.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP4.dat +210 -0
- lalapps/data/LALSimNeutronStarEOS_APR.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_APR4_EPP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_BBB2.dat +84 -0
- lalapps/data/LALSimNeutronStarEOS_BGN1H1.dat +123 -0
- lalapps/data/LALSimNeutronStarEOS_BHF_BBB2.dat +499 -0
- lalapps/data/LALSimNeutronStarEOS_BL_CHIRAL_META.dat +1534 -0
- lalapps/data/LALSimNeutronStarEOS_BPAL12.dat +61 -0
- lalapps/data/LALSimNeutronStarEOS_BSK19.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_BSK20.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_BSK21.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_ENG.dat +108 -0
- lalapps/data/LALSimNeutronStarEOS_FPS.dat +129 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_BSK14_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL59_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL69_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_F0_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H1_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H3_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H4_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H5_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_LN55_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_SLY5_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GNH3.dat +71 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DD2_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DDME2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2H_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_NL3WRL55_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GS1.dat +136 -0
- lalapps/data/LALSimNeutronStarEOS_GS2.dat +100 -0
- lalapps/data/LALSimNeutronStarEOS_H1.dat +114 -0
- lalapps/data/LALSimNeutronStarEOS_H2.dat +114 -0
- lalapps/data/LALSimNeutronStarEOS_H3.dat +98 -0
- lalapps/data/LALSimNeutronStarEOS_H4.dat +664 -0
- lalapps/data/LALSimNeutronStarEOS_H5.dat +703 -0
- lalapps/data/LALSimNeutronStarEOS_H6.dat +509 -0
- lalapps/data/LALSimNeutronStarEOS_H7.dat +703 -0
- lalapps/data/LALSimNeutronStarEOS_HQC18.dat +388 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V1.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V1_BSK24.dat +1388 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V_BSK24.dat +1398 -0
- lalapps/data/LALSimNeutronStarEOS_MPA1.dat +102 -0
- lalapps/data/LALSimNeutronStarEOS_MS1.dat +122 -0
- lalapps/data/LALSimNeutronStarEOS_MS1B.dat +126 -0
- lalapps/data/LALSimNeutronStarEOS_MS1B_PP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_MS1_PP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_MS2.dat +48 -0
- lalapps/data/LALSimNeutronStarEOS_PAL6.dat +148 -0
- lalapps/data/LALSimNeutronStarEOS_PCL2.dat +134 -0
- lalapps/data/LALSimNeutronStarEOS_PCP_BSK24_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_PS.dat +165 -0
- lalapps/data/LALSimNeutronStarEOS_QMC700.dat +117 -0
- lalapps/data/LALSimNeutronStarEOS_RG_SLY4_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_RS.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_RS_BSK24.dat +1356 -0
- lalapps/data/LALSimNeutronStarEOS_SK255.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SK255_BSK24.dat +1066 -0
- lalapps/data/LALSimNeutronStarEOS_SK272.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKA.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKA_BSK24.dat +1433 -0
- lalapps/data/LALSimNeutronStarEOS_SKB.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKB_BSK24.dat +1373 -0
- lalapps/data/LALSimNeutronStarEOS_SKI2.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI2_BSK24.dat +1348 -0
- lalapps/data/LALSimNeutronStarEOS_SKI3.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI3_BSK24.dat +1355 -0
- lalapps/data/LALSimNeutronStarEOS_SKI4.dat +497 -0
- lalapps/data/LALSimNeutronStarEOS_SKI4_BSK24.dat +1348 -0
- lalapps/data/LALSimNeutronStarEOS_SKI5.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI6.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI6_BSK24.dat +1358 -0
- lalapps/data/LALSimNeutronStarEOS_SKMP.dat +498 -0
- lalapps/data/LALSimNeutronStarEOS_SKOP.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKOP_BSK24.dat +1373 -0
- lalapps/data/LALSimNeutronStarEOS_SLY.dat +99 -0
- lalapps/data/LALSimNeutronStarEOS_SLY2.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SLY230A.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SLY230A_BSK24.dat +1116 -0
- lalapps/data/LALSimNeutronStarEOS_SLY2_BSK24.dat +1106 -0
- lalapps/data/LALSimNeutronStarEOS_SLY4.dat +100 -0
- lalapps/data/LALSimNeutronStarEOS_SLY9.dat +498 -0
- lalapps/data/LALSimNeutronStarEOS_SLY9_BSK24.dat +1083 -0
- lalapps/data/LALSimNeutronStarEOS_SQM1.dat +176 -0
- lalapps/data/LALSimNeutronStarEOS_SQM2.dat +180 -0
- lalapps/data/LALSimNeutronStarEOS_SQM3.dat +176 -0
- lalapps/data/LALSimNeutronStarEOS_WFF1.dat +109 -0
- lalapps/data/LALSimNeutronStarEOS_WFF2.dat +109 -0
- lalapps/data/LALSimNeutronStarEOS_WFF3.dat +107 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDLZ1_BSK24.dat +1227 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDME2_BSK24.dat +1272 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDMEX_BSK24.dat +1280 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_GM1_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_MTVTC_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_NL3_BSK24.dat +1230 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_PKDD_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TM1_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TW99_BSK24.dat +1288 -0
- lalapps/data/LIGO-P1200087-v18-AdV_BNS_OPTIMIZED.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_DESIGN.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_EARLY_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_EARLY_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_LATE_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_LATE_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_MID_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_MID_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_BNS_OPTIMIZED.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_DESIGN.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_MID_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_MID_LOW.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE_Pessimistic.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE_Wideband.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-ET_D.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-BHBH_20deg.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-High_Freq.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-NO_SRM.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-NSNS_Opt.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-ZERO_DET_high_P.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-ZERO_DET_low_P.txt +3000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Design.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Early.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Late.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Mid.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Opening.txt +4000 -0
- lalapps/data/LIGO-T1800042-v5-aLIGO_APLUS.txt +3000 -0
- lalapps/data/LIGO-T1800044-v5-aLIGO_DESIGN.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O3low.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O4.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O4intermediate.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_128Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_25Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_80Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_140Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_175Mpc.txt +2792 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_O3low.txt +2792 -0
- lalapps/data/bimodalMeans.csv +3 -0
- lalapps/data/config_tiger_example.ini +150 -0
- lalapps/data/fiducialBBH.xml +67 -0
- lalapps/data/fiducialBNS.xml +67 -0
- lalapps/data/inspsrcs100Mpc.errors +38735 -0
- lalapps/data/lalinference_pipe_example.ini +573 -0
- lalapps/data/lib_pipe_example.ini +303 -0
- lalapps/data/power_pipe.ini +129 -0
- lalapps/data/unimodalMeans.csv +2 -0
- lalapps/git_version.py +64 -0
- lalburst/SimBurstUtils.py +324 -0
- lalburst/SnglBurstUtils.py +367 -0
- lalburst/__init__.py +7 -0
- lalburst/_lalburst.cpython-312-x86_64-linux-gnu.so +0 -0
- lalburst/_lalburst_swig.py +16 -0
- lalburst/binjfind.py +824 -0
- lalburst/bucluster.py +409 -0
- lalburst/burca.py +315 -0
- lalburst/burca_tailor.py +349 -0
- lalburst/cafe.py +579 -0
- lalburst/calc_likelihood.py +145 -0
- lalburst/cs_gamma.cpython-312-x86_64-linux-gnu.so +0 -0
- lalburst/date.py +118 -0
- lalburst/git_version.py +64 -0
- lalburst/offsetvector.py +278 -0
- lalburst/packing.py +170 -0
- lalburst/power.py +1457 -0
- lalburst/snglcluster.py +136 -0
- lalburst/snglcoinc.py +2637 -0
- lalburst/stringutils.py +607 -0
- lalburst/timeslides.py +236 -0
- lalframe/__init__.py +7 -0
- lalframe/_lalframe.cpython-312-x86_64-linux-gnu.so +0 -0
- lalframe/_lalframe_swig.py +14 -0
- lalframe/frread.py +324 -0
- lalframe/git_version.py +64 -0
- lalframe/utils/__init__.py +25 -0
- lalframe/utils/frtools.py +61 -0
- lalinference/__init__.py +7 -0
- lalinference/_bayespputils.cpython-312-x86_64-linux-gnu.so +0 -0
- lalinference/_lalinference.cpython-312-x86_64-linux-gnu.so +0 -0
- lalinference/_lalinference_swig.py +19 -0
- lalinference/bayespputils.py +7479 -0
- lalinference/bayestar/__init__.py +2 -0
- lalinference/bayestar/deprecation.py +72 -0
- lalinference/git_version.py +64 -0
- lalinference/imrtgr/__init__.py +0 -0
- lalinference/imrtgr/imrtgrutils.py +168 -0
- lalinference/imrtgr/nrutils.py +1366 -0
- lalinference/imrtgr/pneqns.py +250 -0
- lalinference/io/__init__.py +31 -0
- lalinference/io/hdf5.py +365 -0
- lalinference/lalinference_pipe_utils.py +3617 -0
- lalinference/nest2pos.py +151 -0
- lalinference/plot/__init__.py +34 -0
- lalinference/plot/spindisk.py +104 -0
- lalinference/tiger/__init__.py +0 -0
- lalinference/tiger/make_injtimes.py +634 -0
- lalinference/tiger/omegascans_dag.py +691 -0
- lalinference/tiger/postproc.py +1338 -0
- lalinference/wrapper.py +231 -0
- lalinspiral/__init__.py +7 -0
- lalinspiral/_lalinspiral.cpython-312-x86_64-linux-gnu.so +0 -0
- lalinspiral/_lalinspiral_swig.py +18 -0
- lalinspiral/_thinca.cpython-312-x86_64-linux-gnu.so +0 -0
- lalinspiral/git_version.py +64 -0
- lalinspiral/inspinjfind.py +485 -0
- lalinspiral/thinca.py +509 -0
- lalmetaio/__init__.py +7 -0
- lalmetaio/_lalmetaio.cpython-312-x86_64-linux-gnu.so +0 -0
- lalmetaio/_lalmetaio_swig.py +14 -0
- lalmetaio/git_version.py +64 -0
- lalpulsar/NstarTools.py +259 -0
- lalpulsar/PulsarParametersWrapper.py +938 -0
- lalpulsar/__init__.py +7 -0
- lalpulsar/_lalpulsar.cpython-312-x86_64-linux-gnu.so +0 -0
- lalpulsar/_lalpulsar_swig.py +17 -0
- lalpulsar/git_version.py +64 -0
- lalpulsar/knope_utils.py +6497 -0
- lalpulsar/lineFileParser.py +264 -0
- lalpulsar/metric_utils.py +78 -0
- lalpulsar/piecewise_model/__init__.py +7 -0
- lalpulsar/piecewise_model/basis_functions.py +156 -0
- lalpulsar/piecewise_model/class_definitions.py +323 -0
- lalpulsar/piecewise_model/errors.py +37 -0
- lalpulsar/piecewise_model/estimating_knots.py +833 -0
- lalpulsar/piecewise_model/gte_and_other_methods.py +189 -0
- lalpulsar/piecewise_model/mols_for_gte.py +269 -0
- lalpulsar/piecewise_model/pw_fstat.py +813 -0
- lalpulsar/piecewise_model/pw_model_simulations.py +156 -0
- lalpulsar/piecewise_model/sampling_methods.py +186 -0
- lalpulsar/piecewise_model/semicoherent_metric_methods.py +375 -0
- lalpulsar/piecewise_model/tbank_estimates.py +293 -0
- lalpulsar/public_sft_directory.py +82 -0
- lalpulsar/pulsarhtmlutils.py +1395 -0
- lalpulsar/pulsarpputils.py +3638 -0
- lalpulsar/simulateCW.py +602 -0
- lalpulsar/simulateHeterodynedCW.py +591 -0
- lalsimulation/__init__.py +7 -0
- lalsimulation/_lalsimulation.cpython-312-x86_64-linux-gnu.so +0 -0
- lalsimulation/_lalsimulation_swig.py +14 -0
- lalsimulation/git_version.py +64 -0
- lalsimulation/gwsignal/__init__.py +9 -0
- lalsimulation/gwsignal/core/__init__.py +2 -0
- lalsimulation/gwsignal/core/conditioning_subroutines.py +196 -0
- lalsimulation/gwsignal/core/errors.py +136 -0
- lalsimulation/gwsignal/core/gw.py +206 -0
- lalsimulation/gwsignal/core/parameter_conventions.py +122 -0
- lalsimulation/gwsignal/core/utils.py +329 -0
- lalsimulation/gwsignal/core/waveform.py +725 -0
- lalsimulation/gwsignal/core/waveform_conditioning.py +455 -0
- lalsimulation/gwsignal/models/__init__.py +29 -0
- lalsimulation/gwsignal/models/pyseobnr_model.py +452 -0
- lalsimulation/nrfits/NRSur3dq8Remnant.py +92 -0
- lalsimulation/nrfits/NRSur7dq4Remnant.py +469 -0
- lalsimulation/nrfits/__init__.py +1 -0
- lalsimulation/nrfits/eval_fits.py +364 -0
- lalsimulation/nrfits/nrfits.py +78 -0
- lalsimulation/nrfits/pn_spin_evolution_wrapper.py +92 -0
- lalsimulation/nrfits/quaternion_utils.py +74 -0
- lalsimulation/tilts_at_infinity/__init__.py +2 -0
- lalsimulation/tilts_at_infinity/calc_tilts_prec_avg_regularized.py +1424 -0
- lalsimulation/tilts_at_infinity/hybrid_spin_evolution.py +461 -0
- lalsimulation/tilts_at_infinity/tilts_at_infinity_utils.py +167 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesBurstPPAnalysis +305 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesBurstPostProc +1364 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCombinePosteriors +235 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCompPos +1121 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesDIEvidence +68 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesGraceDBinfo +182 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesMCMC2pos +314 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPPAnalysis +322 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPlotSpinDisk +42 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPosToSimBurst +227 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPosToSimInspiral +307 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPostProc +1345 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesThermoInt +107 -0
- lalsuite-7.26.2.dev20251206.data/scripts/imrtgr_imr_consistency_test +796 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_path2cache +148 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_searchsum2cache +172 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_simd_detect +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_tconvert +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_CopySFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_DistanceVsMass +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_MakeSFTDAG +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_SFTclean +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_StringAddFrame +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_StringSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Weave +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_animate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_binj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_blindinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cafe +99 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_calfacs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cbc_stochasticbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_chirplen +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_coh_PTF_inspiral +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_coinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_compareFstats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cosmicstring_pipe +525 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_effdist +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_exc_resp +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_overview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fr_ninja +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frextr +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frinfo +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frjoin +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frread +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_gwf2xml +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_heterodyne_pulsar +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspawgfile +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspfrinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspiralDistance +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_automation_script +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_collate_results +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_result_page +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_makeblindinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_makeblindinj_himass +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ninja +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_path2cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power_likelihood_pipe +219 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power_pipe +417 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_random_bank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_randombank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_searchsum2cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_avg +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spininj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_splitbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_apply_vetoes +171 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_calc_likelihood +172 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_contour_plotter +141 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_cs_gamma +110 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_final +1064 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_meas_likelihood +264 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_plot_binj +543 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_plot_likelihood +380 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_tconvert +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_tmpltbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_xtefitstoframe +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_cluster +156 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_coinc +224 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_cut +425 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_gen_timeslides +254 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_inj_pic +254 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_injfind +170 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_plot_tisi +165 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_calc_likelihood +182 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_final +1369 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_meas_likelihood +206 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_plot_binj +934 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_plot_binjtf +302 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cksum +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cut +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-dump +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-fmt +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-paste +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-print +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-split +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-stat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-stream +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-vis +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalframe_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_bench +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_burst +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_burst_pp_pipe +220 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_coherence_test +139 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_compute_roq_weights +404 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_cpnest +58 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_datadump +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_injectedlike +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_merge_posteriors +57 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_mpi_wrapper +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_multi_pipe +144 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_nest +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_nest2pos +286 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_pipe +512 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_pp_pipe +229 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_review_test +362 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_injfind +206 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_thinca +240 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalmetaio_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MoveSFTs +208 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PiecewiseSearch +963 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_SFTclean +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Weave +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_compareFstats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_overview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_heterodyne +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope +145 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_automation_script +731 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_collate_results +675 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_result_page +2977 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_avg +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-qnmode +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-ringdown +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-sphwf +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-burst +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-detector-noise +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-detector-strain +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-inject +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-inspiral +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-eos-table +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-mass-radius +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-params +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-sgwb +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-unicorn +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsimulation_version +6 -0
- lalsuite-7.26.2.dev20251206.dist-info/METADATA +90 -0
- lalsuite-7.26.2.dev20251206.dist-info/RECORD +733 -0
- lalsuite-7.26.2.dev20251206.dist-info/WHEEL +5 -0
- lalsuite-7.26.2.dev20251206.dist-info/licenses/COPYING +339 -0
- lalsuite-7.26.2.dev20251206.dist-info/top_level.txt +9 -0
- lalsuite.libs/libcfitsio-729ee1b7.so.10.0.0 +0 -0
- lalsuite.libs/libfftw3-6b983104.so.3.5.5 +0 -0
- lalsuite.libs/libfftw3f-b4465a35.so.3.5.5 +0 -0
- lalsuite.libs/libframel-8cf74372.so.8.48.4 +0 -0
- lalsuite.libs/libgsl-e30be130.so.28.0.0 +0 -0
- lalsuite.libs/libgslcblas-460f042a.so.0.0.0 +0 -0
- lalsuite.libs/libhdf5-d02936e2.so.310.5.1 +0 -0
- lalsuite.libs/libhdf5_hl-0e40b553.so.310.0.6 +0 -0
- lalsuite.libs/liblal-d17109e0.so.20.5.0 +0 -0
- lalsuite.libs/liblalburst-d9edfb9d.so.8.0.0 +0 -0
- lalsuite.libs/liblalframe-d677044f.so.14.0.3 +0 -0
- lalsuite.libs/liblalinference-a50f0a8e.so.23.1.7 +0 -0
- lalsuite.libs/liblalinspiral-22638799.so.18.0.2 +0 -0
- lalsuite.libs/liblalmetaio-42c5bc5c.so.11.0.1 +0 -0
- lalsuite.libs/liblalpulsar-95c25f8c.so.30.1.1 +0 -0
- lalsuite.libs/liblalsimulation-bf7c4c31.so.37.2.0 +0 -0
- lalsuite.libs/liblalsupport-282d4115.so.14.4.0 +0 -0
- lalsuite.libs/libmetaio-abda72ec.so.1.1.0 +0 -0
|
@@ -0,0 +1,725 @@
|
|
|
1
|
+
import lal
|
|
2
|
+
import lalsimulation as lalsim
|
|
3
|
+
import numpy as np
|
|
4
|
+
from astropy import units as u
|
|
5
|
+
from gwpy.timeseries import TimeSeries
|
|
6
|
+
from gwpy.frequencyseries import FrequencySeries
|
|
7
|
+
|
|
8
|
+
from . import utils as ut
|
|
9
|
+
from . import parameter_conventions as pc
|
|
10
|
+
from . import gw as gw
|
|
11
|
+
from . import waveform_conditioning as wave_cond
|
|
12
|
+
from . import errors as err
|
|
13
|
+
import warnings
|
|
14
|
+
###################################################################################################
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class GravitationalWaveGenerator(object):
|
|
18
|
+
"""
|
|
19
|
+
This is the Parent class for all gravitational wave generator classes.
|
|
20
|
+
This class implements the basic generate modes and polarizations definitions which can then be used by the
|
|
21
|
+
consequent children classes.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
def __init__(self):
|
|
25
|
+
"""
|
|
26
|
+
Initialize the class and set base domain to time.
|
|
27
|
+
|
|
28
|
+
Parameters
|
|
29
|
+
----------
|
|
30
|
+
|
|
31
|
+
No parameters required for initialization.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
def generate_td_modes(self, **kwargs):
|
|
35
|
+
"""
|
|
36
|
+
Generate time domain modes given kwargs. The child classes will provide these routines.
|
|
37
|
+
|
|
38
|
+
Parameters
|
|
39
|
+
----------
|
|
40
|
+
|
|
41
|
+
kwargs required for generation of waveform modes
|
|
42
|
+
|
|
43
|
+
Returns
|
|
44
|
+
-------
|
|
45
|
+
|
|
46
|
+
Waveform modes as implemented in the child class
|
|
47
|
+
|
|
48
|
+
"""
|
|
49
|
+
raise NotImplementedError
|
|
50
|
+
|
|
51
|
+
def generate_fd_modes(self, **kwargs):
|
|
52
|
+
"""
|
|
53
|
+
Generate frequency domain modes given kwargs. The child classes will provide these routines.
|
|
54
|
+
|
|
55
|
+
Parameters
|
|
56
|
+
----------
|
|
57
|
+
|
|
58
|
+
kwargs required for generation of waveform modes
|
|
59
|
+
|
|
60
|
+
Returns
|
|
61
|
+
-------
|
|
62
|
+
|
|
63
|
+
Waveform modes as implemented in the child class
|
|
64
|
+
|
|
65
|
+
"""
|
|
66
|
+
raise NotImplementedError
|
|
67
|
+
|
|
68
|
+
def generate_td_waveform(self, **kwargs):
|
|
69
|
+
"""
|
|
70
|
+
Generate time domain polarizations given kwargs. The child classes will provide these routines.
|
|
71
|
+
|
|
72
|
+
Parameters
|
|
73
|
+
----------
|
|
74
|
+
|
|
75
|
+
kwargs required for generation of waveform polarizations
|
|
76
|
+
|
|
77
|
+
Returns
|
|
78
|
+
-------
|
|
79
|
+
|
|
80
|
+
Waveform polarizations implemented in the child class
|
|
81
|
+
|
|
82
|
+
"""
|
|
83
|
+
raise NotImplementedError
|
|
84
|
+
|
|
85
|
+
def generate_fd_waveform(self, **kwargs):
|
|
86
|
+
"""
|
|
87
|
+
Generate frequency domain polarizations given kwargs. The child classes will provide these routines.
|
|
88
|
+
|
|
89
|
+
Parameters
|
|
90
|
+
----------
|
|
91
|
+
|
|
92
|
+
kwargs required for generation of waveform polarizations
|
|
93
|
+
|
|
94
|
+
Returns
|
|
95
|
+
-------
|
|
96
|
+
|
|
97
|
+
Waveform polarizations as implemented in the child class
|
|
98
|
+
|
|
99
|
+
"""
|
|
100
|
+
raise NotImplementedError
|
|
101
|
+
|
|
102
|
+
@property
|
|
103
|
+
def domain(self):
|
|
104
|
+
return self._generation_domain, self._implemented_domain
|
|
105
|
+
|
|
106
|
+
def _update_domains(self):
|
|
107
|
+
"""
|
|
108
|
+
Update the generation or implementation domain for a given generator / if needed.
|
|
109
|
+
|
|
110
|
+
Parameters
|
|
111
|
+
----------
|
|
112
|
+
None
|
|
113
|
+
|
|
114
|
+
Returns
|
|
115
|
+
-------
|
|
116
|
+
Updated domain tags for polarization generation and waveform implementation.
|
|
117
|
+
|
|
118
|
+
"""
|
|
119
|
+
self._implemented_domain = self.metadata['implemented_domain']
|
|
120
|
+
return 0
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
def metadata(self):
|
|
124
|
+
metadata = {
|
|
125
|
+
"type": '',
|
|
126
|
+
"f_ref_spin": None,
|
|
127
|
+
"modes": None,
|
|
128
|
+
"polarizations": None,
|
|
129
|
+
"implemented_domain": None,
|
|
130
|
+
"generation_domain": None,
|
|
131
|
+
"approximant" : None,
|
|
132
|
+
"implementation" : '',
|
|
133
|
+
"conditioning_routines" : ''
|
|
134
|
+
}
|
|
135
|
+
return metadata
|
|
136
|
+
|
|
137
|
+
class CompactBinaryCoalescenceGenerator(GravitationalWaveGenerator):
|
|
138
|
+
"""
|
|
139
|
+
This is the parent generator class for compact binary coalescence waveforms (BBH, BNS, NSBH etc.).
|
|
140
|
+
|
|
141
|
+
The main intended functionality of this class is to check the different parameters passed in the kwargs
|
|
142
|
+
and to populate the parameter dictionaries with all the other parameters from the lalsuite parameter checks.
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
def __init__(self):
|
|
146
|
+
"""
|
|
147
|
+
Initialize class
|
|
148
|
+
|
|
149
|
+
Parameters
|
|
150
|
+
----------
|
|
151
|
+
|
|
152
|
+
No parameters required for initilazation.
|
|
153
|
+
|
|
154
|
+
"""
|
|
155
|
+
super(CompactBinaryCoalescenceGenerator, self).__init__()
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
def parameter_check(self, units_sys='S.I.', extra_parameters=dict(), **parameters):
|
|
159
|
+
"""
|
|
160
|
+
Perform checks on the various parameters and populate the different parameters not passed
|
|
161
|
+
in the kwargs required for generating waveforms.
|
|
162
|
+
|
|
163
|
+
Parameters
|
|
164
|
+
----------
|
|
165
|
+
|
|
166
|
+
Python dictionary of parameters required for waveform generation
|
|
167
|
+
of the form specified in `parameter_conventions.py`.
|
|
168
|
+
|
|
169
|
+
Returns
|
|
170
|
+
-------
|
|
171
|
+
|
|
172
|
+
Populate self.waveform_dict with python dictionary and self.lal_dict with LALSuite dictionary structure.
|
|
173
|
+
"""
|
|
174
|
+
default_dict = pc.default_dict.copy()
|
|
175
|
+
# Need to add this line to take care of the extra parameters passed to ExternalPython LAL Generator
|
|
176
|
+
ExternalPythonParameters=['object', 'module']
|
|
177
|
+
|
|
178
|
+
for key, value in parameters.items():
|
|
179
|
+
if key in ExternalPythonParameters:
|
|
180
|
+
pass
|
|
181
|
+
else:
|
|
182
|
+
default_dict[key] = value
|
|
183
|
+
|
|
184
|
+
if not 'deltaF' in default_dict:
|
|
185
|
+
default_dict['deltaF'] = 1./16.*u.Hz
|
|
186
|
+
if not 'deltaT' in default_dict:
|
|
187
|
+
default_dict['deltaT'] = 1./512.*u.s
|
|
188
|
+
if not 'f_max' in default_dict:
|
|
189
|
+
default_dict['f_max'] = (0.5/default_dict['deltaT'].value)*u.Hz
|
|
190
|
+
|
|
191
|
+
# Add units if indicated
|
|
192
|
+
if units_sys is not None:
|
|
193
|
+
self.waveform_dict = ut.add_params_units(default_dict, units_sys, generic_param_dict=extra_parameters)
|
|
194
|
+
#This is a mandatory check that units are correctly used
|
|
195
|
+
ut.check_dict_parameters(default_dict, generic_param_dict=extra_parameters)
|
|
196
|
+
|
|
197
|
+
self.lal_dict = ut.to_lal_dict(default_dict)
|
|
198
|
+
return default_dict
|
|
199
|
+
|
|
200
|
+
########################################################################
|
|
201
|
+
# LAL CBC Generator
|
|
202
|
+
########################################################################
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
class LALCompactBinaryCoalescenceGenerator(CompactBinaryCoalescenceGenerator):
|
|
206
|
+
"""
|
|
207
|
+
Generator class for all CBC waveforms as implemented in LALSimulation.
|
|
208
|
+
"""
|
|
209
|
+
|
|
210
|
+
def __init__(self, approximant, **kwargs):
|
|
211
|
+
"""
|
|
212
|
+
Initialize class. Parent class is the "CompactBinaryCoalescenceGenerator" class
|
|
213
|
+
|
|
214
|
+
Parameters
|
|
215
|
+
----------
|
|
216
|
+
approximant : type 'str'
|
|
217
|
+
Name of the LAL approximant of which waveform to be generated
|
|
218
|
+
|
|
219
|
+
Returns
|
|
220
|
+
-------
|
|
221
|
+
generator : Python GW generator class
|
|
222
|
+
Generator class for LALSimulation waveforms required to generate time and frequency domain polarizations and modes
|
|
223
|
+
|
|
224
|
+
"""
|
|
225
|
+
super(LALCompactBinaryCoalescenceGenerator, self).__init__()
|
|
226
|
+
warnings.warn("This code is currently UNREVIEWED, use with caution!")
|
|
227
|
+
self.approximant = approximant
|
|
228
|
+
self._get_approximant(self.approximant)
|
|
229
|
+
self._generation_domain = None
|
|
230
|
+
self._update_domains()
|
|
231
|
+
|
|
232
|
+
@property
|
|
233
|
+
def metadata(self):
|
|
234
|
+
metadata = {
|
|
235
|
+
"type": 'cbc_lalsimulation',
|
|
236
|
+
"f_ref_spin": True,
|
|
237
|
+
"modes": True,
|
|
238
|
+
"polarizations": True,
|
|
239
|
+
"implemented_domain": self._implemented_domain,
|
|
240
|
+
"generation_domain": self._generation_domain,
|
|
241
|
+
"approximant" : self._approx_name,
|
|
242
|
+
"implementation" : "LALSimulation",
|
|
243
|
+
"conditioning_routines" : 'lalsimulation'
|
|
244
|
+
}
|
|
245
|
+
return metadata
|
|
246
|
+
|
|
247
|
+
def _update_domains(self):
|
|
248
|
+
"""
|
|
249
|
+
Update the implemented domain of the LAL generator based on LALSimulations ImplementedTD/FDApproximant flag
|
|
250
|
+
"""
|
|
251
|
+
# Check which is the impltemented domain for the waveform
|
|
252
|
+
|
|
253
|
+
td_flag = lalsim.SimInspiralImplementedTDApproximants(self._approx)
|
|
254
|
+
fd_flag = lalsim.SimInspiralImplementedFDApproximants(self._approx)
|
|
255
|
+
check_array = [td_flag, fd_flag]
|
|
256
|
+
|
|
257
|
+
if check_array==[1,0]:
|
|
258
|
+
self._implemented_domain = 'time'
|
|
259
|
+
elif check_array==[0,1]:
|
|
260
|
+
self._implemented_domain = 'freq'
|
|
261
|
+
elif check_array==[1,1]:
|
|
262
|
+
self._implemented_domain = self._generation_domain
|
|
263
|
+
|
|
264
|
+
def _get_approximant(self, approx):
|
|
265
|
+
"""Populate the approximant name and approximant int (as used by lalsimulation) from waveform dictionary.
|
|
266
|
+
|
|
267
|
+
Parameters
|
|
268
|
+
----------
|
|
269
|
+
approx : 'str'
|
|
270
|
+
Name of approximant.
|
|
271
|
+
|
|
272
|
+
Returns
|
|
273
|
+
-------
|
|
274
|
+
|
|
275
|
+
Populate self._approx_name (str) and self._approx (int) to be used by lalsimulation ChooseWaveformGenerator
|
|
276
|
+
function
|
|
277
|
+
|
|
278
|
+
Raises
|
|
279
|
+
------
|
|
280
|
+
ValueError if approximant is not included in LALSimulation
|
|
281
|
+
"""
|
|
282
|
+
|
|
283
|
+
if type(approx) is str:
|
|
284
|
+
self._approx_name = approx
|
|
285
|
+
self._approx = lalsim.SimInspiralGetApproximantFromString(approx)
|
|
286
|
+
elif type(approx) is int:
|
|
287
|
+
self._approx = approx
|
|
288
|
+
self._approx_name = lalsim.GetStringFromApproximant(approx)
|
|
289
|
+
else:
|
|
290
|
+
raise ValueError('approximant not of recognized type')
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
def generate_td_waveform(self, **parameters):
|
|
294
|
+
"""
|
|
295
|
+
Perform parameter check, choose lalsimulation generator based on domain and conditioning subroutines.
|
|
296
|
+
|
|
297
|
+
Parameters
|
|
298
|
+
----------
|
|
299
|
+
parameter_dict : dictionary
|
|
300
|
+
Dictionary of waveform parameters of the form specified
|
|
301
|
+
in `parameter_conventions.py`.
|
|
302
|
+
|
|
303
|
+
Returns
|
|
304
|
+
-------
|
|
305
|
+
hp, hc : LAL Time Series
|
|
306
|
+
Plus and cross polarizations of a gravitational waveform (hp,hc) as LAL Data objects.
|
|
307
|
+
|
|
308
|
+
Raises
|
|
309
|
+
------
|
|
310
|
+
ValueError if domain ('time' or 'freq') for approximant is not specified
|
|
311
|
+
"""
|
|
312
|
+
self.parameter_check(**parameters)
|
|
313
|
+
self._generation_domain = 'time'
|
|
314
|
+
self._update_domains()
|
|
315
|
+
if self._implemented_domain=='time':
|
|
316
|
+
self._pol_gen_function = lalsim.SimInspiralGenerateTDWaveform
|
|
317
|
+
|
|
318
|
+
elif self._implemented_domain=='freq':
|
|
319
|
+
if self._generation_domain=='time' and parameters['condition']==1:
|
|
320
|
+
self._pol_gen_function = lalsim.SimInspiralGenerateTDWaveform
|
|
321
|
+
elif self._generation_domain=='time' and parameters['condition']==0:
|
|
322
|
+
raise ValueError("Generator requires conditioning to be turned on to generate time domain waveform")
|
|
323
|
+
|
|
324
|
+
self._lal_generator = lalsim.SimInspiralChooseGenerator(self._approx, self.lal_dict)
|
|
325
|
+
|
|
326
|
+
@err.mapexception
|
|
327
|
+
def gen_pol_func(lal_dict, lal_generator):
|
|
328
|
+
return self._pol_gen_function(lal_dict, lal_generator)
|
|
329
|
+
|
|
330
|
+
hp, hc = gen_pol_func(self.lal_dict, self._lal_generator)
|
|
331
|
+
hp, hc = to_gwpy_Series(hp, name='hplus'), to_gwpy_Series(hc, name='hcross')
|
|
332
|
+
return hp, hc
|
|
333
|
+
|
|
334
|
+
def generate_fd_waveform(self, **parameters):
|
|
335
|
+
"""
|
|
336
|
+
Perform parameter check, choose lalsimulation generator based on domain and conditioning subroutines.
|
|
337
|
+
|
|
338
|
+
Parameters
|
|
339
|
+
----------
|
|
340
|
+
parameter_dict : dictionary
|
|
341
|
+
Dictionary of waveform parameters of the form specified
|
|
342
|
+
in `parameter_conventions.py`.
|
|
343
|
+
|
|
344
|
+
Returns
|
|
345
|
+
-------
|
|
346
|
+
hp, hc : LAL Frequency Series
|
|
347
|
+
Plus and cross polarizations of a gravitational waveform (hp,hc) as LAL Data objects.
|
|
348
|
+
|
|
349
|
+
Raises
|
|
350
|
+
------
|
|
351
|
+
ValueError if domain ('time' or 'freq') for approximant is not specified
|
|
352
|
+
"""
|
|
353
|
+
self.parameter_check(**parameters)
|
|
354
|
+
self._generation_domain = 'freq'
|
|
355
|
+
self._update_domains()
|
|
356
|
+
|
|
357
|
+
if self._implemented_domain=='time':
|
|
358
|
+
if self._generation_domain=='freq' and parameters['condition']==1:
|
|
359
|
+
self._pol_gen_function = lalsim.SimInspiralGenerateFDWaveform
|
|
360
|
+
elif self._generation_domain=='freq' and parameters['condition']==0:
|
|
361
|
+
raise ValueError("Generator requires conditioning to be turned on to generate frequency domain waveform")
|
|
362
|
+
|
|
363
|
+
elif self._implemented_domain=='freq':
|
|
364
|
+
self._pol_gen_function = lalsim.SimInspiralGenerateFDWaveform
|
|
365
|
+
|
|
366
|
+
self._lal_generator = lalsim.SimInspiralChooseGenerator(self._approx, self.lal_dict)
|
|
367
|
+
|
|
368
|
+
@err.mapexception
|
|
369
|
+
def gen_pol_func(lal_dict, lal_generator):
|
|
370
|
+
return self._pol_gen_function(lal_dict, lal_generator)
|
|
371
|
+
|
|
372
|
+
hp, hc = gen_pol_func(self.lal_dict, self._lal_generator)
|
|
373
|
+
hp, hc = to_gwpy_Series(hp, name='hplus', epoch=0.), to_gwpy_Series(hc, name='hcross', epoch=0.)
|
|
374
|
+
return hp, hc
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
def generate_td_modes(self, **parameters):
|
|
378
|
+
"""
|
|
379
|
+
Perform parameter check, choose lalsimulation generator based on domain and attempt to generate
|
|
380
|
+
the waveform modes.
|
|
381
|
+
|
|
382
|
+
Parameters
|
|
383
|
+
----------
|
|
384
|
+
parameter_dict : dictionary
|
|
385
|
+
Dictionary of waveform parameters of the form specified
|
|
386
|
+
in `parameter_conventions.py`.
|
|
387
|
+
|
|
388
|
+
Returns
|
|
389
|
+
-------
|
|
390
|
+
hlm : Python dictionary of modes
|
|
391
|
+
Modes of a gravitational waveform as python dictionary where each mode is LAL Time series
|
|
392
|
+
objects.
|
|
393
|
+
"""
|
|
394
|
+
|
|
395
|
+
self.parameter_check(**parameters)
|
|
396
|
+
self._generation_domain = 'time'
|
|
397
|
+
self._update_domains()
|
|
398
|
+
|
|
399
|
+
if self._implemented_domain=='time':
|
|
400
|
+
self._mode_gen_function = lalsim.SimInspiralGenerateTDModes
|
|
401
|
+
elif self._implemented_domain=='freq':
|
|
402
|
+
raise ValueError('Approximant does not have time domain mode generator')
|
|
403
|
+
else:
|
|
404
|
+
raise ValueError('Approximant domain unspecified')
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
self._lal_generator = lalsim.SimInspiralChooseGenerator(self._approx, self.lal_dict)
|
|
408
|
+
|
|
409
|
+
@err.mapexception
|
|
410
|
+
def gen_modes(lal_dict, gen):
|
|
411
|
+
return self._mode_gen_function(lal_dict, gen)
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
hlm = gen_modes(self.lal_dict, self._lal_generator)
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
# Put hlms in a dictionary
|
|
418
|
+
# Define python dictionary and populate the modes
|
|
419
|
+
hlm_dict = {}
|
|
420
|
+
|
|
421
|
+
# Define 22 mode to get epoch and generate time data
|
|
422
|
+
mode_22 = lalsim.SphHarmTimeSeriesGetMode(hlm, 2, 2)
|
|
423
|
+
dt = self.waveform_dict['deltaT'].si.value
|
|
424
|
+
times = np.float64(mode_22.epoch) + np.arange(0, len(mode_22.data.data))*dt
|
|
425
|
+
|
|
426
|
+
hlm_dict['time_array'] = np.array(times)
|
|
427
|
+
|
|
428
|
+
lmax = hlm.l
|
|
429
|
+
m_max = hlm.m
|
|
430
|
+
for l in np.arange(2, lmax+1):
|
|
431
|
+
for m in np.arange(-l, l+1):
|
|
432
|
+
hlm_dict[l,m] = lalsim.SphHarmTimeSeriesGetMode(hlm, int(l), int(m))
|
|
433
|
+
|
|
434
|
+
hlm_out = to_gwpy_dict(hlm_dict)
|
|
435
|
+
return hlm_out
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
def generate_fd_modes(self, **parameters):
|
|
439
|
+
"""
|
|
440
|
+
Perform parameter check, choose lalsimulation generator based on domain and attempt to generate
|
|
441
|
+
the waveform modes.
|
|
442
|
+
|
|
443
|
+
Parameters
|
|
444
|
+
----------
|
|
445
|
+
parameter_dict : dictionary
|
|
446
|
+
Dictionary of waveform parameters of the form specified
|
|
447
|
+
in `parameter_conventions.py`.
|
|
448
|
+
|
|
449
|
+
Returns
|
|
450
|
+
-------
|
|
451
|
+
hlm : Python dictionary of modes
|
|
452
|
+
Modes of a gravitational waveform as python dictionary where each mode is LAL Frequency series
|
|
453
|
+
objects.
|
|
454
|
+
"""
|
|
455
|
+
|
|
456
|
+
self.parameter_check(**parameters)
|
|
457
|
+
self._generation_domain = 'freq'
|
|
458
|
+
self._update_domains()
|
|
459
|
+
|
|
460
|
+
if self._implemented_domain=='time':
|
|
461
|
+
raise ValueError('Approximant does not have frequency domain mode generator')
|
|
462
|
+
elif self._implemented_domain=='freq':
|
|
463
|
+
self._mode_gen_function = lalsim.SimInspiralGenerateFDModes
|
|
464
|
+
else:
|
|
465
|
+
raise ValueError('approximant domain unspecified')
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
self._lal_generator = lalsim.SimInspiralChooseGenerator(self._approx, self.lal_dict)
|
|
469
|
+
@err.mapexception
|
|
470
|
+
def gen_modes(lal_dict, gen):
|
|
471
|
+
return self._mode_gen_function(lal_dict, gen)
|
|
472
|
+
|
|
473
|
+
hlm = gen_modes(self.lal_dict, self._lal_generator)
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
# Put hlms in a dictionary
|
|
477
|
+
# Define python dictionary and populate the modes
|
|
478
|
+
hlm_dict = {}
|
|
479
|
+
|
|
480
|
+
hlm_dict['frequency_array'] = hlm.fdata.data
|
|
481
|
+
|
|
482
|
+
lmax = hlm.l
|
|
483
|
+
m_max = hlm.m
|
|
484
|
+
for l in np.arange(2, lmax+1):
|
|
485
|
+
for m in np.arange(-l, l+1):
|
|
486
|
+
hlm_dict[l,m] = lalsim.SphHarmFrequencySeriesGetMode(hlm, int(l), int(m))
|
|
487
|
+
|
|
488
|
+
hlm_out = to_gwpy_dict(hlm_dict)
|
|
489
|
+
|
|
490
|
+
return hlm_out
|
|
491
|
+
|
|
492
|
+
def conditioning_generator(generator):
|
|
493
|
+
"""
|
|
494
|
+
Given a generator with contioning as 1, return function that generates conditioned waveforms
|
|
495
|
+
|
|
496
|
+
Parameters
|
|
497
|
+
----------
|
|
498
|
+
generator : `GravitationalWaveGenerator`
|
|
499
|
+
GravitationalWaveGenerator object
|
|
500
|
+
|
|
501
|
+
Returns
|
|
502
|
+
-------
|
|
503
|
+
Conditioning function for the generator
|
|
504
|
+
"""
|
|
505
|
+
|
|
506
|
+
if generator._implemented_domain=='time' and generator._generation_domain=='time':
|
|
507
|
+
generator_func = wave_cond.generate_conditioned_td_waveform_from_td
|
|
508
|
+
|
|
509
|
+
elif generator._implemented_domain=='time' and generator._generation_domain=='freq':
|
|
510
|
+
generator_func = wave_cond.generate_conditioned_fd_waveform_from_td
|
|
511
|
+
|
|
512
|
+
elif generator._implemented_domain=='freq' and generator._generation_domain=='freq':
|
|
513
|
+
generator_func = wave_cond.generate_conditioned_fd_waveform_from_fd
|
|
514
|
+
|
|
515
|
+
elif generator._implemented_domain=='freq' and generator._generation_domain=='time':
|
|
516
|
+
generator_func = wave_cond.generate_conditioned_td_waveform_from_fd
|
|
517
|
+
|
|
518
|
+
return generator_func
|
|
519
|
+
|
|
520
|
+
########################################################################
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
########################################################################
|
|
524
|
+
|
|
525
|
+
def to_gwpy_Series(h, f0=0., **kwargs):
|
|
526
|
+
'''
|
|
527
|
+
Function to convert a lal series to a gwpy series.
|
|
528
|
+
|
|
529
|
+
Parameters
|
|
530
|
+
----------
|
|
531
|
+
h : lal time or frequency series
|
|
532
|
+
'lal.REAL8TimeSeries' or 'lal.COMPLEX16FrequencySeries'
|
|
533
|
+
|
|
534
|
+
f0 : Starting frequency passed to gwpy.FrequencySeries
|
|
535
|
+
|
|
536
|
+
Returns
|
|
537
|
+
-------
|
|
538
|
+
|
|
539
|
+
h : GWpy Time/Freq series
|
|
540
|
+
Time/Freq domain waveform
|
|
541
|
+
'''
|
|
542
|
+
|
|
543
|
+
if isinstance(h, lal.REAL8TimeSeries) or isinstance(h, lal.COMPLEX16TimeSeries):
|
|
544
|
+
return TimeSeries(h.data.data, dt = h.deltaT, t0 = h.epoch, **kwargs)
|
|
545
|
+
|
|
546
|
+
elif isinstance(h, lal.COMPLEX16FrequencySeries):
|
|
547
|
+
return FrequencySeries(h.data.data, df = h.deltaF, f0=f0, **kwargs)
|
|
548
|
+
|
|
549
|
+
elif isinstance(h, TimeSeries) :
|
|
550
|
+
return TimeSeries(h, **kwargs)
|
|
551
|
+
|
|
552
|
+
elif isinstance(h, FrequencySeries):
|
|
553
|
+
return FrequencySeries(h, **kwargs)
|
|
554
|
+
|
|
555
|
+
else:
|
|
556
|
+
print('Input type not recognized')
|
|
557
|
+
|
|
558
|
+
def to_gwpy_dict(mode_dict, **kwargs):
|
|
559
|
+
'''
|
|
560
|
+
Function to convert a mode dictionary of lal series to a dictionary of
|
|
561
|
+
gwpy series.
|
|
562
|
+
|
|
563
|
+
Parameters
|
|
564
|
+
----------
|
|
565
|
+
mode_dict : python dictionary
|
|
566
|
+
entries of the form {(l, m): lal-series} and {`time/frequency_array` : }
|
|
567
|
+
|
|
568
|
+
Returns
|
|
569
|
+
-------
|
|
570
|
+
new_dict : python dictionary
|
|
571
|
+
entries of the form {(l, m): gwpy-series} and {`time/frequency_array` : }
|
|
572
|
+
'''
|
|
573
|
+
|
|
574
|
+
new_dict = {}
|
|
575
|
+
f0=0.
|
|
576
|
+
for k, v in mode_dict.items():
|
|
577
|
+
if k == 'time_array':
|
|
578
|
+
new_dict.update({k: v})
|
|
579
|
+
elif k == 'frequency_array':
|
|
580
|
+
new_dict.update({k: v})
|
|
581
|
+
f0 = v[0]
|
|
582
|
+
elif v is None:
|
|
583
|
+
pass
|
|
584
|
+
else:
|
|
585
|
+
new_dict.update({k: to_gwpy_Series(v, f0, name='h_%i_%i'%(k[0], k[1]),**kwargs)})
|
|
586
|
+
|
|
587
|
+
return new_dict
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
########################################################################################################################
|
|
591
|
+
################################ Generate Waveform Polarizations and Modes functions ##################################
|
|
592
|
+
########################################################################################################################
|
|
593
|
+
|
|
594
|
+
def GenerateTDWaveform(parameter_dict, generator):
|
|
595
|
+
"""
|
|
596
|
+
Function to generate time domain gravitational wave polarizations.
|
|
597
|
+
|
|
598
|
+
Parameters
|
|
599
|
+
----------
|
|
600
|
+
parameter_dict : dictionary
|
|
601
|
+
Dictionary of intrinsic / extrinsic gravitational wave parameters
|
|
602
|
+
generator : Python GW generator class
|
|
603
|
+
Generator class for the waveform approximant (either LAL or external)
|
|
604
|
+
|
|
605
|
+
Returns
|
|
606
|
+
-------
|
|
607
|
+
`GravitationalWavePolarizations` object: allows to extract the zero noise strain
|
|
608
|
+
given a detector, sky-position, polarization and time of arrival values.
|
|
609
|
+
"""
|
|
610
|
+
|
|
611
|
+
generator._generation_domain = 'time'
|
|
612
|
+
generator._update_domains()
|
|
613
|
+
|
|
614
|
+
conditioning = parameter_dict['condition']
|
|
615
|
+
conditioning_routines = generator.metadata['conditioning_routines']
|
|
616
|
+
|
|
617
|
+
# First check if generator generates waveform in generation domain and
|
|
618
|
+
# if conditioning is on. If conditioning is off, raise ValueError
|
|
619
|
+
if not conditioning and generator._generation_domain!=generator._implemented_domain:
|
|
620
|
+
raise ValueError("Generator does not provide a method to generate time-domain waveforms. \n Please turn on conditioning to generate time-domain waveform")
|
|
621
|
+
|
|
622
|
+
if conditioning and conditioning_routines=='gwsignal':
|
|
623
|
+
warnings.warn("This code is currently UNREVIEWED, use with caution!")
|
|
624
|
+
generator_func = conditioning_generator(generator)
|
|
625
|
+
hp, hc = generator_func(parameter_dict, generator)
|
|
626
|
+
else:
|
|
627
|
+
hp, hc = generator.generate_td_waveform(**parameter_dict)
|
|
628
|
+
|
|
629
|
+
return gw.GravitationalWavePolarizations(hp, hc)
|
|
630
|
+
|
|
631
|
+
def GenerateFDWaveform(parameter_dict, generator):
|
|
632
|
+
"""
|
|
633
|
+
Function to generate frequency domain gravitational wave polarizations.
|
|
634
|
+
|
|
635
|
+
Parameters
|
|
636
|
+
----------
|
|
637
|
+
parameter_dict : dictionary
|
|
638
|
+
Dictionary of intrinsic / extrinsic gravitational wave parameters
|
|
639
|
+
generator : Python GW generator class
|
|
640
|
+
Generator class for the waveform approximant (either LAL or external)
|
|
641
|
+
|
|
642
|
+
Returns
|
|
643
|
+
-------
|
|
644
|
+
`GravitationalWavePolarizations` object: allows to extract the zero noise strain
|
|
645
|
+
given a detector, sky-position, polarization and time of arrival values.
|
|
646
|
+
"""
|
|
647
|
+
|
|
648
|
+
generator._generation_domain = 'freq'
|
|
649
|
+
generator._update_domains()
|
|
650
|
+
|
|
651
|
+
conditioning = parameter_dict['condition']
|
|
652
|
+
conditioning_routines = generator.metadata['conditioning_routines']
|
|
653
|
+
|
|
654
|
+
# First check if generator generates waveform in generation domain and
|
|
655
|
+
# if conditioning is on. If conditioning is off, raise ValueError
|
|
656
|
+
if not conditioning and generator._generation_domain!=generator._implemented_domain:
|
|
657
|
+
raise ValueError("Generator does not provide a method to generate frequency-domain waveforms. \n Please turn on conditioning to generate time-domain waveform")
|
|
658
|
+
|
|
659
|
+
if conditioning and conditioning_routines=='gwsignal':
|
|
660
|
+
warnings.warn("This code is currently UNREVIEWED, use with caution!")
|
|
661
|
+
generator_func = conditioning_generator(generator)
|
|
662
|
+
hp, hc = generator_func(parameter_dict, generator)
|
|
663
|
+
else:
|
|
664
|
+
hp, hc = generator.generate_fd_waveform(**parameter_dict)
|
|
665
|
+
|
|
666
|
+
return gw.GravitationalWavePolarizations(hp, hc)
|
|
667
|
+
|
|
668
|
+
def GenerateTDModes(parameter_dict, generator):
|
|
669
|
+
"""
|
|
670
|
+
Function to generate time domain gravitational wave modes.
|
|
671
|
+
|
|
672
|
+
Parameters
|
|
673
|
+
----------
|
|
674
|
+
parameter_dict : dictionary
|
|
675
|
+
Dictionary of intrinsic / extrinsic gravitational wave parameters
|
|
676
|
+
generator : Python GW generator class
|
|
677
|
+
Generator class for the waveform approximant (either LAL or external)
|
|
678
|
+
|
|
679
|
+
Returns
|
|
680
|
+
-------
|
|
681
|
+
hlm : Python dictionary
|
|
682
|
+
Time domain modes returned as a dictionary where each mode is a GWpy Time series object
|
|
683
|
+
"""
|
|
684
|
+
|
|
685
|
+
generator._generation_domain = 'time'
|
|
686
|
+
generator._update_domains()
|
|
687
|
+
|
|
688
|
+
hlm = generator.generate_td_modes(**parameter_dict)
|
|
689
|
+
|
|
690
|
+
hlm_out = to_gwpy_dict(hlm)
|
|
691
|
+
return gw.GravitationalWaveModes(hlm_out)
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
def GenerateFDModes(parameter_dict, generator):
|
|
695
|
+
"""
|
|
696
|
+
Function to generate frequency domain gravitational wave modes.
|
|
697
|
+
|
|
698
|
+
Parameters
|
|
699
|
+
----------
|
|
700
|
+
parameter_dict : dictionary
|
|
701
|
+
Dictionary of intrinsic / extrinsic gravitational wave parameters
|
|
702
|
+
generator : Python GW generator class
|
|
703
|
+
Generator class for the waveform approximant (either LAL or external)
|
|
704
|
+
|
|
705
|
+
Returns
|
|
706
|
+
-------
|
|
707
|
+
hlm : Python dictionary
|
|
708
|
+
Frequency domain modes returned as a dictionary where each mode is a GWpy Frequency series object
|
|
709
|
+
"""
|
|
710
|
+
|
|
711
|
+
generator._generation_domain = 'freq'
|
|
712
|
+
generator._update_domains()
|
|
713
|
+
|
|
714
|
+
hlm = generator.generate_fd_modes(**parameter_dict)
|
|
715
|
+
hlm_out = to_gwpy_dict(hlm)
|
|
716
|
+
return gw.GravitationalWaveModes(hlm_out)
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
########################################################################################################################
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
########################################################################################################################
|