Merged muonspin/musrfit into master

This commit is contained in:
Zaher Salman
2015-02-20 09:53:18 +01:00
25 changed files with 1794 additions and 215 deletions

View File

@ -130,7 +130,9 @@ bool PAdminXMLParser::startElement( const QString&, const QString&,
} else if (qName == "musr_web_statistic") {
fKeyWord = eHelpStatistic;
} else if (qName == "musr_web_msr2data") {
fKeyWord = eHelpMsr2Data;
fKeyWord = eHelpMsr2Data;
} else if (qName == "musr_web_musrFT") {
fKeyWord = eHelpMusrFT;
} else if (qName == "chain_fit") {
fKeyWord = eChainFit;
} else if (qName == "write_data_header") {
@ -338,6 +340,9 @@ bool PAdminXMLParser::characters(const QString& str)
case eHelpMsr2Data:
fAdmin->setHelpUrl("msr2data", str);
break;
case eHelpMusrFT:
fAdmin->setHelpUrl("musrFT", str);
break;
case eChainFit:
if (str == "y")
flag = true;

View File

@ -74,7 +74,7 @@ class PAdminXMLParser : public QXmlDefaultHandler
eRecentFile, eBeamline, eInstitute, eFileFormat, eLifetimeCorrection, eMsrDefaultFilePath,
eTheoFuncPixmapPath, eFunc, eFuncName, eFuncComment, eFuncLabel,
eFuncPixmap, eFuncParams, eHelpMain, eHelpTitle, eHelpParameters, eHelpTheory, eHelpFunctions,
eHelpRun, eHelpCommand, eHelpFourier, eHelpPlot, eHelpStatistic, eHelpMsr2Data,
eHelpRun, eHelpCommand, eHelpFourier, eHelpPlot, eHelpStatistic, eHelpMsr2Data, eHelpMusrFT,
eChainFit, eWriteDataHeader, eIgnoreDataHeaderInfo, eWriteColumnData,
eRecreateDataFile, eOpenFileAfterFitting, eCreateMsrFileOnly, eFitOnly, eGlobal, eGlobalPlus};

View File

