LALPulsar  6.1.0.1-89842e6
SFTfileIO.h File Reference

Prototypes

Time range/frequency bin convention functions

int XLALCWGPSinRange (const LIGOTimeGPS gps, const LIGOTimeGPS *minGPS, const LIGOTimeGPS *maxGPS)
 Defines the official CW convention for whether a GPS time is 'within' a given range, defined as the half-open interval [minGPS, maxGPS) More...
 
UINT4 XLALRoundFrequencyDownToSFTBin (const REAL8 freq, const REAL8 df)
 Round a REAL8 frequency down to the nearest integer SFT bin number. More...
 
UINT4 XLALRoundFrequencyUpToSFTBin (const REAL8 freq, const REAL8 df)
 Round a REAL8 frequency up to the nearest integer SFT bin number. More...
 
int XLALFindCoveringSFTBins (UINT4 *firstBin, UINT4 *numBins, REAL8 fMinIn, REAL8 BandIn, REAL8 Tsft)
 Return the 'effective' frequency-band [fMinEff, fMaxEff] = [firstBin, lastBin] * 1/Tsft, with numBins = lastBin - firstBin + 1 which is the smallest band of SFT-bins that fully covers a given band [fMin, fMin+Band]. More...
 
SFT type create/destroy functions

SFTtypeXLALCreateSFT (UINT4 numBins)
 XLAL function to create one SFT-struct. More...
 
void XLALDestroySFT (SFTtype *sft)
 Destructor for one SFT. More...
 
int XLALCopySFT (SFTtype *dest, const SFTtype *src)
 Copy an entire SFT-type into another. More...
 
SFTVectorXLALCreateSFTVector (UINT4 numSFTs, UINT4 numBins)
 XLAL function to create an SFTVector of numSFT SFTs with SFTlen frequency-bins (which will be allocated too). More...
 
SFTVectorXLALCreateEmptySFTVector (UINT4 numSFTs)
 XLAL function to create an SFTVector of numSFT SFTs (which are not allocated). More...
 
void XLALDestroySFTVector (SFTVector *vect)
 XLAL interface to destroy an SFTVector. More...
 
SFTVectorXLALDuplicateSFTVector (const SFTVector *sftsIn)
 Create a complete copy of an SFT vector. More...
 
MultiSFTVectorXLALCreateMultiSFTVector (UINT4 length, UINT4Vector *numsft)
 Create a multi-IFO SFT vector with a given number of bins per SFT and number of SFTs per IFO (which will be allocated too). More...
 
MultiSFTVectorXLALCreateEmptyMultiSFTVector (UINT4Vector *numsft)
 Create an empty multi-IFO SFT vector with a given number of SFTs per IFO (which are not allocated). More...
 
void XLALDestroyMultiSFTVector (MultiSFTVector *multvect)
 Destroy a multi SFT-vector. More...
 
int XLALExtractBandFromSFT (SFTtype **outSFT, const SFTtype *inSFT, REAL8 fMin, REAL8 Band)
 Return an SFTs containing only the bins in [fMin, fMin+Band]. More...
 
SFTVectorXLALExtractBandFromSFTVector (const SFTVector *inSFTs, REAL8 fMin, REAL8 Band)
 Return a vector of SFTs containing only the bins in [fMin, fMin+Band]. More...
 
MultiSFTVectorXLALExtractBandFromMultiSFTVector (const MultiSFTVector *inSFTs, REAL8 fMin, REAL8 Band)
 Return a MultiSFT vector containing only the bins in [fMin, fMin+Band]. More...
 
int XLALExtractStrictBandFromSFT (SFTtype **outSFT, const SFTtype *inSFT, REAL8 fMin, REAL8 Band)
 Return a copy of an SFT containing only the bins in [fMin, fMin+Band). More...
 
SFTVectorXLALExtractStrictBandFromSFTVector (const SFTVector *inSFTs, REAL8 fMin, REAL8 Band)
 Return a copy of a vector of SFTs containing only the bins in [fMin, fMin+Band). More...
 
