Psyllid  v1.12.4
Project 8 Data Acquisisition Software
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
frequency_transform Class Reference

A transformer to receive time data, compute an FFT, and distribute as time and frequency ROACH packets. More...

#include <frequency_transform.hh>

Inheritance diagram for frequency_transform:
Inheritance graph

Public Member Functions

 frequency_transform ()
 
virtual ~frequency_transform ()
 
 mv_accessible (uint64_t, time_length)
 
 mv_accessible (uint64_t, freq_length)
 
 mv_accessible (unsigned, fft_size)
 
 mv_accessible (std::string, transform_flag)
 
 mv_accessible (bool, use_wisdom)
 
 mv_accessible (std::string, wisdom_filename)
 
void switch_to_freq_only ()
 
void switch_to_time_and_freq ()
 
virtual void initialize ()
 
virtual void execute (midge::diptera *a_midge=nullptr)
 
virtual void finalize ()
 

Private Types

typedef std::map< std::string, unsigned > TransformFlagMap
 

Private Member Functions

void setup_internal_maps ()
 

Private Attributes

bool f_enable_time_output
 
TransformFlagMap f_transform_flag_map
 
fftw_complex * f_fftw_input
 
fftw_complex * f_fftw_output
 
fftw_plan f_fftw_plan
 
bool f_multithreaded_is_initialized
 

Detailed Description

A transformer to receive time data, compute an FFT, and distribute as time and frequency ROACH packets.

Author
B. H. LaRoque

Parameter setting is not thread-safe. Executing is thread-safe.

Node type: "frequency-transform"

Available configuration values:

Available DAQ commands:

Definition at line 58 of file frequency_transform.hh.

Member Typedef Documentation

◆ TransformFlagMap

typedef std::map< std::string, unsigned > TransformFlagMap
private

Definition at line 61 of file frequency_transform.hh.

Constructor & Destructor Documentation

◆ frequency_transform()

Definition at line 29 of file frequency_transform.cc.

◆ ~frequency_transform()

~frequency_transform ( )
virtual

Definition at line 46 of file frequency_transform.cc.

Member Function Documentation

◆ execute()

void execute ( midge::diptera *  a_midge = nullptr)
virtual

Definition at line 109 of file frequency_transform.cc.

◆ finalize()

void finalize ( )
virtual

Definition at line 240 of file frequency_transform.cc.

◆ initialize()

void initialize ( )
virtual

Definition at line 62 of file frequency_transform.cc.

◆ mv_accessible() [1/6]

mv_accessible ( uint64_t  ,
time_length   
)

◆ mv_accessible() [2/6]

mv_accessible ( uint64_t  ,
freq_length   
)

◆ mv_accessible() [3/6]

mv_accessible ( unsigned  ,
fft_size   
)

◆ mv_accessible() [4/6]

mv_accessible ( std::string  ,
transform_flag   
)

◆ mv_accessible() [5/6]

mv_accessible ( bool  ,
use_wisdom   
)

◆ mv_accessible() [6/6]

mv_accessible ( std::string  ,
wisdom_filename   
)

◆ setup_internal_maps()

void setup_internal_maps ( )
private

Definition at line 257 of file frequency_transform.cc.

◆ switch_to_freq_only()

void switch_to_freq_only ( )

Definition at line 50 of file frequency_transform.cc.

◆ switch_to_time_and_freq()

void switch_to_time_and_freq ( )

Definition at line 56 of file frequency_transform.cc.

Member Data Documentation

◆ f_enable_time_output

bool f_enable_time_output
private

Definition at line 76 of file frequency_transform.hh.

◆ f_fftw_input

fftw_complex* f_fftw_input
private

Definition at line 88 of file frequency_transform.hh.

◆ f_fftw_output

fftw_complex* f_fftw_output
private

Definition at line 89 of file frequency_transform.hh.

◆ f_fftw_plan

fftw_plan f_fftw_plan
private

Definition at line 90 of file frequency_transform.hh.

◆ f_multithreaded_is_initialized

bool f_multithreaded_is_initialized
private

Definition at line 92 of file frequency_transform.hh.

◆ f_transform_flag_map

TransformFlagMap f_transform_flag_map
private

Definition at line 87 of file frequency_transform.hh.


The documentation for this class was generated from the following files: