Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Config.h
1 /*
2  * The MIT License (MIT)
3  *
4  * Copyright (c) 2016 The SKA organisation
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in all
14  * copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22  * SOFTWARE.
23  */
24 #ifndef SKA_CHEETAH_TDAS_GPU_CONFIG_H
25 #define SKA_CHEETAH_TDAS_GPU_CONFIG_H
26 
27 #include "cheetah/utils/Config.h"
28 #include "cheetah/tdrt/Config.h"
29 #include "cheetah/tdao/Config.h"
30 #include "cheetah/pwft/Config.h"
31 #include "cheetah/hrms/Config.h"
32 #include "cheetah/fft/Config.h"
33 #include "cheetah/brdz/Config.h"
34 #include "cheetah/dred/Config.h"
35 #include "cheetah/data/Units.h"
36 #include "cheetah/data/DedispersionMeasure.h"
37 
38 #include <vector>
39 
40 namespace ska {
41 namespace cheetah {
42 namespace tdas {
43 namespace cuda {
44 
52 class Config : public utils::Config
53 {
54  public:
55  Config();
56  ~Config();
57 
61  bool active() const;
62 
66  dred::Config const& dred_config() const;
68 
72  brdz::Config const& brdz_config() const;
74 
78  tdrt::Config const& tdrt_config() const;
80 
84  tdao::Config const& tdao_config() const;
86 
90  pwft::Config const& pwft_config() const;
92 
96  hrms::Config const& hrms_config() const;
98 
102  fft::Config const& fft_config() const;
104 
105  protected:
106  void add_options(OptionsDescriptionEasyInit& add_options) override;
107 
108  private:
109  bool _active;
110  dred::Config _dred_config;
111  brdz::Config _brdz_config;
112  tdrt::Config _tdrt_config;
113  tdao::Config _tdao_config;
114  pwft::Config _pwft_config;
115  hrms::Config _hrms_config;
116  fft::Config _fft_config;
117 
118 };
119 
120 
121 } // namespace cuda
122 } // namespace tdas
123 } // namespace cheetah
124 } // namespace ska
125 
126 #endif // SKA_CHEETAH_TDAS_GPU_CONFIG_H
hrms::Config const & hrms_config() const
Get the algorithm configuration for the Hrms module.
Definition: Config.cpp:83
Configuration for the BRDZ module.
Definition: Config.h:43
Configuration for the fft module.
Definition: Config.h:42
Base class for module configuration.
Definition: Config.h:42
configuration for the tdrt module
Definition: Config.h:41
tdao::Config const & tdao_config() const
Get the algorithm configuration for the Tdao module.
Definition: Config.cpp:63
fft::Config const & fft_config() const
Get the algorithm configuration for the Fft module.
Definition: Config.cpp:93
brdz::Config const & brdz_config() const
Get the algorithm configuration for the Brdz module.
Definition: Config.cpp:103
bool active() const
indicate if the algorithm is to be used
Definition: Config.cpp:129
Some limits and constants for FLDO.
Definition: Brdz.h:35
Algorithm configuration for the Dred module.
Definition: Config.h:47
dred::Config const & dred_config() const
Get the algorithm configuration for the Dred module.
Definition: Config.cpp:113
Algorithm configuration object for Hrms.
Definition: Config.h:40
pwft::Config const & pwft_config() const
Get the algorithm configuration for the Pwft module.
Definition: Config.cpp:73
tdrt::Config const & tdrt_config() const
Get the algorithm configuration for the Tdrt module.
Definition: Config.cpp:53