MultiSFTVectorXLALExtractStrictBandFromMultiSFTVector (const MultiSFTVector *inSFTs, REAL8 fMin, REAL8 Band)
 Return a copy of a MultiSFT vector containing only the bins in [fMin, fMin+Band). More...
 
SFT type modify functions

int XLALAppendSFT2Vector (SFTVector *vect, const SFTtype *sft)
 Append the given SFTtype to the SFT-vector (no SFT-specific checks are done!) More...
 
int XLALReorderMultiSFTVector (MultiSFTVector *multiSFTs, const LALStringVector *IFOs)
 Reorder the MultiSFTVector with specified list of IFOs. More...
 
int XLALSFTAdd (SFTtype *a, const SFTtype *b)
 Adds SFT-data from SFT 'b' to SFT 'a'. More...
 
int XLALSFTVectorAdd (SFTVector *a, const SFTVector *b)
 Adds SFT-data from SFTvector 'b' to elements of SFTVector 'a'. More...
 
int XLALMultiSFTVectorAdd (MultiSFTVector *a, const MultiSFTVector *b)
 Adds SFT-data from MultiSFTvector 'b' to elements of MultiSFTVector 'a'. More...
 
int XLALSFTResizeBand (SFTtype *SFT, REAL8 f0, REAL8 Band)
 Resize the frequency-band of a given SFT to [f0, f0+Band]. More...
 
int XLALSFTVectorResizeBand (SFTVector *SFTs, REAL8 f0, REAL8 Band)
 Resize the frequency-band of a given SFT vector to [f0, f0+Band]. More...
 
int XLALMultiSFTVectorResizeBand (MultiSFTVector *multiSFTs, REAL8 f0, REAL8 Band)
 Resize the frequency-band of a given multi-SFT vector to [f0, f0+Band]. More...
 
SFT type property functions

int XLALEarliestMultiSFTsample (LIGOTimeGPS *out, const MultiSFTVector *multisfts)
 Finds the earliest timestamp in a multi-SFT data structure. More...
 
int XLALLatestMultiSFTsample (LIGOTimeGPS *out, const MultiSFTVector *multisfts)
 Find the time of the end of the latest SFT in a multi-SFT data structure. More...
 
SFTVectorXLALExtractSFTVectorWithTimestamps (const SFTVector *sfts, const LIGOTimeGPSVector *timestamps)
 Extract an SFTVector from another SFTVector but only those timestamps matching. More...
 
MultiSFTVectorXLALExtractMultiSFTVectorWithMultiTimestamps (const MultiSFTVector *multiSFTs, const MultiLIGOTimeGPSVector *multiTimestamps)
 Extract a MultiSFTVector from another MultiSFTVector but only those timestamps matching. More...
 
SFT timestamp type create/destroy functions

LIGOTimeGPSVectorXLALCreateTimestampVector (UINT4 length)
 Allocate a LIGOTimeGPSVector. More...
 
void XLALDestroyTimestampVector (LIGOTimeGPSVector *vect)
 De-allocate a LIGOTimeGPSVector. More...
 
LIGOTimeGPSVectorXLALResizeTimestampVector (LIGOTimeGPSVector *vector, UINT4 length)
 Resize a LIGOTimeGPSVector. More...
 
MultiLIGOTimeGPSVectorXLALCreateMultiLIGOTimeGPSVector (UINT4 numDetectors)
 Simple creator function for MultiLIGOTimeGPSVector with numDetectors entries. More...
 
void XLALDestroyMultiTimestamps (MultiLIGOTimeGPSVector *multiTS)
 Destroy a MultiLIGOTimeGPSVector timestamps vector. More...
 
SFT timestamp type property functions

int XLALFindTimesliceBounds (UINT4 *iStart, UINT4 *iEnd, const LIGOTimeGPSVector *timestamps, const LIGOTimeGPS *minStartGPS, const LIGOTimeGPS *maxStartGPS)
 
SFT timestamp generation functions

