102 #include <lal/LALStdlib.h>
103 #include <lal/LALgetopt.h>
104 #include <lal/LALConstants.h>
105 #include <lal/Units.h>
106 #include <lal/TimeSeries.h>
107 #include <lal/LALSimBlackHoleRingdown.h>
109 #define a_invalid -100.0
110 #define i_invalid -361.0
111 #define l_invalid (INT_MIN + 1)
112 #define m_invalid (INT_MAX)
113 double dt = 1.0/16384.0;
126 int main(
int argc,
char *argv[])
137 XLALSimBlackHoleRingdown(&hplus, &hcross, &
epoch,
q,
dt,
M,
a,
e,
r,
i,
l,
m);
139 fprintf(stdout,
"# time (s)\th_plus (strain)\th_cross (strain)\n");
165 char args[] =
"hM:a:i:q:e:r:l:m:";
167 int option_index = 0;
176 if (long_options[option_index].
flag)
179 fprintf(stderr,
"error parsing option %s with argument %s\n", long_options[option_index].
name,
LALoptarg);
211 fprintf(stderr,
"unknown error while parsing options\n");
217 fprintf(stderr,
"extraneous command line arguments:\n");
224 fprintf(stderr,
"must specify mass, spin, distance, frac. energy loss, l, m\n");
230 fprintf(stderr,
"must specify l >= 2\n");
235 fprintf(stderr,
"must specify m <= l\n");
245 fprintf(stderr,
"options:\n" );
246 fprintf(stderr,
"\t-h, --help \tprint this message and exit\n");
247 fprintf(stderr,
"\t-M Msolar \t(required) set black hole mass (solar masses)\n");
248 fprintf(stderr,
"\t-a a \t(required) set value of a, -1<a<1\n");
249 fprintf(stderr,
"\t-r distanceMpc \t(required) set distance (Mpc)\n");
250 fprintf(stderr,
"\t-e fracEnergy \t(required) set energy radiated (fraction of M)\n");
251 fprintf(stderr,
"\t-i inclination \t(required) set inclination angle (degrees)\n");
252 fprintf(stderr,
"\t-q azimuth \t(default=0) set azimuth angle (degrees)\n");
253 fprintf(stderr,
"\t-l l \t(required) set value of l, l>=2\n");
254 fprintf(stderr,
"\t-m m \t(required) set value of m, abs(m)<=l\n");
void LALCheckMemoryLeaks(void)
int LALgetopt_long_only(int argc, char *const *argv, const char *options, const struct LALoption *long_options, int *opt_index)
#define required_argument
int main(int argc, char *argv[])
int usage(const char *program)
int parseargs(int argc, char **argv)
int XLALSimBlackHoleRingdown(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, const LIGOTimeGPS *t0, double phi0, double deltaT, double mass, double dimensionless_spin, double fractional_mass_loss, double distance, double inclination, int l, int m)
Computes the waveform for the ringdown of a black hole quasinormal mode (l,m).
void XLALDestroyREAL8TimeSeries(REAL8TimeSeries *series)
void XLALBacktraceErrorHandler(const char *func, const char *file, int line, int errnum)
XLALErrorHandlerType * XLALSetErrorHandler(XLALErrorHandlerType *newHandler)