@ -0,0 +1,565 @@
/****************************************************************************
PGetMusrFTOptionsDialog.cpp
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2009-2015 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <QLineEdit>
#include <QValidator>
#include <QComboBox>
#include <QMessageBox>
#include "PHelp.h"
#include "PGetMusrFTOptionsDialog.h"
#define MUSRFT_OPT_UNDEF 0
#define MUSRFT_OPT_REAL 1
#define MUSRFT_OPT_IMAG 2
#define MUSRFT_OPT_REAL_AND_IMAG 3
#define MUSRFT_OPT_POWER 4
#define MUSRFT_OPT_PHASE 5
#define MUSRFT_APOD_UNDEF 0
#define MUSRFT_APOD_WEAK 1
#define MUSRFT_APOD_MEDIUM 2
#define MUSRFT_APOD_STRONG 3
#define MUSRFT_UNIT_UNDEF 0
#define MUSRFT_UNIT_GAUSS 1
#define MUSRFT_UNIT_TESLA 2
#define MUSRFT_UNIT_FREQ 3
#define MUSRFT_UNIT_CYCLE 4
//----------------------------------------------------------------------------------------------------
/**
* <p>Constructor.
*
* \param currentMsrFile path-file name of the currently active msr-file in musredit
* \param prevCmd list of the last (potential) previously call.
* \param helpUrl help url for the asymmetry run block
*/
PGetMusrFTOptionsDialog::PGetMusrFTOptionsDialog(QString currentMsrFile, QStringList &prevCmd, const QString helpUrl) :
fCurrentMsrFileName(currentMsrFile), fHelpUrl(helpUrl)
{
setupUi(this);
setModal(true);
fBkgRangeStartBin_lineEdit->setValidator( new QIntValidator(fBkgRangeStartBin_lineEdit) );
fBkgRangeEndBin_lineEdit->setValidator( new QIntValidator(fBkgRangeEndBin_lineEdit) );
fPacking_lineEdit->setValidator( new QIntValidator(fPacking_lineEdit) );
fTimeRangeStart_lineEdit->setValidator( new QDoubleValidator(fTimeRangeStart_lineEdit) );
fTimeRangeEnd_lineEdit->setValidator( new QDoubleValidator(fTimeRangeEnd_lineEdit) );
fFourierPower_lineEdit->setValidator( new QIntValidator(fFourierPower_lineEdit) );
fLifetimeCorrection_lineEdit->setValidator( new QDoubleValidator(fLifetimeCorrection_lineEdit) );
fFourierRangeStart_lineEdit->setValidator( new QDoubleValidator(fFourierRangeStart_lineEdit) );
fFourierRangeEnd_lineEdit->setValidator( new QDoubleValidator(fFourierRangeEnd_lineEdit) );
fPacking_lineEdit->setText("1");
// populate dialog with the previous cmd call
bool msrTag = true;
QString str, str1, line;
int idx;
for (int i=0; i<prevCmd.size(); i++) {
// collect msr-file-names
if (msrTag) {
line = "";
while (prevCmd[i].contains(".msr") && (i<prevCmd.size())) {
// split msr-file path-name into path and name
str = prevCmd[i];
idx = str.lastIndexOf("/");
str1 = str;
str.remove(idx, str.length()-idx);
fMsrFilePaths << str;
str1.remove(0, idx+1);
fMsrFileNames << str1;
line += str1 + " ";
i++;
}
line.remove(line.length()-1, 1);
fMsrFileSelector_lineEdit->setText(line);
msrTag = false;
}
// collect data-file-names
if (prevCmd[i] == "-df") {
i++;
line = "";
while (!prevCmd[i].startsWith("-") && (i<prevCmd.size())) {
// split msr-file path-name into path and name
str = prevCmd[i];
idx = str.lastIndexOf("/");
str1 = str;
str.remove(idx, str.length()-idx);
fDataFilePaths << str;
str1.remove(0, idx+1);
fDataFileNames << str1;
line += str1 + " ";
i++;
}
line.remove(line.length()-1, 1);
fDataFileSelector_lineEdit->setText(line);
}
// background-range
if (prevCmd[i] == "-br") {
fBkgRangeStartBin_lineEdit->setText(prevCmd[++i]);
fBkgRangeEndBin_lineEdit->setText(prevCmd[++i]);
}
// fourier-option
if (prevCmd[i] == "-fo") {
if (prevCmd[i+1] == "real")
fFourierOption_comboBox->setCurrentIndex(MUSRFT_OPT_REAL);
else if (prevCmd[i+1] == "imag")
fFourierOption_comboBox->setCurrentIndex(MUSRFT_OPT_IMAG);
else if (prevCmd[i+1] == "real+imag")
fFourierOption_comboBox->setCurrentIndex(MUSRFT_OPT_REAL_AND_IMAG);
else if (prevCmd[i+1] == "power")
fFourierOption_comboBox->setCurrentIndex(MUSRFT_OPT_POWER);
else if (prevCmd[i+1] == "phase")
fFourierOption_comboBox->setCurrentIndex(MUSRFT_OPT_PHASE);
else
fFourierOption_comboBox->setCurrentIndex(MUSRFT_OPT_UNDEF);
i++;
}
// apodization
if (prevCmd[i] == "-ap") {
if (prevCmd[i+1] == "weak")
fApodization_comboBox->setCurrentIndex(MUSRFT_APOD_WEAK);
else if (prevCmd[i+1] == "medium")
fApodization_comboBox->setCurrentIndex(MUSRFT_APOD_MEDIUM);
else if (prevCmd[i+1] == "strong")
fApodization_comboBox->setCurrentIndex(MUSRFT_APOD_STRONG);
else
fApodization_comboBox->setCurrentIndex(MUSRFT_APOD_UNDEF);
i++;
}
// fourier-power
if (prevCmd[i] == "-fp") {
fFourierPower_lineEdit->setText(prevCmd[++i]);
}
// units
if (prevCmd[i] == "-u") {
if (prevCmd[i+1] == "Gauss")
fFourierUnits_comboBox->setCurrentIndex(MUSRFT_UNIT_GAUSS);
else if (prevCmd[i+1] == "Tesla")
fFourierUnits_comboBox->setCurrentIndex(MUSRFT_UNIT_TESLA);
else if (prevCmd[i+1] == "MHz")
fFourierUnits_comboBox->setCurrentIndex(MUSRFT_UNIT_FREQ);
else if (prevCmd[i+1] == "Mc/s")
fFourierUnits_comboBox->setCurrentIndex(MUSRFT_UNIT_CYCLE);
else
fFourierUnits_comboBox->setCurrentIndex(MUSRFT_UNIT_UNDEF);
i++;
}
// phase
if (prevCmd[i] == "-ph") {
// NOT YET IMPLEMENTED
}
// fourier-range
if (prevCmd[i] == "-fr") {
fFourierRangeStart_lineEdit->setText(prevCmd[++i]);
fFourierRangeEnd_lineEdit->setText(prevCmd[++i]);
}
// time-range
if (prevCmd[i] == "-tr") {
fTimeRangeStart_lineEdit->setText(prevCmd[++i]);
fTimeRangeEnd_lineEdit->setText(prevCmd[++i]);
}
// histo list
if (prevCmd[i] == "--histo") {
i++;
line = "";
while (!prevCmd[i].startsWith("-") && (i<prevCmd.size())) {
line += prevCmd[i++] + " ";
}
line.remove(line.length()-1, 1);
fHistoList_lineEdit->setText(line);
}
// average tag
if (prevCmd[i] == "-a") {
fAveragedView_checkBox->setCheckState(Qt::Checked);
}
// t0 list
if (prevCmd[i] == "--t0") {
i++;
line = "";
while (!prevCmd[i].startsWith("-") && (i<prevCmd.size())) {
line += prevCmd[i++] + " ";
}
line.remove(line.length()-1, 1);
fT0_lineEdit->setText(line);
}
// packing
if (prevCmd[i] == "-pa") {
fPacking_lineEdit->setText(prevCmd[++i]);
}
// title
if (prevCmd[i] == "--title") {
fFourierTitle_lineEdit->setText(prevCmd[i+1]);
}
// create msr-file tag
if (prevCmd[i] == "--create-msr-file") {
fCreateMsrFileName = prevCmd[++i];
fCreateMsrFile_checkBox->setCheckState(Qt::Checked);
}
// lifetime correction
if (prevCmd[i] == "-lc") {
fLifetimeCorrection_lineEdit->setText(prevCmd[++i]);
}
}
// connect all necessary single and slots
connect(fCurrentMsrFile_checkBox, SIGNAL( stateChanged(int) ), this, SLOT( currentMsrFileTagChanged(int) ) );
connect(fAllMsrFiles_checkBox, SIGNAL( stateChanged(int) ), this, SLOT( allMsrFileTagChanged(int) ) );
connect(fMsrFileSelector_pushButton, SIGNAL( clicked() ), this, SLOT( selectMsrFileNames() ) );
connect(fDataFileSelector_pushButton, SIGNAL( clicked() ), this, SLOT( selectDataFileNames() ) );
connect(fCreateMsrFile_checkBox, SIGNAL( stateChanged(int) ), this, SLOT( createMsrFileChanged(int) ) );
connect(fMsrFileNameClear_pushButton, SIGNAL (clicked() ), this, SLOT( clearMsrFileNames() ) );
connect(fDataFileNameClear_pushButton, SIGNAL (clicked() ), this, SLOT( clearDataFileNames() ) );
connect(fResetAll_pushButton, SIGNAL( clicked() ), this, SLOT( resetAll() ) );
}
//----------------------------------------------------------------------------------------------------
/**
* <p>returns the musrFT command line options.
*/
QStringList PGetMusrFTOptionsDialog::getMusrFTOptions()
{
QStringList cmd;
QString str("");
QStringList strList;
// check if currently active msr-file shall be used
if (fCurrentMsrFile_checkBox->checkState() == Qt::Checked) {
cmd << fCurrentMsrFileName;
} else {
// msr-files
for (int i=0; i<fMsrFilePaths.size(); i++) {
str = fMsrFilePaths[i]+"/"+fMsrFileNames[i];
cmd << str;
}
// data-files
if (fDataFilePaths.size() > 0) {
cmd << "-df";
for (int i=0; i<fDataFilePaths.size(); i++) {
str = fDataFilePaths[i]+"/"+fDataFileNames[i];
cmd << str;
}
}
}
// background range
if ((fBkgRangeStartBin_lineEdit->text().length() > 0) && (fBkgRangeEndBin_lineEdit->text().length() > 0)) {
cmd << "-br";
cmd << fBkgRangeStartBin_lineEdit->text();
cmd << fBkgRangeEndBin_lineEdit->text();
}
// background values
if (fBkgList_lineEdit->text().length() > 0) {
}
// fourier-option
if (fFourierOption_comboBox->currentText() != "UnDef") {
cmd << "-fo";
cmd << fFourierOption_comboBox->currentText();
}
// apodization
cmd << "-ap";
cmd << fApodization_comboBox->currentText();
// fourier-power
if (fFourierPower_lineEdit->text().length() > 0) {
cmd << "-fp";
cmd << fFourierPower_lineEdit->text();
}
// units
if (fFourierUnits_comboBox->currentText() != "UnDef") {
cmd << "-u";
cmd << fFourierUnits_comboBox->currentText();
}
// phase
// fourier-range
if ((fFourierRangeStart_lineEdit->text().length() > 0) && (fFourierRangeEnd_lineEdit->text().length() > 0)) {
cmd << "-fr";
cmd << fFourierRangeStart_lineEdit->text();
cmd << fFourierRangeEnd_lineEdit->text();
}
// time-range
if ((fTimeRangeStart_lineEdit->text().length() > 0) && (fTimeRangeEnd_lineEdit->text().length() > 0)) {
cmd << "-tr";
cmd << fTimeRangeStart_lineEdit->text();
cmd << fTimeRangeEnd_lineEdit->text();
}
// histo list
if (fHistoList_lineEdit->text().length() > 0) {
cmd << "--histo";
strList = fHistoList_lineEdit->text().split(" ", QString::SkipEmptyParts);
for (int i=0; i<strList.size(); i++)
cmd << strList[i];
}
// averaged view
if (fAveragedView_checkBox->checkState() == Qt::Checked)
cmd << "-a";
// t0 list
if (fT0_lineEdit->text().length() > 0) {
cmd << "--t0";
strList = fT0_lineEdit->text().split(" ", QString::SkipEmptyParts);
for (int i=0; i<strList.size(); i++)
cmd << strList[i];
}
// packing
if (fPacking_lineEdit->text().length() > 0) {
cmd << "-pa";
cmd << fPacking_lineEdit->text();
}
// title
if (fFourierTitle_lineEdit->text().length() > 0) {
cmd << "--title";
cmd << fFourierTitle_lineEdit->text();
}
// create-msr-file
if (fCreateMsrFile_checkBox->checkState() == Qt::Checked) {
cmd << "--create-msr-file";
cmd << fCreateMsrFileName;
}
// lifetimecorrection
if (fLifetimeCorrection_lineEdit->text().length() > 0) {
cmd << "-lc";
cmd << fLifetimeCorrection_lineEdit->text();
}
return cmd;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>SLOT called when fCurrentMsrFile_checkBox is checked/unchecked. If checked, it will clean up
* the msr-file path-file list and the data-file path-file list.
*/
void PGetMusrFTOptionsDialog::currentMsrFileTagChanged(int state)
{
if (state == Qt::Checked) {
fAllMsrFiles_checkBox->setCheckState(Qt::Unchecked);
// remove all msr-data-file-names and data-path-file-names
fMsrFilePaths.clear();
fMsrFileNames.clear();
fMsrFileSelector_lineEdit->setText("");
fDataFilePaths.clear();
fDataFileNames.clear();
fDataFileSelector_lineEdit->setText("");
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>SLOT called when fAllMsrFiles_checkBox is checked/unchecked. Currently it has no functionality.
*/
void PGetMusrFTOptionsDialog::allMsrFileTagChanged(int state)
{
if (state == Qt::Checked) {
fCurrentMsrFile_checkBox->setCheckState(Qt::Unchecked);
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>SLOT called when fMsrFileSelector_pushButton is clicked. Collects the msr-file path-name list.
*/
void PGetMusrFTOptionsDialog::selectMsrFileNames()
{
QStringList flns = QFileDialog::getOpenFileNames( this, tr("Open msr-File(s)"), tr( "./" ),
tr( "msr-Files (*.msr);;All Files (*)" ));
QString str(""), str1("");
int idx;
if (flns.size() > 0) {
// delete already present elements
fMsrFilePaths.clear();
fMsrFileNames.clear();
// split path-name into path and name
for (int i=0; i<flns.size(); i++) {
str = flns[i];
idx = str.lastIndexOf("/");
str1 = str;
str.remove(idx, str.length()-idx);
fMsrFilePaths << str;
str1.remove(0, idx+1);
fMsrFileNames << str1;
}
// populate fMsrFileSelector_lineEdit
str = QString("");
for (int i=0; i<fMsrFileNames.size()-1; i++) {
str += fMsrFileNames[i] + " ";
}
str += fMsrFileNames[fMsrFileNames.size()-1];
fMsrFileSelector_lineEdit->setText(str);
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>SLOT called when the fMsrFileNameClear_pushButton is clicked.
*/
void PGetMusrFTOptionsDialog::clearMsrFileNames()
{
fMsrFileSelector_lineEdit->setText("");
fMsrFilePaths.clear();
fMsrFileNames.clear();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>SLOT called when fDataFileSelector_pushButton is clicked. Collects the data-file path-name list.
*/
void PGetMusrFTOptionsDialog::selectDataFileNames()
{
QStringList flns = QFileDialog::getOpenFileNames( this, tr("Open msr-File(s)"), tr( "./" ),
tr( "data-Files (*.root *.bin *.msr *.nxs *.mdu);;All Files (*)" ));
QString str(""), str1("");
int idx;
if (flns.size() > 0) {
// delete already present elements
fDataFilePaths.clear();
fDataFileNames.clear();
// split path-name into path and name
for (int i=0; i<flns.size(); i++) {
str = flns[i];
idx = str.lastIndexOf("/");
str1 = str;
str.remove(idx, str.length()-idx);
fDataFilePaths << str;
str1.remove(0, idx+1);
fDataFileNames << str1;
}
// populate fMsrFileSelector_lineEdit
str = QString("");
for (int i=0; i<fDataFileNames.size()-1; i++) {
str += fDataFileNames[i] + " ";
}
str += fDataFileNames[fDataFileNames.size()-1];
fDataFileSelector_lineEdit->setText(str);
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>SLOT called when the fDataFileNameClear_pushButton is clicked.
*/
void PGetMusrFTOptionsDialog::clearDataFileNames()
{
fDataFileSelector_lineEdit->setText("");
fDataFilePaths.clear();
fDataFileNames.clear();
}
//----------------------------------------------------------------------------------------------------
/**
* <p>SLOT called when the create-msr-file tag has changed
*/
void PGetMusrFTOptionsDialog::createMsrFileChanged(int state)
{
if (state == Qt::Checked) {
fCreateMsrFileName = QFileDialog::getSaveFileName(this, tr("Create msr-file"), "./", tr("msr-Files (*.msr);;All Files (*)"));
if (fCreateMsrFileName.length() == 0)
fCreateMsrFile_checkBox->setCheckState(Qt::Unchecked);
} else {
fCreateMsrFileName = "";
}
}
//----------------------------------------------------------------------------------------------------
/**
* <p>SLOT called when the Reset All button is pressed. Will remove all settings.
*/
void PGetMusrFTOptionsDialog::resetAll()
{
fCurrentMsrFile_checkBox->setCheckState(Qt::Unchecked);
fAllMsrFiles_checkBox->setCheckState(Qt::Unchecked);
fMsrFilePaths.clear();
fMsrFileNames.clear();
fMsrFileSelector_lineEdit->setText("");
fDataFilePaths.clear();
fDataFileNames.clear();
fDataFileSelector_lineEdit->setText("");
fBkgRangeStartBin_lineEdit->setText("");
fBkgRangeEndBin_lineEdit->setText("");
fBkgList_lineEdit->setText("");
fApodization_comboBox->setCurrentIndex(MUSRFT_APOD_UNDEF);
fPacking_lineEdit->setText("");
fTimeRangeStart_lineEdit->setText("");
fTimeRangeEnd_lineEdit->setText("");
fHistoList_lineEdit->setText("");
fT0_lineEdit->setText("");
fFourierOption_comboBox->setCurrentIndex(MUSRFT_OPT_UNDEF);
fFourierUnits_comboBox->setCurrentIndex(MUSRFT_UNIT_UNDEF);
fFourierPower_lineEdit->setText("");
fLifetimeCorrection_lineEdit->setText("");
fFourierRangeStart_lineEdit->setText("");
fFourierRangeEnd_lineEdit->setText("");
fAveragedView_checkBox->setCheckState(Qt::Unchecked);
fCreateMsrFile_checkBox->setCheckState(Qt::Unchecked);
fFourierTitle_lineEdit->setText("");
}
//----------------------------------------------------------------------------------------------------
/**
* <p>Generates a help content window showing the description for musrFT.
*/
void PGetMusrFTOptionsDialog::helpContent()
{
if (fHelpUrl.isEmpty()) {
QMessageBox::information(this, "**INFO**", "Will eventually show a help window");
} else {
#ifdef _WIN32GCC
QMessageBox::information(this, "**INFO**", "If a newer Qt version was available, a help window would be shown!");
#else
PHelp *help = new PHelp(fHelpUrl);
help->show();
#endif // _WIN32GCC
}
}

View File

@ -0,0 +1,69 @@
/****************************************************************************
PGetMusrFTOptionsDialog.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
*****************************************************************************/
/***************************************************************************
* Copyright (C) 2010-2015 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _PGETMUSRFTOPTIONSDIALOG_H_
#define _PGETMUSRFTOPTIONSDIALOG_H_
#include <QDialog>
#include <QStringList>
#include "ui_PGetMusrFTOptionsDialog.h"
class PGetMusrFTOptionsDialog : public QDialog, private Ui::PGetMusrFTOptionsDialog
{
Q_OBJECT
public:
PGetMusrFTOptionsDialog(QString currentMsrFile, QStringList &prevCmd, const QString helpUrl);
QStringList getMusrFTOptions();
public slots:
void helpContent();
private slots:
void currentMsrFileTagChanged(int state);
void allMsrFileTagChanged(int state);
void selectMsrFileNames();
void clearMsrFileNames();
void selectDataFileNames();
void clearDataFileNames();
void createMsrFileChanged(int state);
void resetAll();
private:
QStringList fMsrFilePaths; ///< list keeping all the paths from the msr-file path-name list
QStringList fMsrFileNames; ///< list keeping all the names from the msr-file path-name list
QStringList fDataFilePaths; ///< list keeping all the paths from the data-file path-name list
QStringList fDataFileNames; ///< list keeping all the names from the data-file path-name list
QString fCreateMsrFileName; ///< keeps the msr-path-file name for msr-file creation
QString fCurrentMsrFileName; ///< keeps the msr-path-file name of the currently active msr-file in musredit.
QString fHelpUrl; ///< help url for the asymmetry run block
};
#endif // _PGETMUSRFTOPTIONSDIALOG_H_

View File

@ -55,6 +55,7 @@ using namespace std;
#include <QTextBlock>
#include <QTextDocumentFragment>
#include <QTextList>
#include <QProcess>
#include <QtDebug>
@ -68,6 +69,7 @@ using namespace std;
#include "PFitOutputHandler.h"
#include "PDumpOutputHandler.h"
#include "PPrefsDialog.h"
#include "PGetMusrFTOptionsDialog.h"
#include "PGetDefaultDialog.h"
#include "PMusrEditAbout.h"
#include "PMsr2DataDialog.h"
@ -550,6 +552,12 @@ void PTextEdit::setupMusrActions()
menu->addAction(fMusrT0Action);
fMusrT0Action->setEnabled(fAdmin->getEnableMusrT0Flag());
a = new QAction( QIcon( QPixmap (":/images/musrFT.xpm") ), tr( "Raw Fourier" ), this );
a->setStatusTip( tr("Start musrFT") );
connect( a, SIGNAL( triggered() ), this, SLOT( musrFT() ) );
tb->addAction(a);
menu->addAction(a);
a = new QAction( QIcon( QPixmap( ":/images/musrprefs.xpm" ) ), tr( "&Preferences" ), this );
a->setStatusTip( tr("Show Preferences") );
connect( a, SIGNAL( triggered() ), this, SLOT( musrPrefs() ) );
@ -2223,6 +2231,33 @@ void PTextEdit::musrT0()
QString fln = *fFilenames.find( currentEditor() );
}
//----------------------------------------------------------------------------------------------------
/**
* <p>Calls musrFT via selection/option dialog. It will ask the user if he/she wants to overwrite some
* of the default settings.
*/
void PTextEdit::musrFT()
{
PGetMusrFTOptionsDialog *dlg = new PGetMusrFTOptionsDialog(*fFilenames.find( currentEditor() ), fMusrFTPrevCmd, fAdmin->getHelpUrl("musrFT"));
if (dlg == 0) {
QMessageBox::critical(this, "**ERROR** musrFT", "Couldn't invoke musrFT Options Dialog.");
return;
}
if (dlg->exec() == QDialog::Accepted) {
fMusrFTPrevCmd = dlg->getMusrFTOptions();
QProcess proc(this);
proc.setStandardOutputFile("musrFT.log");
proc.setStandardErrorFile("musrFT.log");
proc.startDetached("musrFT", fMusrFTPrevCmd);
}
delete dlg;
dlg = 0;
}
//----------------------------------------------------------------------------------------------------
/**
* <p>Calls the preferences dialog which is used to set some global options.

View File

@ -131,6 +131,7 @@ private slots:
void musrMsr2Data();
void musrView();
void musrT0();
void musrFT();
void musrPrefs();
void musrSwapMsrMlog();
void musrDump();
@ -157,6 +158,7 @@ private:
bool fFileSystemWatcherActive; ///< flag to enable/disable the file system watcher
QTimer fFileSystemWatcherTimeout; ///< timer used to re-enable file system watcher. Needed to delay the re-enabling
QString fLastDirInUse; ///< string holding the path from where the last file was loaded.
QStringList fMusrFTPrevCmd;
QAction *fMusrT0Action;

View File

@ -0,0 +1,842 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PGetMusrFTOptionsDialog</class>
<widget class="QDialog" name="PGetMusrFTOptionsDialog">
<property name="windowModality">
<enum>Qt::WindowModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>711</width>
<height>650</height>
</rect>
</property>
<property name="windowTitle">
<string>musrFT Options</string>
</property>
<widget class="QGroupBox" name="fFourier_groupBox">
<property name="geometry">
<rect>
<x>20</x>
<y>400</y>
<width>671</width>
<height>201</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="title">
<string> Fourier </string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>641</width>
<height>156</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_22">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<widget class="QLabel" name="fFourierOptions_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Options&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fFourierOption_comboBox">
<item>
<property name="text">
<string>UnDef</string>
</property>
</item>
<item>
<property name="text">
<string>real</string>
</property>
</item>
<item>
<property name="text">
<string>imag</string>
</property>
</item>
<item>
<property name="text">
<string>real+imag</string>
</property>
</item>
<item>
<property name="text">
<string>power</string>
</property>
</item>
<item>
<property name="text">
<string>phase</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>218</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_14">
<item>
<widget class="QLabel" name="fFourierUnits_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Units&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fFourierUnits_comboBox">
<item>
<property name="text">
<string>UnDef</string>
</property>
</item>
<item>
<property name="text">
<string>Gauss</string>
</property>
</item>
<item>
<property name="text">
<string>Tesla</string>
</property>
</item>
<item>
<property name="text">
<string>MHz</string>
</property>
</item>
<item>
<property name="text">
<string>Mc/s</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_23">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_19">
<item>
<widget class="QLabel" name="fFourierPower_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Power&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fFourierPower_lineEdit"/>
</item>
</layout>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>88</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_17">
<item>
<widget class="QLabel" name="fLifetimeCorrection_label">
<property name="text">
<string>Lifetime Correction</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fLifetimeCorrection_lineEdit"/>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_20">
<item>
<widget class="QLabel" name="fFourierRange_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Range&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_16">
<item>
<widget class="QLabel" name="fFourierRangeStart_label">
<property name="text">
<string>Start</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fFourierRangeStart_lineEdit"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_15">
<item>
<widget class="QLabel" name="fFourierRangeEnd_label">
<property name="text">
<string>End</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fFourierRangeEnd_lineEdit"/>
</item>
</layout>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>118</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_18">
<item>
<widget class="QCheckBox" name="fAveragedView_checkBox">
<property name="text">
<string>Averaged View</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>278</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="fCreateMsrFile_checkBox">
<property name="text">
<string>Create msr-File</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_21">
<item>
<widget class="QLabel" name="fFourierTitle_label">
<property name="text">
<string>Title</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fFourierTitle_lineEdit"/>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="fHistoInfo_groupBox">
<property name="geometry">
<rect>
<x>20</x>
<y>160</y>
<width>671</width>
<height>231</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="title">
<string> Histo Info </string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>641</width>
<height>188</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="fBkgRange_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Background Range (in Bins)</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="fBkgStartBin_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:600; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;StartBin&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fBkgRangeStartBin_lineEdit"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="fBkgEndBin_label">
<property name="text">
<string>EndBin:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fBkgRangeEndBin_lineEdit"/>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="fBkgList_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Background List&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fBkgList_lineEdit"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="fApodization_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Apodization&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fApodization_comboBox">
<item>
<property name="text">
<string>none</string>
</property>
</item>
<item>
<property name="text">
<string>weak</string>
</property>
</item>
<item>
<property name="text">
<string>medium</string>
</property>
</item>
<item>
<property name="text">
<string>strong</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="fPacking_label">
<property name="text">
<string>Packing</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fPacking_lineEdit"/>
</item>
</layout>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>168</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="fTimeRange_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:600; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Time Range (usec)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QLabel" name="fTimeRangeStart_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:600; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Start&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fTimeRangeStart_lineEdit"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLabel" name="fTimeRangeEnd_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:600; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;End&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fTimeRangeEnd_lineEdit"/>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QLabel" name="fHistoList_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:600; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Histo List&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fHistoList_lineEdit"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<widget class="QLabel" name="fT0_label">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:10pt; font-weight:600; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;T0's&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fT0_lineEdit"/>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="fFileSelection_groupBox">
<property name="geometry">
<rect>
<x>20</x>
<y>10</y>
<width>671</width>
<height>141</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="title">
<string>File Selection</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>19</x>
<y>31</y>
<width>641</width>
<height>96</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_27">
<item>
<widget class="QCheckBox" name="fCurrentMsrFile_checkBox">
<property name="text">
<string>Current msr-File</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="fAllMsrFiles_checkBox">
<property name="text">
<string>ALL msr-Files</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>318</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_25">
<item>
<widget class="QPushButton" name="fMsrFileSelector_pushButton">
<property name="text">
<string>Select msr-File(s)</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fMsrFileSelector_lineEdit"/>
</item>
<item>
<widget class="QPushButton" name="fMsrFileNameClear_pushButton">
<property name="toolTip">
<string>clear msr-file name list</string>
</property>
<property name="text">
<string>Clear</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_26">
<item>
<widget class="QPushButton" name="fDataFileSelector_pushButton">
<property name="text">
<string>Select data-File(s)</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fDataFileSelector_lineEdit"/>
</item>
<item>
<widget class="QPushButton" name="fDataFileNameClear_pushButton">
<property name="toolTip">
<string>clear data-file name list</string>
</property>
<property name="text">
<string>Clear</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>20</x>
<y>610</y>
<width>671</width>
<height>29</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_24">
<item>
<widget class="QPushButton" name="fHelp_pushButton">
<property name="text">
<string>Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>78</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="fResetAll_pushButton">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Reset All</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<tabstops>
<tabstop>fCurrentMsrFile_checkBox</tabstop>
<tabstop>fAllMsrFiles_checkBox</tabstop>
<tabstop>fMsrFileSelector_pushButton</tabstop>
<tabstop>fMsrFileSelector_lineEdit</tabstop>
<tabstop>fMsrFileNameClear_pushButton</tabstop>
<tabstop>fDataFileSelector_pushButton</tabstop>
<tabstop>fDataFileSelector_lineEdit</tabstop>
<tabstop>fDataFileNameClear_pushButton</tabstop>
<tabstop>fBkgRangeStartBin_lineEdit</tabstop>
<tabstop>fBkgRangeEndBin_lineEdit</tabstop>
<tabstop>fBkgList_lineEdit</tabstop>
<tabstop>fApodization_comboBox</tabstop>
<tabstop>fPacking_lineEdit</tabstop>
<tabstop>fTimeRangeStart_lineEdit</tabstop>
<tabstop>fTimeRangeEnd_lineEdit</tabstop>
<tabstop>fHistoList_lineEdit</tabstop>
<tabstop>fT0_lineEdit</tabstop>
<tabstop>fFourierOption_comboBox</tabstop>
<tabstop>fFourierUnits_comboBox</tabstop>
<tabstop>fFourierPower_lineEdit</tabstop>
<tabstop>fLifetimeCorrection_lineEdit</tabstop>
<tabstop>fFourierRangeStart_lineEdit</tabstop>
<tabstop>fFourierRangeEnd_lineEdit</tabstop>
<tabstop>fAveragedView_checkBox</tabstop>
<tabstop>fCreateMsrFile_checkBox</tabstop>
<tabstop>fFourierTitle_lineEdit</tabstop>
<tabstop>fResetAll_pushButton</tabstop>
<tabstop>fHelp_pushButton</tabstop>
<tabstop>buttonBox</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>PGetMusrFTOptionsDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>683</x>
<y>611</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>PGetMusrFTOptionsDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>689</x>
<y>611</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>fHelp_pushButton</sender>
<signal>clicked()</signal>
<receiver>PGetMusrFTOptionsDialog</receiver>
<slot>helpContent()</slot>
<hints>
<hint type="sourcelabel">
<x>85</x>
<y>627</y>
</hint>
<hint type="destinationlabel">
<x>147</x>
<y>624</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>helpContent()</slot>
</slots>
</ui>

View File

@ -0,0 +1,28 @@
/* XPM */
static char *dummy[]={
"22 22 3 1",
". c None",
"# c #000000",
"a c #ff0000",
"..##....###...##......",
"......................",
"######################",
"......................",
".........a............",
".........a............",
".........a............",
".........a............",
".........aa...........",
"........aaa...........",
"........aaa...........",
"........a.a...........",
"........a.a...........",
".......aa.aa..........",
".......aa..aa.........",
"a.aaa..a....aaa...aa..",
"aa.aaa.a......aaa.aaaa",
"......a..........aa...",
"######################",
"......................",
".#######.####..####...",
"......................"};

View File

@ -83,6 +83,7 @@ HEADERS = musredit.h \
PFitOutputHandler.h \
PDumpOutputHandler.h \
PPrefsDialog.h \
PGetMusrFTOptionsDialog.h \
PGetDefaultDialog.h \
PGetTitleBlockDialog.h \
PGetParameterBlockDialog.h \
@ -106,6 +107,7 @@ SOURCES = PHelp.cpp \
PFitOutputHandler.cpp \
PDumpOutputHandler.cpp \
PPrefsDialog.cpp \
PGetMusrFTOptionsDialog.cpp \
PGetDefaultDialog.cpp \
PGetTitleBlockDialog.cpp \
PGetParameterBlockDialog.cpp \
@ -126,6 +128,7 @@ FORMS = forms/PFindDialog.ui \
forms/PGetDefaultDialog.ui \
forms/PMusrEditAbout.ui \
forms/PPrefsDialog.ui \
forms/PGetMusrFTOptionsDialog.ui \
forms/PGetTitleBlockDialog.ui \
forms/PGetParameterBlockDialog.ui \
forms/PGetTheoryBlockDialog.ui \

View File

@ -1,40 +1,41 @@
<RCC>
<qresource>
<file>images/editcopy.xpm</file>
<file>images/editcut.xpm</file>
<file>images/editfind.xpm</file>
<file>images/editnext.xpm</file>
<file>images/editpaste.xpm</file>
<file>images/editprevious.xpm</file>
<file>images/editredo.xpm</file>
<file>images/editundo.xpm</file>
<file>images/filenew.xpm</file>
<file>images/fileopen.xpm</file>
<file>images/fileprint.xpm</file>
<file>images/filereload.xpm</file>
<file>images/filesave.xpm</file>
<file>images/musrasym.xpm</file>
<file>images/musrcalcchisq.xpm</file>
<file>images/musrfit.xpm</file>
<file>images/musrmsr2data.xpm</file>
<file>images/musrprefs.xpm</file>
<file>images/musrsinglehisto.xpm</file>
<file>images/musrswap.xpm</file>
<file>images/musrt0.xpm</file>
<file>images/musrview.xpm</file>
<file>images/musrdump.xpm</file>
<file>latex_images/abragam.png</file>
<file>latex_images/asymmetry.png</file>
<file>latex_images/bessel.png</file>
<file>latex_images/combiLGKT.png</file>
<file>latex_images/generalExp.png</file>
<file>latex_images/internalBessel.png</file>
<file>latex_images/internalField.png</file>
<file>latex_images/polynom.png</file>
<file>latex_images/simpleExp.png</file>
<file>latex_images/simpleGauss.png</file>
<file>latex_images/statExpKT.png</file>
<file>latex_images/statGssKT.png</file>
<file>latex_images/tfCos.png</file>
</qresource>
<qresource prefix="/">
<file>images/editcopy.xpm</file>
<file>images/editcut.xpm</file>
<file>images/editfind.xpm</file>
<file>images/editnext.xpm</file>
<file>images/editpaste.xpm</file>
<file>images/editprevious.xpm</file>
<file>images/editredo.xpm</file>
<file>images/editundo.xpm</file>
<file>images/filenew.xpm</file>
<file>images/fileopen.xpm</file>
<file>images/fileprint.xpm</file>
<file>images/filereload.xpm</file>
<file>images/filesave.xpm</file>
<file>images/musrasym.xpm</file>
<file>images/musrcalcchisq.xpm</file>
<file>images/musrfit.xpm</file>
<file>images/musrmsr2data.xpm</file>
<file>images/musrprefs.xpm</file>
<file>images/musrsinglehisto.xpm</file>
<file>images/musrswap.xpm</file>
<file>images/musrt0.xpm</file>
<file>images/musrview.xpm</file>
<file>images/musrFT.xpm</file>
<file>images/musrdump.xpm</file>
<file>latex_images/abragam.png</file>
<file>latex_images/asymmetry.png</file>
<file>latex_images/bessel.png</file>
<file>latex_images/combiLGKT.png</file>
<file>latex_images/generalExp.png</file>
<file>latex_images/internalBessel.png</file>
<file>latex_images/internalField.png</file>
<file>latex_images/polynom.png</file>
<file>latex_images/simpleExp.png</file>
<file>latex_images/simpleGauss.png</file>
<file>latex_images/statExpKT.png</file>
<file>latex_images/statGssKT.png</file>
<file>latex_images/tfCos.png</file>
</qresource>
</RCC>

View File

@ -31,6 +31,7 @@
<musr_web_plot>file://@DOCDIR@/html/user/MUSR/MusrFit.html#ThePlotBlock</musr_web_plot>
<musr_web_statistic>file://@DOCDIR@/html/user/MUSR/MusrFit.html#TheStatisticBlock</musr_web_statistic>
<musr_web_msr2data>file://@DOCDIR@/html/user/MUSR/Msr2Data.html</musr_web_msr2data>
<musr_web_musrFT>file://@DOCDIR@/html/user/MUSR/MusrFit.html#A_2.3_musrFT</musr_web_musrFT>
</help_section>
<font_settings>
<font_name>Courier New</font_name>