LIGOTimeGPSVectorXLALMakeTimestamps (LIGOTimeGPS tStart, REAL8 Tspan, REAL8 Tsft, REAL8 Toverlap)
 Given a start-time, Tspan, Tsft and Toverlap, returns a list of timestamps covering this time-stretch (allowing for overlapping SFTs). More...
 
MultiLIGOTimeGPSVectorXLALMakeMultiTimestamps (LIGOTimeGPS tStart, REAL8 Tspan, REAL8 Tsft, REAL8 Toverlap, UINT4 numDet)
 Same as XLALMakeTimestamps() just for several detectors, additionally specify the number of detectors. More...
 
LIGOTimeGPSVectorXLALReadTimestampsFile (const CHAR *fname)
 backwards compatible wrapper to XLALReadTimestampsFileConstrained() without GPS-time constraints More...
 
MultiLIGOTimeGPSVectorXLALReadMultiTimestampsFiles (const LALStringVector *fnames)
 backwards compatible wrapper to XLALReadMultiTimestampsFilesConstrained() without GPS-time constraints More...
 
LIGOTimeGPSVectorXLALReadTimestampsFileConstrained (const CHAR *fname, const LIGOTimeGPS *minGPS, const LIGOTimeGPS *maxGPS)
 Load timestamps file 'fname' into LIGOTimeGPSVector struct, allocated here. More...
 
MultiLIGOTimeGPSVectorXLALReadMultiTimestampsFilesConstrained (const LALStringVector *fnames, const LIGOTimeGPS *minGPS, const LIGOTimeGPS *maxGPS)
 Load several timestamps files, return a MultiLIGOTimeGPSVector struct, allocated here. More...
 
LIGOTimeGPSVectorXLALExtractTimestampsFromSFTs (const SFTVector *sfts)
 Extract timstamps-vector from the given SFTVector. More...
 
MultiLIGOTimeGPSVectorXLALExtractMultiTimestampsFromSFTs (const MultiSFTVector *multiSFTs)
 Given a multi-SFT vector, return a MultiLIGOTimeGPSVector holding the SFT timestamps. More...
 
LIGOTimeGPSVectorXLALTimestampsFromSFTCatalog (const SFTCatalog *catalog)
 Extract timestamps-vector of unique timestamps from the given SFTCatalog. More...
 
MultiLIGOTimeGPSVectorXLALTimestampsFromMultiSFTCatalogView (const MultiSFTCatalogView *multiView)
 Given a multi-SFTCatalogView, return a MultiLIGOTimeGPSVector holding the SFT timestamps. More...
 
LALSegListXLALReadSegmentsFromFile (const char *fname)
 Function to read a segment list from given filename, returns a sorted LALSegList. More...
 
LIGOTimeGPSVectorXLALTimestampsFromSegmentFile (const char *filename, REAL8 Tsft, REAL8 Toverlap, BOOLEAN adjustSegExtraTime, BOOLEAN synchronize)
 Extract timestamps-vector from a segment file, with functionality based on MakeSFTDAG The filename should point to a file containing <GPSstart GPSend> of segments or <GPSstart GPSend segLength numSFTs> where segLength is in hours. More...
 
SFT catalog create/destroy functions

SFTCatalogXLALSFTdataFind (const CHAR *file_pattern, const SFTConstraints *constraints)
 Find the list of SFTs matching the file_pattern and satisfying the given constraints, return an SFTCatalog of the matching SFTs. More...
 
void XLALDestroySFTCatalog (SFTCatalog *catalog)
 Free an 'SFT-catalogue'. More...
 
MultiSFTCatalogViewXLALGetMultiSFTCatalogView (const SFTCatalog *catalog)
 Return a MultiSFTCatalogView generated from an input SFTCatalog. More...
 
void XLALDestroyMultiSFTCatalogView (MultiSFTCatalogView *multiView)
 Destroys a MultiSFTCatalogView, without freeing the original catalog that the 'view' was referring to, which must be destroyed separately using XLALDestroySFTCatalog(). More...
 
SFT catalog property functions

