diff --git a/testwaveform/README b/testwaveform/README new file mode 100644 index 0000000000000000000000000000000000000000..9f9c4b1d688e6f5b9b8bcf03caf1c5e00fe89256 --- /dev/null +++ b/testwaveform/README @@ -0,0 +1,3 @@ +I'm testing the pycbc waveform plugin. +- IMRPhenomParity with IMRPhenomPv2 +- coalescence phase marginalization, polarization marginalization, full Gaussian likelihood \ No newline at end of file diff --git a/testwaveform/setup.py b/testwaveform/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..cab988d768a8bea5f020a6efdd8555933d766f21 --- /dev/null +++ b/testwaveform/setup.py @@ -0,0 +1,34 @@ +""" +setup.py file for testing birefringence pycbc waveform plugin package +""" + +from setuptools import Extension, setup, Command +from setuptools import find_packages + +VERSION = '0.0.dev0' + +setup ( + name = 'pycbc-birefringence', + version = VERSION, + description = 'An waveform plugin for PyCBC', + author = 'Yifan Wang', + author_email = 'yifan.wang@aei.mpg.de', + url = 'http://www.pycbc.org/', + #download_url = 'https://github.com/gwastro/revchirp/tarball/v%s' % VERSION, + keywords = ['pycbc', 'signal processing', 'gravitational waves'], + install_requires = ['pycbc'], + py_modules = ['dipole'], + entry_points = {"pycbc.waveform.fd":"IMRPhenomPv2Parity = waveform:gen", + "pycbc.waveform.length":"IMRPhenomPv2Parity = pycbc.waveform._filter_time_lengths["IMRPhenomPv2"]"}, + classifiers=[ + 'Programming Language :: Python', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3.6', + 'Intended Audience :: Science/Research', + 'Natural Language :: English', + 'Topic :: Scientific/Engineering', + 'Topic :: Scientific/Engineering :: Astronomy', + 'Topic :: Scientific/Engineering :: Physics', + 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', + ], +) diff --git a/testwaveform/waveform.py b/testwaveform/waveform.py new file mode 100644 index 0000000000000000000000000000000000000000..2a4f6c8ba2fe9a6ad3bc9fcafb741e61a821ea8b --- /dev/null +++ b/testwaveform/waveform.py @@ -0,0 +1,19 @@ +def gen(**kwds): + from pycbc.waveform import get_fd_waveform + import lal + + if 'approximant' in kwds: + kwds.pop("approximant") + hp, hc = get_fd_waveform(approximant="IMRPhenomPv2", **kwds) + + temp = kwds['parity_Amu'] / 1e9 / lal.QE_SI * lal.H_SI * lal.PI * lal.PI / lal.H0_SI + + hp_parity = hp + hc * temp * hp.sample_frequencies **2 + hc_parity = hc - hp * temp * hp.sample_frequencies **2 + + return hp_parity, hc_parity + +def add_me(**kwds): + kwds['cpu_fd']['IMRPhenomPv2Parity'] = gen + kwds['filter_time_lengths']['IMRPhenomPv2Parity'] = kwds['filter_time_lengths']['IMRPhenomPv2'] +