37 #ifndef _SYNTHESIZE_CW_DRAWS_H
38 #define _SYNTHESIZE_CW_DRAWS_H
48 #include <gsl/gsl_rng.h>
51 #include <lal/SkyCoordinates.h>
52 #include <lal/LALComputeAM.h>
54 #include <lal/ProbabilityDensity.h>
55 #include <lal/TransientCW_utils.h>
62 typedef enum tagAmpPriorType_t {
71 typedef struct tagAmplitudePrior_t {
84 typedef struct tagmultiAMBuffer_t {
92 typedef struct tagInjParams_t {
REAL8 PulsarAmplitudeVect[4]
Struct for 'canonical' coordinates in amplitude-params space A^mu = {A1, A2, A3, A4}.
FstatAtomVector * XLALGenerateFstatAtomVector(const DetectorStateSeries *detStates, const AMCoeffs *amcoeffs)
Generate an FstatAtomVector for given antenna-pattern functions.
int XLALAddNoiseToMultiFstatAtomVector(MultiFstatAtomVector *multiAtoms, gsl_rng *rng)
Add Gaussian-noise components to given multi-FstatAtomVector.
REAL8 XLALAddSignalToMultiFstatAtomVector(MultiFstatAtomVector *multiAtoms, AntennaPatternMatrix *M_mu_nu, const PulsarAmplitudeVect A_Mu, transientWindow_t transientWindow, INT4 lineX)
Add given signal s_mu = M_mu_nu A^nu within the given transient-window to multi-IFO noise-atoms.
int write_InjParams_to_fp(FILE *fp, const InjParams_t *par, const UINT4 dataStartGPS, const BOOLEAN outputMmunuX, const UINT4 numDetectors)
Write an injection-parameters structure to the given file-pointer, adding one line with the injection...
MultiFstatAtomVector * XLALGenerateMultiFstatAtomVector(const MultiDetectorStateSeries *multiDetStates, const MultiAMCoeffs *multiAM)
Generate a multi-FstatAtomVector for given antenna-pattern functions.
MultiFstatAtomVector * XLALSynthesizeTransientAtoms(InjParams_t *injParamsOut, SkyPosition skypos, AmplitudePrior_t AmpPrior, transientWindowRange_t transientInjectRange, const MultiDetectorStateSeries *multiDetStates, BOOLEAN SignalOnly, multiAMBuffer_t *multiAMBuffer, gsl_rng *rng, INT4 lineX, const MultiNoiseWeights *multiNoiseWeights)
Generates a multi-Fstat atoms vector for given parameters, drawing random parameters wherever require...
int XLALRescaleMultiFstatAtomVector(MultiFstatAtomVector *multiAtoms, REAL8 rescale)
Rescale a given multi-Fstat atoms vector {Fa,Fb} by given scalar factor.
int XLALAddNoiseToFstatAtomVector(FstatAtomVector *atoms, gsl_rng *rng)
Add Gaussian-noise components to given FstatAtomVector.
AmpPriorType_t
Enumeration of allowed amplitude-prior types.
int XLALDrawCorrelatedNoise(PulsarAmplitudeVect n_mu, const gsl_matrix *L, gsl_rng *rng)
Generate 4 random-noise draws n_mu = {n_1, n_2, n_3, n_4} with correlations according to the matrix M...
REAL8 XLALAddSignalToFstatAtomVector(FstatAtomVector *atoms, AntennaPatternMatrix *M_mu_nu, const PulsarAmplitudeVect A_Mu, transientWindow_t transientWindow)
Add signal s_mu = M_mu_nu A^nu within the given transient-window to given atoms.
@ AMP_PRIOR_TYPE_CANONICAL
'canonical' priors: uniform in A^mu up to h_max
@ AMP_PRIOR_TYPE_PHYSICAL
'physical' priors: isotropic pdf{cosi,psi,phi0} AND flat pdf(h0)
This structure contains the per-SFT (weighted) antenna-pattern functions , with the SFT-index,...
Signal (amplitude) parameter ranges.
pdf1D_t * pdf_h0Nat
pdf for h0/sqrt{Sn}
REAL8 fixedSNR
alternative 1: adjust h0 to fix the optimal SNR of the signal
BOOLEAN fixRhohMax
alternative 2: draw h0 with fixed rhohMax = h0Max * (detM)^(1/8) <==> canonical Fstat prior
pdf1D_t * pdf_phi0
pdf(phi0)
pdf1D_t * pdf_cosi
pdf(cosi)
pdf1D_t * pdf_psi
pdf(psi)
Struct holding the "antenna-pattern" matrix , in terms of the multi-detector scalar product.
Timeseries of DetectorState's, representing the detector-info at different timestamps.
A vector of -statistic 'atoms', i.e.
Hold all (generally) randomly drawn injection parameters: skypos, amplitude-params,...
transientWindow_t transientWindow
PulsarAmplitudeParams ampParams
PulsarAmplitudeVect ampVect
Multi-IFO container for antenna-pattern coefficients and atenna-pattern matrix .
Multi-IFO time-series of DetectorStates.
A multi-detector vector of FstatAtomVector.
One noise-weight (number) per SFT (therefore indexed over IFOs and SFTs.
Type containing the JKS 'amplitude parameters' {h0, cosi, phi0, psi}.
struct for buffering of AM-coeffs, if signal for same sky-position is injected
SkyPosition skypos
sky-position for which we have AM-coeffs computed already
Struct defining one transient window instance.
Struct defining a range of transient windows.