LALPulsar  6.1.0.1-fe68b98
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
56 extern "C" {
57 #endif
58 
62 
63 typedef struct tagWeaveCache WeaveCache;
64 typedef struct tagWeaveCacheQueries WeaveCacheQueries;
65 typedef struct tagWeaveCohInput WeaveCohInput;
66 typedef struct tagWeaveCohResults WeaveCohResults;
67 typedef struct tagWeaveOutputResults WeaveOutputResults;
68 typedef struct tagWeaveResultsToplist WeaveResultsToplist;
69 typedef struct tagWeaveResultsToplistItem WeaveResultsToplistItem;
70 typedef struct tagWeaveSearchIterator WeaveSearchIterator;
71 typedef struct tagWeaveSearchTiming WeaveSearchTiming;
72 typedef struct tagWeaveSemiResults WeaveSemiResults;
73 typedef struct tagWeaveSetupData WeaveSetupData;
74 typedef struct tagWeaveStatisticsParams WeaveStatisticsParams;
75 typedef 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.