int XLALCheckCRCSFTCatalog (BOOLEAN *crc_check, SFTCatalog *catalog)
 This function reads in the SFTs in the catalog and validates their CRC64 checksums. More...
 
LALStringVectorXLALListIFOsInCatalog (const SFTCatalog *catalog)
 Return a sorted string vector listing the unique IFOs in the given catalog. More...
 
INT4 XLALCountIFOsInCatalog (const SFTCatalog *catalog)
 Count the number of the unique IFOs in the given catalog. More...
 
const CHARXLALshowSFTLocator (const struct tagSFTLocator *locator)
 Mostly for debugging purposes: provide a user-API to allow inspecting the SFT-locator [which is an OPAQUE entry in the SFTCatalog!]. More...
 
int XLALSFTCatalogTimeslice (SFTCatalog *slice, const SFTCatalog *catalog, const LIGOTimeGPS *minStartGPS, const LIGOTimeGPS *maxStartGPS)
 Set a SFT catalog 'slice' to a timeslice of a larger SFT catalog 'catalog', with entries restricted to the interval ['minStartGPS','maxStartGPS') according to XLALCWGPSinRange(). More...
 
SFTCatalogXLALReturnSFTCatalogTimeslice (const SFTCatalog *catalog, const LIGOTimeGPS *minStartGPS, const LIGOTimeGPS *maxStartGPS)
 
SFT catalog generation functions

SFTCatalogXLALAddToFakeSFTCatalog (SFTCatalog *catalog, const CHAR *detector, const LIGOTimeGPSVector *timestamps)
 Create a 'fake' SFT catalog which contains only detector and timestamp information. More...
 
SFTCatalogXLALMultiAddToFakeSFTCatalog (SFTCatalog *catalog, const LALStringVector *detectors, const MultiLIGOTimeGPSVector *timestamps)
 Multi-detector and multi-timestamp wrapper of XLALAddToFakeSFTCatalog(). More...
 
SFT file naming convention functions

int XLALRegisterSpecialCWDetector (const LALDetector *specialDetector)
 Register a special detector for use with CW codes. More...
 
int XLALFindCWDetector (CHAR **prefix, INT4 *lalCachedIndex, const CHAR *name, const BOOLEAN exactMatch)
 Parses valid CW detector names and prefixes. More...
 
BOOLEAN XLALIsValidCWDetector (const CHAR *name)
 Determine if 'name' is a valid detector name or prefix. More...
 
CHARXLALGetChannelPrefix (const CHAR *name)
 Find the valid CW detector prefix. More...
 
const LALDetectorXLALGetSiteInfo (const CHAR *name)
 Find the site geometry-information 'LALDetector' for given a detector name (or prefix). More...
 
int XLALFillSFTFilenameSpecStrings (SFTFilenameSpec *spec, const CHAR *path, const CHAR *extn, const CHAR *detector, const CHAR *window_type, const CHAR *privMisc, const CHAR *pubObsKind, const CHAR *pubChannel)
 Convenience function for filling out the string fields in a SFTFilenameSpec. More...
 
charXLALBuildSFTFilenameFromSpec (const SFTFilenameSpec *spec)
 Build an SFT file name from the given specification. More...
 
int XLALParseSFTFilenameIntoSpec (SFTFilenameSpec *spec, const char *SFTpath)
 Parse a SFT file path and return its specification. More...
 
int XLALCheckValidDescriptionField (const char *desc)
 Check whether given string qualifies as a valid 'description' field of a FRAME filename (per [25]) or SFT filename (per [4]) More...
 
int XLALCompareSFTWindows (const CHAR *type1, const REAL8 param1, const CHAR *type2, const REAL8 param2)
 Check whether two SFT windows, each defined by a type name and parameter value, match. More...
 
SFT file reading functions

LALStringVectorXLALFindFiles (const CHAR *globstring)
 Returns a list of filenames matching the input argument, which may be one of the following: More...
 
