/** register all "user-variables" */ int XLALInitUserVars ( UserVariables_t *uvar ) { XLAL_CHECK ( uvar != NULL, XLAL_EINVAL ); /* set a few defaults */ uvar->help = 0; XLAL_CHECK ( (uvar->IFOs = XLALCreateStringVector ( "H1", NULL )) != NULL, XLAL_ENOMEM, "Call to XLALCreateStringVector() failed." ); uvar->ephemEarth = XLALStringDuplicate("earth00-19-DE405.dat.gz"); uvar->ephemSun = XLALStringDuplicate("sun00-19-DE405.dat.gz"); uvar->Alpha = 0.0; uvar->Delta = 0.0; uvar->skyGridFile = NULL; uvar->timeGPS = NULL; uvar->timeStampsFile = NULL; uvar->outab = 0; uvar->outABCD = 0; uvar->Tsft = 1800; uvar->noiseSqrtShX = NULL; /* register all user-variables */ XLALregBOOLUserStruct( help, 'h', UVAR_HELP, "Print this help/usage message"); XLALregLISTUserStruct( IFOs, 'I', UVAR_OPTIONAL, "Comma-separated list of detectors, eg. \"H1,H2,L1,G1, ...\" [only 1 detector supported at the moment] "); XLALregREALUserStruct( Alpha, 'a', UVAR_OPTIONAL, "single skyposition Alpha in radians, equatorial coords."); XLALregREALUserStruct( Delta, 'd', UVAR_OPTIONAL, "single skyposition Delta in radians, equatorial coords."); XLALregSTRINGUserStruct( skyGridFile, 's', UVAR_OPTIONAL, "Alternatively: sky-grid file"); XLALregLISTUserStruct( timeGPS, 't', UVAR_OPTIONAL, "GPS time at which to compute detector states (separate multiple timestamps by commata)"); XLALregLISTUserStruct( timeStampsFiles, 'T', UVAR_OPTIONAL, "Alternative: time-stamps file(s) (comma-separated list per IFO, or one for all)"); XLALregINTUserStruct( Tsft, 0, UVAR_OPTIONAL, "Assumed length of one SFT in seconds; needed for timestamps offset consistency with F-stat based codes"); XLALregLISTUserStruct ( noiseSqrtShX, 0, UVAR_OPTIONAL, "Per-detector noise PSD sqrt(SX). Only ratios relevant to compute noise weights. Defaults to 1,1,..."); XLALregSTRINGUserStruct ( ephemEarth, 0, UVAR_OPTIONAL, "Earth ephemeris file to use"); XLALregSTRINGUserStruct ( ephemSun, 0, UVAR_OPTIONAL, "Sun ephemeris file to use"); XLALregSTRINGUserStruct( outab, 'o', UVAR_OPTIONAL, "output file for antenna pattern functions a(t), b(t) at each timestamp"); XLALregSTRINGUserStruct( outABCD, 'O', UVAR_OPTIONAL, "output file for antenna pattern matrix elements A, B, C, D averaged over timestamps"); XLALregBOOLUserStruct( version, 'V', UVAR_SPECIAL, "Output code version"); /* developer user variables */ XLALregSTRINGUserStruct( timeStampsFile, 0, UVAR_OPTIONAL, "Alternative: single time-stamps file (deprecated, use --timeStampsFiles instead"); return XLAL_SUCCESS; } /* XLALInitUserVars() */
INT4 InitUserVars(UserVariables_t *uvar, int argc, char *argv[]) { XLAL_CHECK ( uvar != NULL, XLAL_EINVAL, "Invalid NULL input 'uvar'\n"); XLAL_CHECK ( argv != NULL, XLAL_EINVAL, "Invalid NULL input 'argv'\n"); uvar->ephemEarth = XLALStringDuplicate("earth00-19-DE405.dat.gz"); uvar->ephemSun = XLALStringDuplicate("sun00-19-DE405.dat.gz"); uvar->outfilename = XLALStringDuplicate("output.dat"); uvar->Tsft = 1800; uvar->SFToverlap = 900; uvar->skylocations = 1; XLALregBOOLUserStruct( help, 'h', UVAR_HELP , "Print this help/usage message"); XLALregREALUserStruct( Tsft, 0 , UVAR_OPTIONAL , "SFT coherence time"); XLALregREALUserStruct( SFToverlap, 0 , UVAR_OPTIONAL , "SFT overlap in seconds, usually Tsft/2"); XLALregREALUserStruct( t0, 0 , UVAR_OPTIONAL , "GPS start time of the search"); XLALregREALUserStruct( Tobs, 0 , UVAR_OPTIONAL , "Duration of the search (in seconds)"); XLALregREALUserStruct( cosi, 0 , UVAR_OPTIONAL , "Cosine of NS inclinaiont angle"); XLALregREALUserStruct( psi, 0 , UVAR_OPTIONAL , "Polarization angle of GW"); XLALregREALUserStruct( alpha, 0 , UVAR_OPTIONAL , "Right ascension of source (in radians)"); XLALregREALUserStruct( delta, 0 , UVAR_OPTIONAL , "Declination of source (in radians)"); XLALregINTUserStruct( skylocations, 0 , UVAR_OPTIONAL , "Number of sky locations"); XLALregLISTUserStruct( IFO, 0 , UVAR_REQUIRED , "CSV list of detectors, eg. \"H1,H2,L1,G1, ...\" "); XLALregSTRINGUserStruct(outfilename, 0 , UVAR_OPTIONAL , "Output filename"); XLALregSTRINGUserStruct(ephemEarth, 0 , UVAR_OPTIONAL , "Earth ephemeris file"); XLALregSTRINGUserStruct(ephemSun, 0 , UVAR_OPTIONAL , "Sun ephemeris file"); XLAL_CHECK( XLALUserVarReadAllInput(argc, argv) == XLAL_SUCCESS, XLAL_EFUNC ); if ( uvar->help ) exit (0); return XLAL_SUCCESS; }