Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALPulsar 7.1.1.1-b246709
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Weave.h
Go to the documentation of this file.
1//
2// Copyright (C) 2016, 2017 Karl Wette
3//
4// This program is free software; you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation; either version 2 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with with program; see the file COPYING. If not, write to the
16// Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17// MA 02110-1301 USA
18//
19
20#ifndef _WEAVE_H
21#define _WEAVE_H
22
23///
24/// \defgroup lalpulsar_bin_Weave Weave Search Application
25/// \ingroup lalpulsar_bin_Apps
26/// \author Karl Wette
27///
28
29///
30/// \file
31/// \ingroup lalpulsar_bin_Weave
32///
33
34#include <stdlib.h>
35#include <math.h>
36#include <gsl/gsl_math.h>
37#include <gsl/gsl_blas.h>
38#include <gsl/gsl_vector.h>
39#include <gsl/gsl_matrix.h>
40
41#include <lal/LALStdlib.h>
42#include <lal/LALStdio.h>
43#include <lal/LALString.h>
44#include <lal/PulsarDataTypes.h>
45#include <lal/GSLHelpers.h>
46#include <lal/FITSFileIO.h>
47#include <lal/LALPulsarVCSInfo.h>
48
49#ifdef __GNUC__
50#define UNUSED __attribute__ ((unused))
51#else
52#define UNUSED
53#endif
54
55#ifdef __cplusplus
56extern "C" {
57#endif
58
62
63typedef struct tagWeaveCache WeaveCache;
64typedef struct tagWeaveCacheQueries WeaveCacheQueries;
65typedef struct tagWeaveCohInput WeaveCohInput;
66typedef struct tagWeaveCohResults WeaveCohResults;
67typedef struct tagWeaveOutputResults WeaveOutputResults;
68typedef struct tagWeaveResultsToplist WeaveResultsToplist;
69typedef struct tagWeaveResultsToplistItem WeaveResultsToplistItem;
70typedef struct tagWeaveSearchIterator WeaveSearchIterator;
71typedef struct tagWeaveSearchTiming WeaveSearchTiming;
72typedef struct tagWeaveSemiResults WeaveSemiResults;
73typedef struct tagWeaveSetupData WeaveSetupData;
74typedef struct tagWeaveStatisticsParams WeaveStatisticsParams;
75typedef struct tagWeaveStatisticsValues WeaveStatisticsValues;
76
77///
78/// Bitflags representing search simulation levels
79///
81 /// Simulate search (implicitly with full memory allocation)
83 /// Simulate search with minimal memory allocation
85};
86
87#ifdef __cplusplus
88}
89#endif
90
91#endif // _WEAVE_H
92
93// Local Variables:
94// c-file-style: "linux"
95// c-basic-offset: 2
96// End:
tagWeaveSearchTimingSection
Search sections which are timed individually.
Definition: SearchTiming.h:40
tagWeaveSimulationLevel
Bitflags representing search simulation levels.
Definition: Weave.h:80
@ WEAVE_SIMULATE
Simulate search (implicitly with full memory allocation)
Definition: Weave.h:82
@ WEAVE_SIMULATE_MIN_MEM
Simulate search with minimal memory allocation.
Definition: Weave.h:84
enum tagWeaveSearchTimingSection WeaveSearchTimingSection
Definition: Weave.h:59
enum tagWeaveSimulationLevel WeaveSimulationLevel
Definition: Weave.h:60
enum tagWeaveStatisticType WeaveStatisticType
Definition: Weave.h:61
tagWeaveStatisticType
Bitflags representing all possible statistics that can be computed or returned by Weave.
Cache used to store coherent results.
Definition: CacheResults.c:105
Container for a series of cache queries.
Definition: CacheResults.c:51
Input data required for computing coherent results.
Results of a coherent computation on a single segment.
Output results from a search.
Definition: OutputResults.c:51
Toplist of output results.
Iterator over a search parameter space.
Container for timings and other information for a timing model.
Definition: SearchTiming.c:33
Final results of a semicoherent computation over many segments.
Setup data which is computed only once for a given search setup.
Definition: SetupData.h:42
Struct holding all parameters and status values for computing various statistics.