BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
IntensityDataFFTPresenter Class Reference

Provides support in Fast Fourier transformation of IntensityDataItem. More...

Inheritance diagram for IntensityDataFFTPresenter:
[legend]
Collaboration diagram for IntensityDataFFTPresenter:
[legend]

Signals

void fftActionRequest ()
 

Public Member Functions

 IntensityDataFFTPresenter (QWidget *parent=nullptr)
 
QList< QAction * > actionList ()
 
IntensityDataItemfftItem (IntensityDataItem *origItem)
 
bool inFFTMode () const
 
void reset ()
 

Private Slots

void onFFTActionRequest ()
 

Private Attributes

QAction * m_fftAction
 
IntensityDataItemm_fftItem
 
SessionModelm_fftModel
 
bool m_in_fft_mode
 

Detailed Description

Provides support in Fast Fourier transformation of IntensityDataItem.

Contains own model to hold IntensityDataItem with fft-transformed results.

Definition at line 28 of file IntensityDataFFTPresenter.h.

Constructor & Destructor Documentation

◆ IntensityDataFFTPresenter()

IntensityDataFFTPresenter::IntensityDataFFTPresenter ( QWidget *  parent = nullptr)

Definition at line 24 of file IntensityDataFFTPresenter.cpp.

25  : QObject(parent)
26  , m_fftAction(nullptr)
27  , m_fftModel(new SessionModel("TempFFTModel", this))
28  , m_fftItem(nullptr)
29  , m_in_fft_mode(false)
30 {
32  m_fftAction = new QAction(this);
33  m_fftAction->setText("Fourier");
34  m_fftAction->setIcon(QIcon(":/images/alpha-f-box.svg"));
35  m_fftAction->setToolTip("Get the Fourier Transform of current intensity map");
36  connect(m_fftAction, &QAction::triggered, this, &IntensityDataFFTPresenter::onFFTActionRequest);
37 }
T * insertItem(SessionItem *parent=nullptr, int row=-1, QString tag="")
Definition: SessionModel.h:125

References SessionModel::insertItem(), m_fftAction, m_fftItem, m_fftModel, and onFFTActionRequest().

Here is the call graph for this function:

Member Function Documentation

◆ actionList()

QList< QAction * > IntensityDataFFTPresenter::actionList ( )

Definition at line 58 of file IntensityDataFFTPresenter.cpp.

59 {
60  return QList<QAction*>() << m_fftAction;
61 }

References m_fftAction.

Referenced by IntensityDataWidget::actionList().

◆ fftActionRequest

void IntensityDataFFTPresenter::fftActionRequest ( )
signal

◆ fftItem()

IntensityDataItem * IntensityDataFFTPresenter::fftItem ( IntensityDataItem origItem)

Definition at line 44 of file IntensityDataFFTPresenter.cpp.

45 {
46  if (!origItem)
47  throw GUIHelpers::Error("IntensityDataFFTPresenter::fftItem() -> Error. Empty item.");
48 
49  QApplication::setOverrideCursor(Qt::WaitCursor);
50 
52 
53  QApplication::restoreOverrideCursor();
54 
55  return m_fftItem;
56 }
OutputData< double > * getOutputData()
Definition: DataItem.h:36
void setOutputData(OutputData< double > *data) override
The given pointer becomes owned by this class!!
std::unique_ptr< OutputData< double > > createFFT(const OutputData< double > &data)
Creates Fourier Transform (OutputData format) of intensity map (OutputData format).
Definition: DataUtils.cpp:256

References DataUtils::createFFT(), DataItem::getOutputData(), m_fftItem, and IntensityDataItem::setOutputData().

Referenced by IntensityDataWidget::onFFTAction().

Here is the call graph for this function:

◆ inFFTMode()

bool IntensityDataFFTPresenter::inFFTMode ( ) const

Definition at line 63 of file IntensityDataFFTPresenter.cpp.

64 {
65  return m_in_fft_mode;
66 }

References m_in_fft_mode.

Referenced by IntensityDataWidget::onFFTAction().

◆ onFFTActionRequest

void IntensityDataFFTPresenter::onFFTActionRequest ( )
privateslot

Definition at line 68 of file IntensityDataFFTPresenter.cpp.

69 {
72 }

References fftActionRequest(), and m_in_fft_mode.

Referenced by IntensityDataFFTPresenter().

◆ reset()

void IntensityDataFFTPresenter::reset ( )

Definition at line 39 of file IntensityDataFFTPresenter.cpp.

40 {
41  m_in_fft_mode = false;
42 }

References m_in_fft_mode.

Referenced by IntensityDataWidget::setItem().

Member Data Documentation

◆ m_fftAction

QAction* IntensityDataFFTPresenter::m_fftAction
private

Definition at line 48 of file IntensityDataFFTPresenter.h.

Referenced by IntensityDataFFTPresenter(), and actionList().

◆ m_fftItem

IntensityDataItem* IntensityDataFFTPresenter::m_fftItem
private

Definition at line 50 of file IntensityDataFFTPresenter.h.

Referenced by IntensityDataFFTPresenter(), and fftItem().

◆ m_fftModel

SessionModel* IntensityDataFFTPresenter::m_fftModel
private

Definition at line 49 of file IntensityDataFFTPresenter.h.

Referenced by IntensityDataFFTPresenter().

◆ m_in_fft_mode

bool IntensityDataFFTPresenter::m_in_fft_mode
private

Definition at line 51 of file IntensityDataFFTPresenter.h.

Referenced by inFFTMode(), onFFTActionRequest(), and reset().


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