SFTVectorXLALLoadSFTs (const SFTCatalog *catalog, REAL8 fMin, REAL8 fMax)
 Load the given frequency-band [fMin, fMax) (half-open) from the SFT-files listed in the SFT-'catalogue' ( returned by XLALSFTdataFind() ). More...
 
MultiSFTVectorXLALLoadMultiSFTs (const SFTCatalog *inputCatalog, REAL8 fMin, REAL8 fMax)
 Function to load a catalog of SFTs from possibly different detectors. More...
 
MultiSFTVectorXLALLoadMultiSFTsFromView (const MultiSFTCatalogView *multiCatalogView, REAL8 fMin, REAL8 fMax)
 This function loads a MultiSFTVector from a given input MultiSFTCatalogView, otherwise the documentation of XLALLoadMultiSFTs() applies. More...
 
MultiSFTVectorXLALReadSFDB (REAL8 f_min, REAL8 f_max, const CHAR *file_pattern, const CHAR *timeStampsStarting, const CHAR *timeStampsFinishing)
 Return a MultiSFTVector struct from an input set of SFDBs, possibly from more than one detector. More...
 
SFT file writing functions

int XLALWriteSFT2FilePointer (const SFTtype *sft, FILE *fp, const CHAR *SFTwindowtype, const REAL8 SFTwindowparam, const CHAR *SFTcomment)
 Write the given SFTtype to a FILE pointer. More...
 
int XLALWriteSFT2NamedFile (const SFTtype *sft, const CHAR *SFTfilename, const CHAR *SFTwindowtype, const REAL8 SFTwindowparam, const CHAR *SFTcomment)
 Write the given SFTtype to a SFT file with the supplied filename. More...
 
int XLALWriteSFT2StandardFile (const SFTtype *sft, SFTFilenameSpec *SFTfnspec, const CHAR *SFTcomment)
 Write the given SFTtype to a SFT file with a standard ([4]) filename. More...
 
int XLALWriteSFTVector2NamedFile (const SFTVector *sftVect, const CHAR *SFTfilename, const CHAR *SFTwindowtype, const REAL8 SFTwindowparam, const CHAR *SFTcomment)
 Write the given SFTVector to a single merged SFT file with the supplied filename. More...
 
int XLALWriteSFTVector2StandardFile (const SFTVector *sftVect, SFTFilenameSpec *SFTfnspec, const CHAR *SFTcomment, const BOOLEAN merged)
 Write the given SFTVector to SFT file(s) with a standard ([4]) filename(s). More...
 
int XLALCheckSFTFileIsValid (const char *fname)
 Verify that the contents of a SFT file are valid. More...
 

Go to the source code of this file.

Data Structures

struct  MultiSFTVector
 A collection of SFT vectors – one for each IFO in a multi-IFO search. More...
 
struct  LIGOTimeGPSVector
 A vector of 'timestamps' of type LIGOTimeGPS. More...
 
struct  MultiLIGOTimeGPSVector
 A collection of (multi-IFO) LIGOTimeGPSVector time-stamps vectors. More...
 
struct  SFTConstraints
 'Constraints' for SFT-matching: which detector, within which time-stretch and which timestamps exactly should be loaded ? Any of the entries is optional, and they will be combined by logical AND. More...
 
struct  SFTDescriptor
 A 'descriptor' of an SFT: basically containing the header-info plus an opaque description of where exactly to load this SFT from. More...
 
struct  SFTCatalog
 An "SFT-catalogue": a vector of SFTdescriptors, as returned by XLALSFTdataFind() More...
 
struct  MultiSFTCatalogView
 A multi-SFT-catalogue "view": a multi-IFO vector of SFT-catalogs. More...
 
struct  SFTFilenameSpec
 Structure specifying an SFT file name, following the convention in [4] . More...
 

Typedefs

typedef COMPLEX8FrequencySeries SFTtype
 A so-called 'SFT' (short-Fourier-transform) will be stored in a COMPLEX8FrequencySeries. More...
 
typedef COMPLEX8FrequencySeriesVector SFTVector
 The corresponding vector-type to hold a vector of 'SFTs'. More...