Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
RfimBase.h
1 #ifndef SKA_CHEETAH_RFIM_RFIMBASE_H
2 #define SKA_CHEETAH_RFIM_RFIMBASE_H
3 
4 #include "cheetah/rfim/PolicyInfo.h"
5 #include "cheetah/rfim/policy/Policy.h"
6 
7 namespace ska {
8 namespace cheetah {
9 namespace rfim {
10 
19 template<class RfimDetector, class RfimPolicy>
20 class RfimBase
21 {
22  protected:
24  typedef typename InfoType::DataArgumentType DataType;
25  typedef typename std::shared_ptr<typename std::remove_reference<DataType>::type> DataTypePtr;
26 
27  public:
28  typedef typename InfoType::AdapterType DataAdapter;
29  typedef typename InfoType::ReturnType ReturnType;
30 
31  public:
32  RfimBase();
33  ~RfimBase();
34 
35  template<typename ResourceType>
36  ReturnType operator()(ResourceType&&, DataTypePtr data);
37 
38  ReturnType operator()(panda::PoolResource<Cpu>&, DataTypePtr data );
39 
40  private:
42 };
43 
44 
45 } // namespace rfim
46 } // namespace cheetah
47 } // namespace ska
48 #include "cheetah/rfim/detail/RfimBase.cpp"
49 
50 #endif // SKA_CHEETAH_RFIM_RFIMBASE_H
Wrap a Rfim flaggeing style detector and adjust the data according to the flags and a specific policy...
Definition: RfimBase.h:20
std::conditional< std::is_same< void, AdapterDataReturnType >::value, DataArgumentType, AdapterDataReturnType >::type ReturnType
the data type the policy will return
Definition: PolicyInfo.h:67
Analyse RFIM policy to extract traits.
Definition: PolicyInfo.h:42
Some limits and constants for FLDO.
Definition: Brdz.h:35
std::conditional< std::is_member_function_pointer< AdapterFuncType >::value, typename boost::mpl::at_c< boost::function_types::parameter_types< AdapterFuncType >, 1 >::type, typename boost::mpl::at_c< boost::function_types::parameter_types< AdapterFuncType >, 0 >::type >::type DataArgumentType
The argument type that is to be expected to represent the TimeFrequencyData.
Definition: PolicyInfo.h:62