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
lalpulsar/simulateCW.py
ADDED
|
@@ -0,0 +1,602 @@
|
|
|
1
|
+
# Copyright (C) 2017 Karl Wette
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify it
|
|
4
|
+
# under the terms of the GNU General Public License as published by the
|
|
5
|
+
# Free Software Foundation; either version 2 of the License, or (at your
|
|
6
|
+
# option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful, but
|
|
9
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
11
|
+
# Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
16
|
+
|
|
17
|
+
## \defgroup lalpulsar_py_simulateCW SimulateCW
|
|
18
|
+
## \ingroup lalpulsar_python
|
|
19
|
+
r"""
|
|
20
|
+
Generate strain time series of a continuous-wave signal in the detector frame,
|
|
21
|
+
given a function which computes signal phase and amplitudes as functions of time.
|
|
22
|
+
|
|
23
|
+
The given function should compute quantities \f$\Delta\phi(t)\f$, \f$a_+(t)\f$,
|
|
24
|
+
and \f$a_\times(t)\f$ such that the plus and cross gravitational-wave
|
|
25
|
+
polarisations \f$h_+(t)\f$ and \f$h_\times(t)\f$ are given by:
|
|
26
|
+
\f{eqnarray}{
|
|
27
|
+
h_+(t) & = & a_+(t) \cos[\phi_0 + \Delta\phi(t)] \; , \\
|
|
28
|
+
h_\times(t) & = & a_\times(t)\sin[\phi_0 + \Delta\phi(t)] \; .
|
|
29
|
+
\f}
|
|
30
|
+
|
|
31
|
+
This module provides a class CWSimulator() to generate the strain time series.
|
|
32
|
+
CWSimulator() can also directly write frame files and SFT files. Example usage:
|
|
33
|
+
|
|
34
|
+
~~~
|
|
35
|
+
import lal
|
|
36
|
+
from lalpulsar import simulateCW
|
|
37
|
+
|
|
38
|
+
def waveform(h0, cosi, freq, f1dot):
|
|
39
|
+
def wf(dt):
|
|
40
|
+
dphi = lal.TWOPI * (freq * dt + f1dot * 0.5 * dt**2)
|
|
41
|
+
ap = h0 * (1.0 + cosi**2) / 2.0
|
|
42
|
+
ax = h0 * cosi
|
|
43
|
+
return dphi, ap, ax
|
|
44
|
+
return wf
|
|
45
|
+
|
|
46
|
+
tref = 900043200
|
|
47
|
+
tstart = 900000000
|
|
48
|
+
Tdata = 86400
|
|
49
|
+
h0 = 1e-24
|
|
50
|
+
cosi = 0.123
|
|
51
|
+
psi = 2.345
|
|
52
|
+
phi0 = 3.210
|
|
53
|
+
freq = 10.0
|
|
54
|
+
f1dot = -1.35e-8
|
|
55
|
+
dt_wf = 5
|
|
56
|
+
alpha = 6.12
|
|
57
|
+
delta = 1.02
|
|
58
|
+
detector = 'H1'
|
|
59
|
+
|
|
60
|
+
wf = waveform(h0, cosi, freq, f1dot)
|
|
61
|
+
S = simulateCW.CWSimulator(tref, tstart, Tdata, wf, dt_wf, phi0, psi, alpha, delta, detector)
|
|
62
|
+
|
|
63
|
+
# To write SFT files
|
|
64
|
+
for file, i, N in S.write_sft_files(fmax=32, Tsft=1800, comment="simCW"):
|
|
65
|
+
print('Generated SFT file %s (%i of %i)' % (file, i+1, N))
|
|
66
|
+
|
|
67
|
+
# To write frame files
|
|
68
|
+
for file, i, N in S.write_frame_files(fs=1, Tframe=1800, comment="simCW"):
|
|
69
|
+
print('Generated frame file %s (%i of %i)' % (file, i+1, N))
|
|
70
|
+
|
|
71
|
+
~~~
|
|
72
|
+
"""
|
|
73
|
+
## @{
|
|
74
|
+
|
|
75
|
+
from __future__ import division, print_function
|
|
76
|
+
|
|
77
|
+
import os
|
|
78
|
+
import sys
|
|
79
|
+
import re
|
|
80
|
+
import math
|
|
81
|
+
|
|
82
|
+
import lal
|
|
83
|
+
import lalpulsar
|
|
84
|
+
|
|
85
|
+
from . import git_version
|
|
86
|
+
|
|
87
|
+
__author__ = "Karl Wette <karl.wette@ligo.org>"
|
|
88
|
+
__version__ = git_version.id
|
|
89
|
+
__date__ = git_version.date
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class CWSimulator(object):
|
|
93
|
+
def __init__(
|
|
94
|
+
self,
|
|
95
|
+
tref,
|
|
96
|
+
tstart,
|
|
97
|
+
Tdata,
|
|
98
|
+
waveform,
|
|
99
|
+
dt_wf,
|
|
100
|
+
phi0,
|
|
101
|
+
psi,
|
|
102
|
+
alpha,
|
|
103
|
+
delta,
|
|
104
|
+
det_name,
|
|
105
|
+
earth_ephem_file="earth00-40-DE405.dat.gz",
|
|
106
|
+
sun_ephem_file="sun00-40-DE405.dat.gz",
|
|
107
|
+
tref_at_det=False,
|
|
108
|
+
extra_comment=None,
|
|
109
|
+
):
|
|
110
|
+
"""
|
|
111
|
+
Initialise a continuous-wave signal simulator.
|
|
112
|
+
|
|
113
|
+
@param tref: reference time of signal phase at Solar System barycentre, in GPS seconds
|
|
114
|
+
(but see @b tref_at_det)
|
|
115
|
+
@param tstart: start time of signal, in GPS seconds
|
|
116
|
+
@param Tdata: total duration of signal, in seconds
|
|
117
|
+
@param waveform: function which computes signal phase and amplitudes as functions of time:
|
|
118
|
+
@b dphi, @b aplus, @b across = @b waveform(dt), where:
|
|
119
|
+
@b dt = time since reference time @b tref;
|
|
120
|
+
@b dphi = phase of signal at time @b dt relative to reference time @b tref, in radians;
|
|
121
|
+
@b aplus = strain amplitude of plus polarisation at time @b dt;
|
|
122
|
+
@b across = strain amplitude of cross polarisation at time @b dt
|
|
123
|
+
@param dt_wf: sampling time of the function @c waveform; this need only be small enough to ensure
|
|
124
|
+
that @c dphi, @c aplus, and @c across are smoothly interpolated, and does not need to make
|
|
125
|
+
the desired sampling frequency of the output strain time series
|
|
126
|
+
@param phi0: initial phase of the gravitational-wave signal at @b tstart, in radians
|
|
127
|
+
@param psi: polarisation angle of the gravitational-wave source, in radians
|
|
128
|
+
@param alpha: right ascension of the gravitational-wave source, in radians
|
|
129
|
+
@param delta: declination of the gravitational-wave source, in radians
|
|
130
|
+
@param det_name: name of the gravitational-wave detector to simulate a response for;
|
|
131
|
+
e.g. @c "H1" for LIGO Hanford, @c "L1" for LIGO Livingston, @c "V1" for Virgo
|
|
132
|
+
@param earth_ephem_file: name of file to load Earth ephemeris from
|
|
133
|
+
@param sun_ephem_file: name of file to load Sun ephemeris from
|
|
134
|
+
@param tref_at_det: default False; if True, shift reference time @b tref so that @b dt = 0 is
|
|
135
|
+
@b tref in @e detector frame instead of Solar System barycentre frame, useful if e.g. one
|
|
136
|
+
wants to turn on signal only for @b dt > 0, one can use @b tref as the turn-on time
|
|
137
|
+
@param extra_comment: additional text to add to comment string in frame/SFT headers
|
|
138
|
+
(not filenames), e.g. for wrapper script commandlines
|
|
139
|
+
"""
|
|
140
|
+
|
|
141
|
+
self.__origin_str = "Generated by %s, %s-%s (%s)" % (
|
|
142
|
+
__file__,
|
|
143
|
+
git_version.id,
|
|
144
|
+
git_version.status,
|
|
145
|
+
git_version.date,
|
|
146
|
+
)
|
|
147
|
+
if extra_comment:
|
|
148
|
+
self.__origin_str += ", " + extra_comment
|
|
149
|
+
|
|
150
|
+
# store arguments
|
|
151
|
+
self.__tstart = tstart
|
|
152
|
+
self.__Tdata = Tdata
|
|
153
|
+
|
|
154
|
+
# parse detector name
|
|
155
|
+
try:
|
|
156
|
+
_, self.__site_index = lalpulsar.FindCWDetector(det_name, True)
|
|
157
|
+
assert self.__site_index >= 0
|
|
158
|
+
except:
|
|
159
|
+
raise ValueError("Invalid detector name det_name='%s'" % det_name)
|
|
160
|
+
self.__site = lal.CachedDetectors[self.__site_index]
|
|
161
|
+
|
|
162
|
+
# load Earth and Sun ephemerides
|
|
163
|
+
self.__ephemerides = lalpulsar.InitBarycenter(earth_ephem_file, sun_ephem_file)
|
|
164
|
+
|
|
165
|
+
if tref_at_det:
|
|
166
|
+
# calculate barycentric delay at reference time
|
|
167
|
+
bary_state = lalpulsar.EarthState()
|
|
168
|
+
bary_input = lalpulsar.BarycenterInput()
|
|
169
|
+
bary_emit = lalpulsar.EmissionTime()
|
|
170
|
+
bary_input.tgps = tref
|
|
171
|
+
bary_input.site = self.__site
|
|
172
|
+
for i in range(0, 3):
|
|
173
|
+
bary_input.site.location[i] /= lal.C_SI
|
|
174
|
+
bary_input.alpha = alpha
|
|
175
|
+
bary_input.delta = delta
|
|
176
|
+
bary_input.dInv = 0.0
|
|
177
|
+
lalpulsar.BarycenterEarth(bary_state, bary_input.tgps, self.__ephemerides)
|
|
178
|
+
lalpulsar.Barycenter(bary_emit, bary_input, bary_state)
|
|
179
|
+
|
|
180
|
+
# adjust reference time so that dt = 0 is tref in detector frame
|
|
181
|
+
tref += bary_emit.deltaT
|
|
182
|
+
|
|
183
|
+
# start signal time series 'Tpad_wf' before/after output strain time series
|
|
184
|
+
# add sufficient padding to signal for maximum Doppler modulation time shifts, otherwise
|
|
185
|
+
# lalpulsar.PulsarSimulateCoherentGW() will output zeros without complaint (unless
|
|
186
|
+
# you run with LAL_DEBUG_LEVEL=warning)
|
|
187
|
+
Tpad_wf = 2.0 * lal.AU_SI / lal.C_SI
|
|
188
|
+
tstart_wf = tstart - Tpad_wf
|
|
189
|
+
Nwf = int(math.ceil(float(Tdata + 2 * Tpad_wf) / float(dt_wf)))
|
|
190
|
+
|
|
191
|
+
# create REAL8TimeSeries to store signal phase
|
|
192
|
+
self.__phi = lal.CreateREAL8TimeSeries(
|
|
193
|
+
"phi", tstart_wf, 0, dt_wf, lal.DimensionlessUnit, Nwf
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
# create REAL4TimeVectorSeries to store signal amplitudes
|
|
197
|
+
# - LAL provides no creator function for this type, so must be done manually
|
|
198
|
+
self.__a = lal.REAL4TimeVectorSeries()
|
|
199
|
+
self.__a.name = "a+,ax"
|
|
200
|
+
self.__a.epoch = tstart_wf
|
|
201
|
+
self.__a.deltaT = dt_wf
|
|
202
|
+
self.__a.f0 = 0
|
|
203
|
+
self.__a.sampleUnits = lal.StrainUnit
|
|
204
|
+
self.__a.data = lal.CreateREAL4VectorSequence(Nwf, 2)
|
|
205
|
+
|
|
206
|
+
# call waveform() to fill time series of signal phase and amplitudes
|
|
207
|
+
dt = float(tstart_wf - tref)
|
|
208
|
+
for i in range(0, Nwf):
|
|
209
|
+
dphi, aplus, across = waveform(dt)
|
|
210
|
+
self.__phi.data.data[i] = phi0 + dphi
|
|
211
|
+
self.__a.data.data[i][0] = aplus
|
|
212
|
+
self.__a.data.data[i][1] = across
|
|
213
|
+
dt += dt_wf
|
|
214
|
+
|
|
215
|
+
# create and initialise PulsarCoherentGW struct
|
|
216
|
+
self.__wf = lalpulsar.PulsarCoherentGW()
|
|
217
|
+
self.__wf.position.system = lal.COORDINATESYSTEM_EQUATORIAL
|
|
218
|
+
self.__wf.position.longitude = alpha
|
|
219
|
+
self.__wf.position.latitude = delta
|
|
220
|
+
self.__wf.psi = psi
|
|
221
|
+
self.__wf.phi = self.__phi
|
|
222
|
+
self.__wf.a = self.__a
|
|
223
|
+
|
|
224
|
+
# create and initialise PulsarDetectorResponse struct
|
|
225
|
+
self.__detector = lalpulsar.PulsarDetectorResponse()
|
|
226
|
+
self.__detector.site = self.__site
|
|
227
|
+
self.__detector.ephemerides = self.__ephemerides
|
|
228
|
+
|
|
229
|
+
def _simulate_coherent_gw(self, h, noise_sqrt_Sh, noise_seed):
|
|
230
|
+
# generate strain time series
|
|
231
|
+
lalpulsar.PulsarSimulateCoherentGW(h, self.__wf, self.__detector)
|
|
232
|
+
|
|
233
|
+
# add Gaussian noise, if requested
|
|
234
|
+
if noise_sqrt_Sh > 0:
|
|
235
|
+
assert noise_seed is not None
|
|
236
|
+
assert noise_seed > 0
|
|
237
|
+
noise_sigma = math.sqrt(0.5 / h.deltaT) * noise_sqrt_Sh
|
|
238
|
+
lalpulsar.AddGaussianNoise(h, noise_sigma, noise_seed)
|
|
239
|
+
|
|
240
|
+
def get_strain(self, fs, tmin=0, tmax=None, noise_sqrt_Sh=0, noise_seed=None):
|
|
241
|
+
"""
|
|
242
|
+
Generate strain time series of a continuous-wave signal in the detector frame.
|
|
243
|
+
|
|
244
|
+
@param fs: sampling frequency of strain time series, in Hz
|
|
245
|
+
@param tmin: start time for strain time series, as offsets from self.__tstart
|
|
246
|
+
@param tmax: start time for strain time series, as offsets from self.__tstart
|
|
247
|
+
@param noise_sqrt_Sh: if >0, add Gaussian noise with square-root single-sided power
|
|
248
|
+
spectral density given by this value, in Hz^(-1/2)
|
|
249
|
+
@param noise_seed: use this seed for the random number generator used to create noise;
|
|
250
|
+
required if noise_sqrt_Sh >0
|
|
251
|
+
|
|
252
|
+
@return (@b t, @b h), where:
|
|
253
|
+
@b t = start of time strain time series, in GPS seconds;
|
|
254
|
+
@b h = strain time series
|
|
255
|
+
"""
|
|
256
|
+
|
|
257
|
+
# process tmin/tmax range (interpreted relative to self.__tstart)
|
|
258
|
+
if (tmin < 0) or (tmin >= self.__Tdata):
|
|
259
|
+
raise ValueError("tmin must be within [0,{}).".format(self.__Tdata))
|
|
260
|
+
if tmax is None:
|
|
261
|
+
tmax = self.__Tdata
|
|
262
|
+
elif (tmax <= 0) or (tmax > self.__Tdata):
|
|
263
|
+
raise ValueError("tmax must be within (0,{}].".format(self.__Tdata))
|
|
264
|
+
tspan = tmax - tmin
|
|
265
|
+
|
|
266
|
+
# create REAL4TimeSeries to store output time series
|
|
267
|
+
Nh = int(fs * tspan)
|
|
268
|
+
h = lal.CreateREAL4TimeSeries(
|
|
269
|
+
"h", self.__tstart + tmin, 0, 1.0 / fs, lal.DimensionlessUnit, Nh
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
# generate strain time series
|
|
273
|
+
self._simulate_coherent_gw(h, noise_sqrt_Sh, noise_seed)
|
|
274
|
+
return (h.epoch, h.data.data)
|
|
275
|
+
|
|
276
|
+
def get_strain_blocks(
|
|
277
|
+
self, fs, Tblock, noise_sqrt_Sh=0, noise_seed=None, prog_bar=None
|
|
278
|
+
):
|
|
279
|
+
"""
|
|
280
|
+
Generate strain time series of a continuous-wave signal in the detector frame, in contiguous blocks.
|
|
281
|
+
|
|
282
|
+
@param fs: sampling frequency of strain time series, in Hz
|
|
283
|
+
@param Tblock: length of each block, in seconds; should divide evenly into @b Tdata
|
|
284
|
+
@param noise_sqrt_Sh: if >0, add Gaussian noise with square-root single-sided power
|
|
285
|
+
spectral density given by this value, in Hz^(-1/2)
|
|
286
|
+
@param noise_seed: use this seed for the random number generator used to create noise;
|
|
287
|
+
if None, generate a random seed using os.urandom()
|
|
288
|
+
@param prog_bar: use to display a progress bar, e.g. prog_bar=tqdm
|
|
289
|
+
|
|
290
|
+
@return (@b t, @b h, @b i, @b N), where:
|
|
291
|
+
@b t = start of time strain time series, in GPS seconds;
|
|
292
|
+
@b h = strain time series;
|
|
293
|
+
@b i = block index, starting from zero;
|
|
294
|
+
@b N = number of blocks
|
|
295
|
+
|
|
296
|
+
This is a Python generator function and so should be called as follows:
|
|
297
|
+
~~~
|
|
298
|
+
S = CWSimulator(...)
|
|
299
|
+
for t, h, i, N in S.get_strain_blocks(...):
|
|
300
|
+
...
|
|
301
|
+
~~~
|
|
302
|
+
"""
|
|
303
|
+
|
|
304
|
+
# work out number of blocks
|
|
305
|
+
Nblock = int(round(self.__Tdata / Tblock))
|
|
306
|
+
if Tblock * Nblock > self.__Tdata:
|
|
307
|
+
raise ValueError(
|
|
308
|
+
"Length of block Tblock=%g does not divide evenly into Tdata=%g"
|
|
309
|
+
% (Tblock, self.__Tdata)
|
|
310
|
+
)
|
|
311
|
+
|
|
312
|
+
# if no noise seed is given, generate a (non-zero) random seed using os.urandom()
|
|
313
|
+
if not noise_seed:
|
|
314
|
+
noise_seed = 0
|
|
315
|
+
while not (0 < noise_seed and noise_seed < lal.LAL_INT4_MAX - Nblock):
|
|
316
|
+
noise_seed = int.from_bytes(os.urandom(4), sys.byteorder, signed=False)
|
|
317
|
+
|
|
318
|
+
# iterate over blocks
|
|
319
|
+
blocks = range(0, Nblock)
|
|
320
|
+
if prog_bar is not None:
|
|
321
|
+
|
|
322
|
+
# wrap iterator in progress bar
|
|
323
|
+
blocks = prog_bar(blocks)
|
|
324
|
+
|
|
325
|
+
# generate strain time series in blocks of length 'Tblock'
|
|
326
|
+
tmin = 0
|
|
327
|
+
for iblock in blocks:
|
|
328
|
+
epoch, hoft = self.get_strain(
|
|
329
|
+
fs,
|
|
330
|
+
tmin=tmin,
|
|
331
|
+
tmax=tmin + Tblock,
|
|
332
|
+
noise_sqrt_Sh=noise_sqrt_Sh,
|
|
333
|
+
noise_seed=noise_seed + iblock,
|
|
334
|
+
)
|
|
335
|
+
yield epoch, hoft, iblock, Nblock
|
|
336
|
+
tmin += Tblock
|
|
337
|
+
|
|
338
|
+
def write_frame_files(
|
|
339
|
+
self,
|
|
340
|
+
fs,
|
|
341
|
+
Tframe,
|
|
342
|
+
comment="simCW",
|
|
343
|
+
out_dir=".",
|
|
344
|
+
noise_sqrt_Sh=0,
|
|
345
|
+
noise_seed=None,
|
|
346
|
+
prog_bar=None,
|
|
347
|
+
):
|
|
348
|
+
"""
|
|
349
|
+
Write frame files [1] containing strain time series of a continuous-wave signal.
|
|
350
|
+
|
|
351
|
+
The strain time series is written as double-precision post-processed data (ProcData) channel named
|
|
352
|
+
<tt><detector>:SIMCW-STRAIN</tt>,
|
|
353
|
+
where <tt><detector></tt> is the 2-character detector prefix (e.g. <tt>H1</tt> for LIGO Hanford,
|
|
354
|
+
<tt>L1</tt> for LIGO Livingston, <tt>V1</tt> for Virgo).
|
|
355
|
+
|
|
356
|
+
@param fs: sampling frequency of strain time series, in Hz
|
|
357
|
+
@param Tframe: length of each frame, in seconds; should divide evenly into @b Tdata
|
|
358
|
+
@param comment: frame file name comment, may only contain A-Z, a-z, 0-9, _, +, # characters
|
|
359
|
+
@param out_dir: output directory to write frame files into
|
|
360
|
+
@param noise_sqrt_Sh: if >0, add Gaussian noise with square-root single-sided power
|
|
361
|
+
spectral density given by this value, in Hz^(-1/2)
|
|
362
|
+
@param noise_seed: use this seed for the random number generator used to create noise;
|
|
363
|
+
if None, generate a random seed using os.urandom()
|
|
364
|
+
@param prog_bar: use to display a progress bar, e.g. prog_bar=tqdm
|
|
365
|
+
|
|
366
|
+
@return (@b file, @b i, @b N), where:
|
|
367
|
+
@b file = name of frame file just written;
|
|
368
|
+
@b i = frame file index, starting from zero;
|
|
369
|
+
@b N = number of frame files
|
|
370
|
+
|
|
371
|
+
This is a Python generator function and so should be called as follows:
|
|
372
|
+
~~~
|
|
373
|
+
S = CWSimulator(...)
|
|
374
|
+
for file, i, N in S.write_frame_files(...):
|
|
375
|
+
...
|
|
376
|
+
~~~
|
|
377
|
+
|
|
378
|
+
[1] https://dcc.ligo.org/LIGO-T970130/public
|
|
379
|
+
"""
|
|
380
|
+
|
|
381
|
+
try:
|
|
382
|
+
import lalframe
|
|
383
|
+
except ImportError:
|
|
384
|
+
raise ImportError("SWIG wrappings of LALFrame cannot be imported")
|
|
385
|
+
|
|
386
|
+
# check for valid frame filename comment (see LIGO-T010150)
|
|
387
|
+
valid_comment = re.compile(r"^[A-Za-z0-9_+#]+$")
|
|
388
|
+
if not valid_comment.match(comment):
|
|
389
|
+
raise ValueError(
|
|
390
|
+
"Frame file comment='%s' may only contain A-Z, a-z, 0-9, _, +, # characters"
|
|
391
|
+
% comment
|
|
392
|
+
)
|
|
393
|
+
|
|
394
|
+
# generate strain time series in blocks of length 'Tframe'
|
|
395
|
+
frame_h = None
|
|
396
|
+
for t, h, i, N in self.get_strain_blocks(
|
|
397
|
+
fs,
|
|
398
|
+
Tframe,
|
|
399
|
+
noise_sqrt_Sh=noise_sqrt_Sh,
|
|
400
|
+
noise_seed=noise_seed,
|
|
401
|
+
prog_bar=prog_bar,
|
|
402
|
+
):
|
|
403
|
+
# create and initialise REAL8TimeSeries to write to frame files
|
|
404
|
+
if frame_h is None:
|
|
405
|
+
frame_h_channel = "%s:SIMCW-STRAIN" % self.__site.frDetector.prefix
|
|
406
|
+
frame_h = lal.CreateREAL8TimeSeries(
|
|
407
|
+
frame_h_channel, t, 0, 1.0 / fs, lal.DimensionlessUnit, len(h)
|
|
408
|
+
)
|
|
409
|
+
frame_h.epoch = t
|
|
410
|
+
frame_h.data.data = h
|
|
411
|
+
|
|
412
|
+
# create standard frame file name (see LIGO-T010150)
|
|
413
|
+
frame_src = self.__site.frDetector.prefix[0]
|
|
414
|
+
frame_desc = comment
|
|
415
|
+
frame_t0 = int(t.gpsSeconds)
|
|
416
|
+
frame_Tdata = int(math.ceil(float(t + Tframe)) - math.floor(float(t)))
|
|
417
|
+
frame_name = "%s-%s-%u-%u.gwf" % (
|
|
418
|
+
frame_src,
|
|
419
|
+
frame_desc,
|
|
420
|
+
frame_t0,
|
|
421
|
+
frame_Tdata,
|
|
422
|
+
)
|
|
423
|
+
frame_path = os.path.join(out_dir, frame_name)
|
|
424
|
+
|
|
425
|
+
# create frame
|
|
426
|
+
frame_det_bits = 2 * self.__site_index
|
|
427
|
+
frame = lalframe.FrameNew(
|
|
428
|
+
t, Tframe, self.__class__.__name__, -1, i, frame_det_bits
|
|
429
|
+
)
|
|
430
|
+
|
|
431
|
+
# add strain time series to frame
|
|
432
|
+
lalframe.FrameAddREAL8TimeSeriesProcData(frame, frame_h)
|
|
433
|
+
|
|
434
|
+
# add history
|
|
435
|
+
lalframe.FrameAddFrHistory(frame, "origin", self.__origin_str)
|
|
436
|
+
|
|
437
|
+
# write frame
|
|
438
|
+
lalframe.FrameWrite(frame, frame_path)
|
|
439
|
+
|
|
440
|
+
# yield current file name for e.g. printing progress
|
|
441
|
+
yield frame_path, i, N
|
|
442
|
+
|
|
443
|
+
def get_sfts(
|
|
444
|
+
self,
|
|
445
|
+
fmax,
|
|
446
|
+
Tsft,
|
|
447
|
+
noise_sqrt_Sh=0,
|
|
448
|
+
noise_seed=None,
|
|
449
|
+
window="rectangular",
|
|
450
|
+
window_param=0,
|
|
451
|
+
prog_bar=None,
|
|
452
|
+
fmin=0,
|
|
453
|
+
):
|
|
454
|
+
"""
|
|
455
|
+
Generate SFTs [2] containing strain time series of a continuous-wave signal.
|
|
456
|
+
|
|
457
|
+
@param fmax: maximum SFT frequency, in Hz
|
|
458
|
+
@param Tsft: length of each SFT, in seconds; should divide evenly into @b Tdata
|
|
459
|
+
@param noise_sqrt_Sh: if >0, add Gaussian noise with square-root single-sided power
|
|
460
|
+
spectral density given by this value, in Hz^(-1/2)
|
|
461
|
+
@param noise_seed: use this seed for the random number generator used to create noise;
|
|
462
|
+
if None, generate a random seed using os.urandom()
|
|
463
|
+
@param window: if not None, window the time series before performing the FFT, using
|
|
464
|
+
the named window function; see XLALCreateNamedREAL8Window()
|
|
465
|
+
@param window_param: parameter for the window function given by @b window, if needed
|
|
466
|
+
@param prog_bar: use to display a progress bar, e.g. prog_bar=tqdm
|
|
467
|
+
@param fmin: if >0, minimum SFT frequency, in Hz
|
|
468
|
+
(note that this only modifies the output SFT bandwidth; internally a full-band SFT is still produced by sampling at 2*fmax)
|
|
469
|
+
|
|
470
|
+
@return (@b sft, @b i, @b N), where:
|
|
471
|
+
@b sft = SFT;
|
|
472
|
+
@b i = SFT file index, starting from zero;
|
|
473
|
+
@b N = number of SFTs
|
|
474
|
+
|
|
475
|
+
This is a Python generator function and so should be called as follows:
|
|
476
|
+
~~~
|
|
477
|
+
S = CWSimulator(...)
|
|
478
|
+
for sft, i, N in S.get_sfts(...):
|
|
479
|
+
...
|
|
480
|
+
~~~
|
|
481
|
+
|
|
482
|
+
[2] https://dcc.ligo.org/LIGO-T040164/public
|
|
483
|
+
"""
|
|
484
|
+
|
|
485
|
+
# create timestamps for generating one SFT per time series
|
|
486
|
+
sft_ts = lalpulsar.CreateTimestampVector(1)
|
|
487
|
+
sft_ts.deltaT = Tsft
|
|
488
|
+
|
|
489
|
+
# generate strain time series in blocks of length 'Tsft'
|
|
490
|
+
sft_h = None
|
|
491
|
+
sft_fs = 2 * fmax
|
|
492
|
+
for t, h, i, N in self.get_strain_blocks(
|
|
493
|
+
sft_fs,
|
|
494
|
+
Tsft,
|
|
495
|
+
noise_sqrt_Sh=noise_sqrt_Sh,
|
|
496
|
+
noise_seed=noise_seed,
|
|
497
|
+
prog_bar=prog_bar,
|
|
498
|
+
):
|
|
499
|
+
# create and initialise REAL8TimeSeries to write to SFT files
|
|
500
|
+
if sft_h is None:
|
|
501
|
+
sft_name = self.__site.frDetector.prefix
|
|
502
|
+
sft_h = lal.CreateREAL8TimeSeries(
|
|
503
|
+
sft_name, t, 0, 1.0 / sft_fs, lal.DimensionlessUnit, len(h)
|
|
504
|
+
)
|
|
505
|
+
sft_h.epoch = t
|
|
506
|
+
sft_h.data.data = h
|
|
507
|
+
|
|
508
|
+
# create SFT, possibly with windowing
|
|
509
|
+
sft_ts.data[0] = t
|
|
510
|
+
sft_vect = lalpulsar.MakeSFTsFromREAL8TimeSeries(
|
|
511
|
+
sft_h, sft_ts, window, window_param
|
|
512
|
+
)
|
|
513
|
+
|
|
514
|
+
if fmin != 0:
|
|
515
|
+
sft_vect = lalpulsar.ExtractStrictBandFromSFTVector(
|
|
516
|
+
sft_vect, fMin=fmin, Band=fmax - fmin
|
|
517
|
+
)
|
|
518
|
+
|
|
519
|
+
# yield current SFT
|
|
520
|
+
yield sft_vect.data[0], i, N
|
|
521
|
+
|
|
522
|
+
def write_sft_files(
|
|
523
|
+
self,
|
|
524
|
+
fmax,
|
|
525
|
+
Tsft,
|
|
526
|
+
comment="simCW",
|
|
527
|
+
out_dir=".",
|
|
528
|
+
noise_sqrt_Sh=0,
|
|
529
|
+
noise_seed=None,
|
|
530
|
+
window="rectangular",
|
|
531
|
+
window_param=0,
|
|
532
|
+
prog_bar=None,
|
|
533
|
+
fmin=0,
|
|
534
|
+
):
|
|
535
|
+
"""
|
|
536
|
+
Write SFT files [2] containing strain time series of a continuous-wave signal.
|
|
537
|
+
|
|
538
|
+
@param fmax: maximum SFT frequency, in Hz
|
|
539
|
+
@param Tsft: length of each SFT, in seconds; should divide evenly into @b Tdata
|
|
540
|
+
@param comment: SFT file name comment, may only contain A-Z, a-z, 0-9 characters
|
|
541
|
+
@param out_dir: output directory to write SFT files into
|
|
542
|
+
@param noise_sqrt_Sh: if >0, add Gaussian noise with square-root single-sided power
|
|
543
|
+
spectral density given by this value, in Hz^(-1/2)
|
|
544
|
+
@param noise_seed: use this seed for the random number generator used to create noise;
|
|
545
|
+
if None, generate a random seed using os.urandom()
|
|
546
|
+
@param window: if not None, window the time series before performing the FFT, using
|
|
547
|
+
the named window function; see XLALCreateNamedREAL8Window()
|
|
548
|
+
@param window_param: parameter for the window function given by @b window, if needed
|
|
549
|
+
@param prog_bar: use to display a progress bar, e.g. prog_bar=tqdm
|
|
550
|
+
@param fmin: if >0, minimum SFT frequency, in Hz
|
|
551
|
+
(note that this only modifies the output SFT bandwidth; internally a full-band SFT is still produced by sampling at 2*fmax)
|
|
552
|
+
|
|
553
|
+
@return (@b file, @b i, @b N), where:
|
|
554
|
+
@b file = name of SFT file just written;
|
|
555
|
+
@b i = SFT file index, starting from zero;
|
|
556
|
+
@b N = number of SFT files
|
|
557
|
+
|
|
558
|
+
This is a Python generator function and so should be called as follows:
|
|
559
|
+
~~~
|
|
560
|
+
S = CWSimulator(...)
|
|
561
|
+
for file, i, N in S.write_sft_files(...):
|
|
562
|
+
...
|
|
563
|
+
~~~
|
|
564
|
+
|
|
565
|
+
[2] https://dcc.ligo.org/LIGO-T040164/public
|
|
566
|
+
"""
|
|
567
|
+
|
|
568
|
+
# check for valid SFT filename comment (see LIGO-T040164)
|
|
569
|
+
valid_comment = re.compile(r"^[A-Za-z0-9]+$")
|
|
570
|
+
if not valid_comment.match(comment):
|
|
571
|
+
raise ValueError(
|
|
572
|
+
"SFT file comment='%s' may only contain A-Z, a-z, 0-9 characters"
|
|
573
|
+
% comment
|
|
574
|
+
)
|
|
575
|
+
|
|
576
|
+
# create SFT filename specification
|
|
577
|
+
spec = lalpulsar.SFTFilenameSpec()
|
|
578
|
+
spec.path = out_dir
|
|
579
|
+
spec.window_type = window
|
|
580
|
+
spec.window_param = window_param
|
|
581
|
+
spec.privMisc = comment
|
|
582
|
+
|
|
583
|
+
# generate SFTs
|
|
584
|
+
for sft, i, N in self.get_sfts(
|
|
585
|
+
fmax,
|
|
586
|
+
Tsft,
|
|
587
|
+
noise_sqrt_Sh=noise_sqrt_Sh,
|
|
588
|
+
noise_seed=noise_seed,
|
|
589
|
+
window=window,
|
|
590
|
+
window_param=window_param,
|
|
591
|
+
prog_bar=prog_bar,
|
|
592
|
+
fmin=fmin,
|
|
593
|
+
):
|
|
594
|
+
# write SFT
|
|
595
|
+
lalpulsar.WriteSFT2StandardFile(sft, spec, self.__origin_str)
|
|
596
|
+
|
|
597
|
+
# yield current file name for e.g. printing progress
|
|
598
|
+
sft_path = lalpulsar.BuildSFTFilenameFromSpec(spec)
|
|
599
|
+
yield sft_path, i, N
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
## @}
|