#include <stdio.h>#include <stdlib.h>#include <config.h>#include <math.h>#include <ctype.h>#include <assert.h>#include <string.h>#include <getopt.h>#include <time.h>#include <lalapps.h>#include <processtable.h>#include <gsl/gsl_errno.h>#include <gsl/gsl_math.h>#include <gsl/gsl_roots.h>#include <lal/LALStdio.h>#include <lal/LALStdlib.h>#include <lal/LALConstants.h>#include <lal/LIGOMetadataTables.h>#include <lal/LIGOMetadataUtils.h>#include <lal/LIGOLwXML.h>#include <lal/Date.h>#include <lal/SkyCoordinates.h>#include <lal/GeneratePPNInspiral.h>#include <lal/GenerateInspiral.h>#include <lal/DetectorSite.h>#include <lal/DetResponse.h>#include <lal/TimeDelay.h>Include dependency graph for spininj.c:

Go to the source code of this file.
| enum massEnum |
| enum distributionEnum |
| NRCSID | ( | SPININJC | , | |
| "$Id: spininj. | c, | |||
| v 1.13 2007/06/08 15:29:44 bema Exp $" | ||||
| ) |
Author :.
Purpose : generate xml file for binary injections (spinning case)
| RCSID | ( | "$Id: spininj. | c, | |
| v 1.13 2007/06/08 15:29:44 bema Exp $" | ||||
| ) |
| void LALSimInspiralTablePopulate | ( | LALStatus * | status, | |
| MetadataTable | injections, | |||
| SimInspiralTable * | this_inj | |||
| ) |
| void LALSetIndividualMasses | ( | LALStatus * | status, | |
| InspiralInjectionParameters | params, | |||
| SimInspiralTable * | this_inj | |||
| ) |
| void LALSetDistance | ( | LALStatus * | status, | |
| InspiralInjectionParameters | , | |||
| SimInspiralTable * | this_inj | |||
| ) |
| void LALSetSpin | ( | LALStatus * | status, | |
| InspiralInjectionParameters | params, | |||
| SimInspiralTable * | this_inj | |||
| ) |
| void LALSetSpatialDistribution | ( | LALStatus * | status, | |
| InspiralInjectionParameters | params, | |||
| SimInspiralTable * | this_inj | |||
| ) |
| void LALSetSiteParameters | ( | LALStatus * | status, | |
| SimInspiralTable * | this_inj | |||
| ) |
| void LALSetGeoCentricEndTime | ( | LALStatus * | status, | |
| InspiralInjectionParameters | params, | |||
| SimInspiralTable * | this_inj | |||
| ) |
| void LALParserInspiralInjection | ( | LALStatus * | status, | |
| int | , | |||
| char ** | , | |||
| InspiralInjectionParameters * | ||||
| ) |
| void LALCheckInspiralInjectionParameters | ( | LALStatus * | status, | |
| InspiralInjectionParameters | params | |||
| ) |
| ProcessParamsTable* next_process_param | ( | const char * | name, | |
| const char * | type, | |||
| const char * | fmt, | |||
| ... | ||||
| ) |
| int main | ( | int | argc, | |
| char * | argv[] | |||
| ) |
MAIN function of SideBandMCMC code Compute the posterior pdfs of the orbital and nuisance parameters of a binary signal in Fstat form.
..
variable declarations
the status must be initially blank; this can be done by making it static:
static LALStatus status;
other variables:
ExampleOutput output; ExampleInput input; ExampleParams params;
parse arguments, if desired
for example:
program = *argv; while ( --argc > 0 ) { ++argv; if ( ! strcmp( *argv, "-d" ) ) { --argc; ++argv; lalDebugLevel = atoi( *argv ); continue; } if ( ! strcmp( *argv, "-v" ) ) { verbose = 1; continue; } if ( ! strcmp( *argv, "-h" ) ) { fprintf( stderr, usage, program ); return 0; } fprintf( stderr, "no such option %s\n", *argv ); fprintf( stderr, usage, program ); return FAIL_ARGS; }
/** test response to invalid data
these tests must be wrapped so they are not done when debugging is disabled:
ifndef LAL_NDEBUG if ( ! lalNoDebug ) { LALExample( &status, NULL, &input, ¶ms ); if ( status.statusCode != EXAMPLEH_ENULL || strcmp( status.statusDescription, EXAMPLEH_MSGENULL ) ) { fprintf( stderr, "incorrect error code %d and message %s\n", status.statusCode, status.statusDescription ); fprintf( stderr, "expecting error code %d and message %s\n", EXAMPLEH_ENULL, EXAMPLEH_MSGENULL ); return FAIL_CODE; }
fputs( "PASS: Test response to invalid data\n", stderr ); } endif
test response to valid data
for example:
LALExample( &status, &output, &input, ¶m ); if ( status.statusCode ) { fprintf( stderr, "received error code %d and message %s\n", status.statusCode, status.statusDescription ); return FAIL_ESUB; }
(perform checks on the contents of output too!)
during default operation, output to the screen should be minimal:
for ( i = 0; i < 1048576; ++i ) printf( "%d\n", i ); !!! BAD !!!
but it is OK to indicate that tests have passed:
fputs( "PASS: Test response to valid data\n", stderr );
check for memory leaks and return success:
LALCheckMemoryLeaks(); fputs( "PASS: All tests\n" );
| const INT4 S2StartTime = 729273613 |
| const INT4 S2StopTime = 734367613 |
| RandomParams* randParams = NULL |
1.5.2