add musrWiz to musredit_qt5 directly in musrfit.
This commit is contained in:
Binary file not shown.
1303
src/musredit_qt5/musrWiz/PAdmin.cpp
Normal file
1303
src/musredit_qt5/musrWiz/PAdmin.cpp
Normal file
File diff suppressed because it is too large
Load Diff
202
src/musredit_qt5/musrWiz/PAdmin.h
Normal file
202
src/musredit_qt5/musrWiz/PAdmin.h
Normal file
@ -0,0 +1,202 @@
|
||||
/****************************************************************************
|
||||
|
||||
PAdmin.h
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2010-2016 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 _PADMIN_H_
|
||||
#define _PADMIN_H_
|
||||
|
||||
#include <QObject>
|
||||
#include <QVector>
|
||||
#include <QtXml>
|
||||
|
||||
#include "PTheoTemplate.h"
|
||||
#include "PMusrfitFunc.h"
|
||||
#include "PInstrumentDef.h"
|
||||
|
||||
class PAdmin;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PFuncXMLParser : public QXmlDefaultHandler
|
||||
{
|
||||
public:
|
||||
PFuncXMLParser(PAdmin*);
|
||||
virtual ~PFuncXMLParser() {}
|
||||
|
||||
private:
|
||||
enum EFuncKeyWords {eEmpty,
|
||||
eTemplateName, eTemplateTheo, eTemplateFunc,
|
||||
eName, eAbbrv, eNoOfParam, eParam,
|
||||
eParamName, eParamValue, eParamMap};
|
||||
|
||||
bool startDocument();
|
||||
bool startElement(const QString&, const QString&, const QString& ,
|
||||
const QXmlAttributes& qAttr);
|
||||
bool endElement( const QString&, const QString&, const QString& );
|
||||
|
||||
bool characters(const QString&);
|
||||
bool endDocument();
|
||||
|
||||
bool warning( const QXmlParseException & exception );
|
||||
bool error( const QXmlParseException & exception );
|
||||
bool fatalError( const QXmlParseException & exception );
|
||||
|
||||
EFuncKeyWords fKeyWord; ///< key word tag to know how to handle the content
|
||||
PAdmin *fAdmin; ///< a pointer to the main administration class object
|
||||
|
||||
PTheoTemplate fTheoTemplate;
|
||||
PMusrfitFunc fFunc;
|
||||
PFuncParam fParam;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PInstrumentDefXMLParser : public QXmlDefaultHandler
|
||||
{
|
||||
public:
|
||||
PInstrumentDefXMLParser(PAdmin*);
|
||||
virtual ~PInstrumentDefXMLParser() {}
|
||||
|
||||
private:
|
||||
enum EKeyWords {eEmpty, eInstitute, eInstrument, eRunNameTemplate,
|
||||
eBeamline, eDataFileFormat, eTf, eZf, eLf,
|
||||
eNoOfDetectors, eFgbOffset, eLgb, eBkgRange,
|
||||
eLogicDetector};
|
||||
|
||||
bool startDocument();
|
||||
bool startElement(const QString&, const QString&, const QString& ,
|
||||
const QXmlAttributes& qAttr);
|
||||
bool endElement( const QString&, const QString&, const QString& );
|
||||
|
||||
bool characters(const QString&);
|
||||
bool endDocument();
|
||||
|
||||
bool warning( const QXmlParseException & exception );
|
||||
bool error( const QXmlParseException & exception );
|
||||
bool fatalError( const QXmlParseException & exception );
|
||||
|
||||
EKeyWords fKeyWord; ///< key word tag to know how to handle the content
|
||||
PAdmin *fAdmin; ///< a pointer to the main administration class object
|
||||
|
||||
QString fInstituteName;
|
||||
PInstrument *fInstrument;
|
||||
PSetup *fSetup;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PMusrWizDefault
|
||||
{
|
||||
public:
|
||||
PMusrWizDefault();
|
||||
~PMusrWizDefault() {}
|
||||
|
||||
QString getInstitute() { return fInstitute; }
|
||||
QString getInstrument() { return fInstrument; }
|
||||
QString getFitType() { return fFitType; }
|
||||
|
||||
void setInstitute(QString str) { fInstitute = str; }
|
||||
void setInstrument(QString str) { fInstrument = str; }
|
||||
void setFitType(QString str) { fFitType = str; }
|
||||
|
||||
private:
|
||||
QString fInstitute;
|
||||
QString fInstrument;
|
||||
QString fFitType;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PMusrWizDefaultXMLParser : public QXmlDefaultHandler
|
||||
{
|
||||
public:
|
||||
PMusrWizDefaultXMLParser(PAdmin*);
|
||||
virtual ~PMusrWizDefaultXMLParser() {}
|
||||
|
||||
private:
|
||||
enum EKeyWords {eEmpty, eInstitute, eInstrument, eFitType};
|
||||
|
||||
bool startDocument();
|
||||
bool startElement(const QString&, const QString&, const QString& ,
|
||||
const QXmlAttributes& );
|
||||
bool endElement( const QString&, const QString&, const QString& );
|
||||
|
||||
bool characters(const QString&);
|
||||
bool endDocument();
|
||||
|
||||
bool warning( const QXmlParseException & exception );
|
||||
bool error( const QXmlParseException & exception );
|
||||
bool fatalError( const QXmlParseException & exception );
|
||||
|
||||
EKeyWords fKeyWord; ///< key word tag to know how to handle the content
|
||||
PAdmin *fAdmin; ///< a pointer to the main administration class object
|
||||
|
||||
PMusrWizDefault fDefault;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PAdmin : public QObject
|
||||
{
|
||||
public:
|
||||
PAdmin();
|
||||
~PAdmin() {}
|
||||
|
||||
bool IsValid() { return fValid; }
|
||||
void dump(int tag);
|
||||
|
||||
QString getDefaultInstitute() { return fDefault.getInstitute(); }
|
||||
QString getDefaultInstrument() { return fDefault.getInstrument(); }
|
||||
QString getDefaultFitType() { return fDefault.getFitType(); }
|
||||
|
||||
QStringList getInstituteList();
|
||||
QStringList getInstrumentList(QString institute);
|
||||
PInstrument *getInstrument(QString institute, QString instrument);
|
||||
int getTheoTemplateSize() { return fTheoTemplate.size(); }
|
||||
QVector<PTheoTemplate> getTheoTemplates() { return fTheoTemplate; }
|
||||
PTheoTemplate getTheoTemplate(int idx);
|
||||
int getMusrfitFuncSize() { return fMusrfitFunc.size(); }
|
||||
QVector<PMusrfitFunc> getMusrfitFunc() { return fMusrfitFunc; }
|
||||
PMusrfitFunc getMusrfitFunc(QString name);
|
||||
|
||||
protected:
|
||||
int addInstrument(QString institute, PInstrument instrument);
|
||||
|
||||
private:
|
||||
friend class PFuncXMLParser;
|
||||
friend class PInstrumentDefXMLParser;
|
||||
friend class PMusrWizDefaultXMLParser;
|
||||
|
||||
bool fValid;
|
||||
|
||||
PMusrWizDefault fDefault;
|
||||
QVector<PInstitute> fInstitute;
|
||||
QVector<PTheoTemplate> fTheoTemplate;
|
||||
QVector<PMusrfitFunc> fMusrfitFunc;
|
||||
|
||||
int loadMusrWizDefault(QString fln);
|
||||
int loadMusrfitFunc(QString fln);
|
||||
int loadInstrumentDef(QString fln);
|
||||
};
|
||||
|
||||
#endif // _PADMIN_H_
|
153
src/musredit_qt5/musrWiz/PInstrumentDef.cpp
Normal file
153
src/musredit_qt5/musrWiz/PInstrumentDef.cpp
Normal file
@ -0,0 +1,153 @@
|
||||
/***************************************************************************
|
||||
|
||||
PInstrumentDef.cpp
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2007-2016 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 "PInstrumentDef.h"
|
||||
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
/**
|
||||
*
|
||||
*/
|
||||
PSetup::PSetup()
|
||||
{
|
||||
fName = "";
|
||||
fNoOfDetectors = -1;
|
||||
fFgbOffset = -1;
|
||||
fLgb = -1;
|
||||
fBkgStartBin = -1;
|
||||
fBkgEndBin = -1;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief PSetup::getDetector
|
||||
* @param idx
|
||||
* @return
|
||||
*/
|
||||
PDetector* PSetup::getDetector(int idx)
|
||||
{
|
||||
if (idx >= fLogicDetectors.size())
|
||||
return 0;
|
||||
|
||||
return &fLogicDetectors[idx];
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief PSetup::getAsymDetector
|
||||
* @param idx
|
||||
* @return
|
||||
*/
|
||||
PDetector* PSetup::getAsymDetector(int idx)
|
||||
{
|
||||
if (idx >= fLogicAsymDetectors.size())
|
||||
return 0;
|
||||
|
||||
return &fLogicAsymDetectors[idx];
|
||||
}
|
||||
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
/**
|
||||
*
|
||||
*/
|
||||
PInstrument::PInstrument()
|
||||
{
|
||||
fRunNameTemplate = "";
|
||||
fBeamline = "";
|
||||
fDataFileFormat = "";
|
||||
fInstitue = "";
|
||||
fName = "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief PInstrument::getZFSetup
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
PSetup* PInstrument::getZFSetup(QString name)
|
||||
{
|
||||
for (int i=0; i<fZF.size(); i++) {
|
||||
if (fZF[i].getName() == name)
|
||||
return &fZF[i];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief PInstrument::getTFSetup
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
PSetup* PInstrument::getTFSetup(QString name)
|
||||
{
|
||||
for (int i=0; i<fTF.size(); i++) {
|
||||
if (fTF[i].getName() == name)
|
||||
return &fTF[i];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief PInstrument::getLFSetup
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
PSetup* PInstrument::getLFSetup(QString name)
|
||||
{
|
||||
for (int i=0; i<fLF.size(); i++) {
|
||||
if (fLF[i].getName() == name)
|
||||
return &fLF[i];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
/**
|
||||
*
|
||||
*/
|
||||
PInstitute::PInstitute()
|
||||
{
|
||||
fName = "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
PInstrument *PInstitute::getInstrument(QString name)
|
||||
{
|
||||
for (int i=0; i<fInstrument.size(); i++) {
|
||||
if (fInstrument[i].getName() == name)
|
||||
return &fInstrument[i];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
163
src/musredit_qt5/musrWiz/PInstrumentDef.h
Normal file
163
src/musredit_qt5/musrWiz/PInstrumentDef.h
Normal file
@ -0,0 +1,163 @@
|
||||
/***************************************************************************
|
||||
|
||||
PInstrumentDef.h
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2007-2016 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 _PINSTRUMENTDEF_H_
|
||||
#define _PINSTRUMENTDEF_H_
|
||||
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PDetector
|
||||
{
|
||||
public:
|
||||
PDetector() {}
|
||||
~PDetector() {}
|
||||
|
||||
void setName(QString str) { fName = str; }
|
||||
void setRelGeomPhase(double phase) { fRelGeomPhase = phase; }
|
||||
void setForwards(QVector<int> num) { fForward = num; }
|
||||
void setBackwards(QVector<int> num) { fBackward = num; }
|
||||
void setAlpha(double alpha) { fAlpha = alpha; }
|
||||
|
||||
QString getName() { return fName; }
|
||||
double getRelGeomPhase() { return fRelGeomPhase; }
|
||||
QVector<int> getForwards() { return fForward; }
|
||||
QVector<int> getBackwards() { return fBackward; }
|
||||
double getAlpha() { return fAlpha; }
|
||||
|
||||
private:
|
||||
QString fName;
|
||||
QVector<int> fForward;
|
||||
QVector<int> fBackward;
|
||||
double fAlpha;
|
||||
double fRelGeomPhase;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PSetup
|
||||
{
|
||||
public:
|
||||
PSetup();
|
||||
~PSetup() {}
|
||||
|
||||
void setName(QString str) { fName = str; }
|
||||
void setNoOfDetectors(int no) { fNoOfDetectors = no; }
|
||||
void setFgbOffset(int fgbOffset) { fFgbOffset = fgbOffset; }
|
||||
void setLgb(int lgb) { fLgb = lgb; }
|
||||
void setBkgRange(int start, int end) { fBkgStartBin = start; fBkgEndBin = end; }
|
||||
void addDetector(PDetector detector) { fLogicDetectors.push_back(detector); }
|
||||
void addAsymDetector(PDetector detector) { fLogicAsymDetectors.push_back(detector); }
|
||||
|
||||
QString getName() { return fName; }
|
||||
int getNoOfDetectors() { return fNoOfDetectors; }
|
||||
int getNoOfLogicalDetectors() { return fLogicDetectors.size(); }
|
||||
int getNoOfLogicalAsymDetectors() { return fLogicAsymDetectors.size(); }
|
||||
int getFgbOffset() { return fFgbOffset; }
|
||||
int getLgb() { return fLgb; }
|
||||
int getBkgStartBin() { return fBkgStartBin; }
|
||||
int getBkgEndBin() { return fBkgEndBin; }
|
||||
PDetector* getDetector(int idx);
|
||||
PDetector* getAsymDetector(int idx);
|
||||
|
||||
private:
|
||||
QString fName;
|
||||
int fNoOfDetectors;
|
||||
int fFgbOffset;
|
||||
int fLgb;
|
||||
int fBkgStartBin;
|
||||
int fBkgEndBin;
|
||||
|
||||
QVector<PDetector> fLogicDetectors;
|
||||
QVector<PDetector> fLogicAsymDetectors;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PInstrument
|
||||
{
|
||||
public:
|
||||
PInstrument();
|
||||
~PInstrument() {}
|
||||
|
||||
void setRunNameTemplate(QString str) { fRunNameTemplate = str; }
|
||||
void setBeamline(QString str) { fBeamline = str; }
|
||||
void setDataFileFormat(QString str) { fDataFileFormat = str; }
|
||||
void setInstitue(QString str) { fInstitue = str; }
|
||||
void setName(QString str) { fName = str; }
|
||||
|
||||
void addSetupZF(PSetup zf) { fZF.push_back(zf); }
|
||||
void addSetupTF(PSetup tf) { fTF.push_back(tf); }
|
||||
void addSetupLF(PSetup lf) { fLF.push_back(lf); }
|
||||
|
||||
QString getRunNameTemplate() { return fRunNameTemplate; }
|
||||
QString getBeamline() { return fBeamline; }
|
||||
QString getDataFileFormat() { return fDataFileFormat; }
|
||||
QString getInstitute() { return fInstitue; }
|
||||
QString getName() { return fName; }
|
||||
|
||||
QVector<PSetup> getZFSetups() { return fZF; }
|
||||
QVector<PSetup> getTFSetups() { return fTF; }
|
||||
QVector<PSetup> getLFSetups() { return fLF; }
|
||||
|
||||
PSetup* getZFSetup(QString name="");
|
||||
PSetup* getTFSetup(QString name="");
|
||||
PSetup* getLFSetup(QString name="");
|
||||
|
||||
private:
|
||||
QString fRunNameTemplate;
|
||||
QString fBeamline;
|
||||
QString fDataFileFormat;
|
||||
QString fInstitue;
|
||||
QString fName;
|
||||
|
||||
QVector<PSetup> fZF;
|
||||
QVector<PSetup> fTF;
|
||||
QVector<PSetup> fLF;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PInstitute
|
||||
{
|
||||
public:
|
||||
PInstitute();
|
||||
~PInstitute() {}
|
||||
|
||||
void setName(QString str) { fName = str; }
|
||||
void addInstrument(PInstrument instrument) { fInstrument.push_back(instrument); }
|
||||
|
||||
QString getName() { return fName; }
|
||||
QVector<PInstrument> getInstruments() { return fInstrument; }
|
||||
PInstrument *getInstrument(QString name);
|
||||
|
||||
private:
|
||||
QString fName;
|
||||
QVector<PInstrument> fInstrument;
|
||||
};
|
||||
|
||||
#endif // _PINSTRUMENTDEF_H_
|
2573
src/musredit_qt5/musrWiz/PMusrWiz.cpp
Normal file
2573
src/musredit_qt5/musrWiz/PMusrWiz.cpp
Normal file
File diff suppressed because it is too large
Load Diff
412
src/musredit_qt5/musrWiz/PMusrWiz.h
Normal file
412
src/musredit_qt5/musrWiz/PMusrWiz.h
Normal file
@ -0,0 +1,412 @@
|
||||
/***************************************************************************
|
||||
|
||||
PMusrWiz.h
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2007-2016 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 _PMUSRWIZ_
|
||||
#define _PMUSRWIZ_
|
||||
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QWizard>
|
||||
#include <QWizardPage>
|
||||
#include <QObject>
|
||||
#include <QLineEdit>
|
||||
#include <QComboBox>
|
||||
#include <QCheckBox>
|
||||
#include <QPlainTextEdit>
|
||||
#include <QPushButton>
|
||||
#include <QLabel>
|
||||
#include <QFormLayout>
|
||||
|
||||
#include "musrWiz.h"
|
||||
#include "PAdmin.h"
|
||||
|
||||
#define INST_UNDEF 0
|
||||
#define INST_PSI 1
|
||||
#define INST_TRIUMF 2
|
||||
#define INST_ISIS 3
|
||||
#define INST_JPARC 4
|
||||
|
||||
#define FIT_TYPE_UNDEF 0
|
||||
#define FIT_TYPE_SINGLE_HISTO 1
|
||||
#define FIT_TYPE_SINGLE_HISTO_RRF 2
|
||||
#define FIT_TYPE_ASYMMETRY 3
|
||||
#define FIT_TYPE_ASYMMETRY_RRF 4
|
||||
#define FIT_TYPE_MU_MINUS 5
|
||||
#define FIT_TYPE_NONE_MUSR 6
|
||||
|
||||
#define MEASURE_UNDEF 0
|
||||
#define MEASURE_ZF 1
|
||||
#define MEASURE_TF 2
|
||||
#define MEASURE_LF 3
|
||||
|
||||
#define T0_FROM_FILE 0
|
||||
#define T0_FROM_MUSR_T0 1
|
||||
#define T0_ENTER_WIZ 2
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
typedef struct {
|
||||
QLineEdit *paramName;
|
||||
QLineEdit *paramVal;
|
||||
QLineEdit *paramStep;
|
||||
QLineEdit *paramBoundLow;
|
||||
QLineEdit *paramBoundHigh;
|
||||
} PParamGui;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PMsrData
|
||||
{
|
||||
public:
|
||||
PMsrData();
|
||||
~PMsrData();
|
||||
|
||||
void clearParam() { fParam.clear(); }
|
||||
void clearFunc() { fFunc.clear(); }
|
||||
void clearMap() { fMap.clear(); }
|
||||
|
||||
void setMsrPathName(QString str) { fMsrPathName = str; }
|
||||
void setMsrFileName(QString fileName) { fMsrFileName = fileName; }
|
||||
void appendMsrFileName(QString str) { fMsrFileName += str; }
|
||||
void setYear(QString year) { fYear = year; }
|
||||
void setRunNumber(int runNo) { fRunNumber = runNo; }
|
||||
void setInstitute(QString institute) { fInstitute = institute; }
|
||||
void setInstrument(QString instrument) { fInstrument = instrument; }
|
||||
void setSetup(QString setup) { fSetup = setup; }
|
||||
void setFitType(int fitType) { fFitType = fitType; }
|
||||
void setTypeOfMeasurement(int type) { fTypeOfMeasurement = type; }
|
||||
void setT0Tag(int tag) { fT0Tag = tag; }
|
||||
void setT0(int t0) { fT0 = t0; }
|
||||
void setTheory(QString str) { fTheo = str; }
|
||||
void setParam(QVector<PParam> param) { fParam = param; }
|
||||
void setParam(int idx, PParam param);
|
||||
void appendParam(QVector<PParam> param);
|
||||
void setMap(QVector<PParam> map) { fMap = map; }
|
||||
void setMap(int idx, PParam map);
|
||||
void appendMap(QVector<PParam> map);
|
||||
void setMapTemplateName(int idx, QString name);
|
||||
void setFunc(int funNo, QString str="??");
|
||||
void setPacking(int pack) { fPacking = abs(pack); }
|
||||
void setFitStart(double start) { fFitStart = start; }
|
||||
void setFitEnd(double end) { fFitEnd = end; }
|
||||
void setCmd(QString cmd) { fCommands = cmd; }
|
||||
void setTemplate(int templ) { fTemplate = templ; }
|
||||
void setTemplate(PTheoTemplate templ) { fTheoTempl = templ; }
|
||||
|
||||
QString getMsrPathName() { return fMsrPathName; }
|
||||
QString getMsrFileName() { return fMsrFileName; }
|
||||
QString getYear() { return fYear; }
|
||||
int getRunNumber() { return fRunNumber; }
|
||||
QString getInstitute() { return fInstitute; }
|
||||
QString getInstrument() { return fInstrument; }
|
||||
QString getSetup() { return fSetup; }
|
||||
int getFitType() { return fFitType; }
|
||||
QString getFitTypeString();
|
||||
int getTypeOfMeasurement() { return fTypeOfMeasurement; }
|
||||
int getT0Tag() { return fT0Tag; }
|
||||
int getT0() { return fT0; }
|
||||
QString getTheory() { return fTheo; }
|
||||
int getNoOfParam() { return fParam.size(); }
|
||||
PParam getParam(int idx);
|
||||
int getNoOfMap() { return fMap.size(); }
|
||||
PParam getMap(int idx);
|
||||
int getNoOfFunc() { return fFunc.size(); }
|
||||
int getFuncNo(int idx);
|
||||
bool isPresent(const QString funStr);
|
||||
QString getFunc(int funNo);
|
||||
QString getFuncAll();
|
||||
int getPacking() { return fPacking; }
|
||||
double getFitStart() { return fFitStart; }
|
||||
double getFitEnd() { return fFitEnd; }
|
||||
QString getCmd() { return fCommands; }
|
||||
bool isTemplate() { return (fTemplate == -1) ? false : true; }
|
||||
PTheoTemplate getTemplate() { return fTheoTempl; }
|
||||
|
||||
void sort(QString whichVec);
|
||||
void removeFunc(QVector<int> &funList);
|
||||
|
||||
private:
|
||||
int fTemplate;
|
||||
QString fMsrPathName;
|
||||
QString fMsrFileName;
|
||||
int fRunNumber;
|
||||
QString fInstitute;
|
||||
QString fInstrument;
|
||||
QString fSetup;
|
||||
int fFitType;
|
||||
int fTypeOfMeasurement;
|
||||
int fT0Tag;
|
||||
int fT0;
|
||||
QString fYear;
|
||||
int fPacking;
|
||||
double fFitStart;
|
||||
double fFitEnd;
|
||||
QString fCommands;
|
||||
|
||||
QString fTheo;
|
||||
|
||||
PTheoTemplate fTheoTempl;
|
||||
QVector<PParam> fParam;
|
||||
QVector<PFunc> fFunc;
|
||||
QVector<PParam> fMap;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PShowTheo : public QDialog
|
||||
{
|
||||
public:
|
||||
PShowTheo(QString theo, QString func = QString(""),
|
||||
QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags());
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PIntroPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PIntroPage(PAdmin *admin, PMsrData *data, QWidget *parent=0);
|
||||
|
||||
int nextId() const Q_DECL_OVERRIDE;
|
||||
bool validatePage();
|
||||
|
||||
private slots:
|
||||
void handleInstituteChanged(int idx);
|
||||
void handleFitType(int idx);
|
||||
void checkSetup(int idx);
|
||||
void handleT0(int idx);
|
||||
|
||||
private:
|
||||
PAdmin *fAdmin;
|
||||
PMsrData *fMsrData;
|
||||
|
||||
QLineEdit *fMsrFileName;
|
||||
QLineEdit *fYear;
|
||||
QLineEdit *fRunNumber;
|
||||
QComboBox *fInstitute;
|
||||
QComboBox *fInstrument;
|
||||
QComboBox *fFitType;
|
||||
QComboBox *fMeasurementType;
|
||||
QComboBox *fT0;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PTheoPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PTheoPage(PAdmin *admin, PMsrData *data, QWidget *parent=0);
|
||||
|
||||
int nextId() const Q_DECL_OVERRIDE;
|
||||
void initializePage();
|
||||
bool validatePage();
|
||||
|
||||
private slots:
|
||||
void templateState(int);
|
||||
void clearAll();
|
||||
void addTheory();
|
||||
void checkTheory();
|
||||
|
||||
private:
|
||||
PAdmin *fAdmin;
|
||||
PMsrData *fMsrData;
|
||||
|
||||
bool fTheoValid;
|
||||
bool fHaveMap;
|
||||
bool fHaveFunc;
|
||||
|
||||
int fTheoBlockNo;
|
||||
|
||||
QVector<PParam> fParamList;
|
||||
QVector<PParam> fMapList;
|
||||
QVector<int> fFunList;
|
||||
|
||||
QPlainTextEdit *fTheo;
|
||||
QCheckBox *fEditTemplate;
|
||||
QPushButton *fClearAll;
|
||||
QComboBox *fTheoSelect;
|
||||
QPushButton *fTheoAdd;
|
||||
QPushButton *fCheckTheo;
|
||||
|
||||
QString getTheoryFunction(int idx);
|
||||
bool analyzeTokens(QString str, int noOfTokens);
|
||||
void dealWithParam(QString theo, int paramNo, int paramIdx);
|
||||
void dealWithMap(QString theo, int mapNo, int paramIdx);
|
||||
void dealWithFun(int funNo);
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PFuncPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PFuncPage(PMsrData *data, QWidget *parent=0);
|
||||
|
||||
int nextId() const Q_DECL_OVERRIDE;
|
||||
void initializePage();
|
||||
void cleanupPage();
|
||||
bool validatePage();
|
||||
|
||||
private slots:
|
||||
void showTheo();
|
||||
|
||||
private:
|
||||
PMsrData *fMsrData;
|
||||
|
||||
QFormLayout *fMapPageLayout;
|
||||
QPlainTextEdit *fFunc;
|
||||
QPushButton *fShowTheo;
|
||||
|
||||
int getFuncNo(const QString str);
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PMapPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PMapPage(PMsrData *data, QWidget *parent=0);
|
||||
|
||||
int nextId() const Q_DECL_OVERRIDE;
|
||||
void initializePage();
|
||||
bool validatePage();
|
||||
|
||||
private slots:
|
||||
void showTheo();
|
||||
|
||||
private:
|
||||
PMsrData *fMsrData;
|
||||
|
||||
QFormLayout *fMapPageLayout;
|
||||
QVector<PParamGui> fMapGuiVec;
|
||||
QPushButton *fShowTheo;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PParamPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PParamPage(PMsrData *data, QWidget *parent=0);
|
||||
|
||||
int nextId() const Q_DECL_OVERRIDE;
|
||||
void initializePage();
|
||||
bool validatePage();
|
||||
|
||||
private slots:
|
||||
void showTheo();
|
||||
|
||||
private:
|
||||
PMsrData *fMsrData;
|
||||
|
||||
QFormLayout *fParameterPageLayout;
|
||||
QVector<PParamGui> fParamGuiVec;
|
||||
QPushButton *fShowTheo;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PFitInfoPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PFitInfoPage(PMsrData *data, QWidget *parent=0);
|
||||
|
||||
int nextId() const Q_DECL_OVERRIDE;
|
||||
void initializePage();
|
||||
bool validatePage();
|
||||
|
||||
private:
|
||||
PMsrData *fMsrData;
|
||||
|
||||
QLineEdit *fFitRangeStart;
|
||||
QLineEdit *fFitRangeEnd;
|
||||
QLineEdit *fPacking;
|
||||
QPlainTextEdit *fCommands;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PConclusionPage : public QWizardPage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PConclusionPage(PAdmin *admin, PMsrData *data, QString *msrFilePath, QWidget *parent=0);
|
||||
|
||||
private slots:
|
||||
void saveAsMsrFile();
|
||||
void saveAsTemplate();
|
||||
|
||||
private:
|
||||
QString *fMsrFilePath;
|
||||
PAdmin *fAdmin;
|
||||
PMsrData *fMsrData;
|
||||
|
||||
QPushButton *fSaveAsMsrFile;
|
||||
QPushButton *fSaveAsTemplate;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PMusrWiz : public QWizard
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
friend class PIntroPage;
|
||||
friend class PTheoPage;
|
||||
friend class PMapPage;
|
||||
friend class PFuncPage;
|
||||
friend class PParamPage;
|
||||
friend class PFitInfoPage;
|
||||
|
||||
public:
|
||||
PMusrWiz(QWidget *parent=Q_NULLPTR);
|
||||
PMusrWiz(PAdmin *admin, PMsrData *msrData, QWidget *parent=Q_NULLPTR);
|
||||
virtual ~PMusrWiz();
|
||||
|
||||
private slots:
|
||||
virtual int writeMsrFile(int result);
|
||||
virtual void help();
|
||||
|
||||
protected:
|
||||
enum {ePageIntro, ePageTheory, ePageMaps, ePageFunctions, ePageParameters, ePageFitInfo, ePageConclusion};
|
||||
|
||||
private:
|
||||
QString fMsrFilePath;
|
||||
PAdmin *fAdmin;
|
||||
PMsrData *fMsrData;
|
||||
|
||||
QString getRunName(PInstrument *instru);
|
||||
|
||||
virtual int writeMsrFileSingleHisto();
|
||||
virtual int writeMsrFileAsymmetry();
|
||||
};
|
||||
|
||||
#endif // _PMUSRWIZ_
|
56
src/musredit_qt5/musrWiz/PMusrfitFunc.cpp
Normal file
56
src/musredit_qt5/musrWiz/PMusrfitFunc.cpp
Normal file
@ -0,0 +1,56 @@
|
||||
/***************************************************************************
|
||||
|
||||
PMusrfitFunc.cpp
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2007-2016 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 "PMusrfitFunc.h"
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void PMusrfitFunc::initFunc()
|
||||
{
|
||||
fName = "UnDef";
|
||||
fAbbrv = "UnDef";
|
||||
fNoOfParam = -1;
|
||||
fParam.clear();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
PFuncParam PMusrfitFunc::getFuncParam(int idx)
|
||||
{
|
||||
PFuncParam param;
|
||||
|
||||
if ((idx >= 0) && (idx < fParam.size()))
|
||||
param = fParam[idx];
|
||||
|
||||
return param;
|
||||
}
|
84
src/musredit_qt5/musrWiz/PMusrfitFunc.h
Normal file
84
src/musredit_qt5/musrWiz/PMusrfitFunc.h
Normal file
@ -0,0 +1,84 @@
|
||||
/***************************************************************************
|
||||
|
||||
PMusrfitFunc.h
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2007-2016 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 _PMUSRFITFUNC_H_
|
||||
#define _PMUSRFITFUNC_H_
|
||||
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PFuncParam {
|
||||
public:
|
||||
PFuncParam() { initParam(); }
|
||||
~PFuncParam() {}
|
||||
|
||||
void initParam() { fName = "UnDef"; fValue = 0.0; fMap = false; }
|
||||
|
||||
void setParamName(QString name) { fName = name; }
|
||||
void setParamValue(double dval) { fValue = dval; }
|
||||
void setParamMap(bool isMap) { fMap = isMap; }
|
||||
|
||||
QString getParamName() { return fName; }
|
||||
double getParamValue() { return fValue; }
|
||||
bool isMap() { return fMap; }
|
||||
|
||||
private:
|
||||
QString fName;
|
||||
double fValue;
|
||||
bool fMap;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
class PMusrfitFunc {
|
||||
public:
|
||||
PMusrfitFunc() { initFunc(); }
|
||||
~PMusrfitFunc() {}
|
||||
|
||||
void initFunc();
|
||||
|
||||
void setName(QString name) { fName = name; }
|
||||
void setAbbrv(QString abbrv) { fAbbrv = abbrv; }
|
||||
void setNoOfParam(int ival) { fNoOfParam = ival; }
|
||||
void addFuncParam(PFuncParam param) { fParam.push_back(param); }
|
||||
|
||||
QString getName() { return fName; }
|
||||
QString getAbbrv() { return fAbbrv; }
|
||||
int getNoOfParam() { return fNoOfParam; }
|
||||
PFuncParam getFuncParam(int idx);
|
||||
QVector<PFuncParam> *getFuncParams() { return &fParam; }
|
||||
|
||||
private:
|
||||
QString fName;
|
||||
QString fAbbrv;
|
||||
int fNoOfParam;
|
||||
QVector<PFuncParam> fParam;
|
||||
};
|
||||
|
||||
#endif // _PMUSRFITFUNC_H_
|
156
src/musredit_qt5/musrWiz/PTheoTemplate.cpp
Normal file
156
src/musredit_qt5/musrWiz/PTheoTemplate.cpp
Normal file
@ -0,0 +1,156 @@
|
||||
/***************************************************************************
|
||||
|
||||
PTheoTemplate.cpp
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2007-2016 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 "PTheoTemplate.h"
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void PTheoTemplate::init()
|
||||
{
|
||||
fPreDefName = QString("");
|
||||
fTheory = QString("");
|
||||
fParam.clear();
|
||||
fFunc.clear();
|
||||
fMap.clear();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
QString PTheoTemplate::getFunc(int idx)
|
||||
{
|
||||
if ((idx < 0) || (idx >= fFunc.size()))
|
||||
return QString("");
|
||||
|
||||
return fFunc[idx];
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
int PTheoTemplate::getFuncNo(int idx)
|
||||
{
|
||||
if ((idx < 0) || (idx >= fFunc.size()))
|
||||
return -1;
|
||||
|
||||
QString funStr = fFunc[idx];
|
||||
int idxEnd = funStr.indexOf("=");
|
||||
funStr.remove(idxEnd, funStr.length()-idxEnd);
|
||||
funStr.remove(0,3);
|
||||
|
||||
bool ok;
|
||||
int ival = funStr.toInt(&ok);
|
||||
if (!ok)
|
||||
return -1;
|
||||
|
||||
return ival;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
PParam PTheoTemplate::getMap(int idx)
|
||||
{
|
||||
PParam map;
|
||||
|
||||
if ((idx < 0) || (idx >= fMap.size()))
|
||||
return map;
|
||||
|
||||
return fMap[idx];
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
PParam PTheoTemplate::getParam(int idx)
|
||||
{
|
||||
PParam param;
|
||||
|
||||
if ((idx < 0) || (idx >= fParam.size()))
|
||||
return param;
|
||||
|
||||
return fParam[idx];
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void PTheoTemplate::appendFunc(QString str)
|
||||
{
|
||||
// for now just push function string. In the future it might be
|
||||
// wise to check if the function is already present.
|
||||
fFunc.push_back(str);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void PTheoTemplate::appendMap(PParam map)
|
||||
{
|
||||
bool found = false;
|
||||
for (int i=0; i<fMap.size(); i++) {
|
||||
if (fMap[i].getNumber() == map.getNumber()) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
fMap.push_back(map);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void PTheoTemplate::appendParam(PParam param)
|
||||
{
|
||||
bool found = false;
|
||||
for (int i=0; i<fParam.size(); i++) {
|
||||
if (fParam[i].getNumber() == param.getNumber()) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
fParam.push_back(param);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// END
|
||||
//---------------------------------------------------------------------------
|
69
src/musredit_qt5/musrWiz/PTheoTemplate.h
Normal file
69
src/musredit_qt5/musrWiz/PTheoTemplate.h
Normal file
@ -0,0 +1,69 @@
|
||||
/***************************************************************************
|
||||
|
||||
PTheoTemplate.h
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2007-2016 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 _PTHEOTEMPLATE_H_
|
||||
#define _PTHEOTEMPLATE_H_
|
||||
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
|
||||
#include "musrWiz.h"
|
||||
|
||||
class PTheoTemplate {
|
||||
public:
|
||||
PTheoTemplate() { init(); }
|
||||
~PTheoTemplate() {}
|
||||
|
||||
void init();
|
||||
|
||||
QString getName() { return fPreDefName; }
|
||||
QString getTheory() { return fTheory; }
|
||||
int getNoOfFunc() { return fFunc.size(); }
|
||||
QString getFunc(int idx);
|
||||
int getFuncNo(int idx);
|
||||
int getNoOfMap() { return fMap.size(); }
|
||||
PParam getMap(int idx);
|
||||
int getNoOfParam() { return fParam.size(); }
|
||||
PParam getParam(int idx);
|
||||
|
||||
void setName(QString str) { fPreDefName = str; }
|
||||
void setTheory(QString str) { fTheory = str; }
|
||||
void appendFunc(QString str);
|
||||
void appendParam(PParam param);
|
||||
void appendMap(PParam map);
|
||||
|
||||
private:
|
||||
QString fPreDefName;
|
||||
QString fTheory;
|
||||
QVector<PParam> fParam;
|
||||
QVector<QString> fFunc;
|
||||
QVector<PParam> fMap;
|
||||
};
|
||||
|
||||
#endif // _PTHEOTEMPLATE_H_
|
1
src/musredit_qt5/musrWiz/README.md
Normal file
1
src/musredit_qt5/musrWiz/README.md
Normal file
@ -0,0 +1 @@
|
||||
A wizard to create msr-files for a given instrument from scratch
|
502
src/musredit_qt5/musrWiz/func_defs/musrfit_funcs.xml
Normal file
502
src/musredit_qt5/musrWiz/func_defs/musrfit_funcs.xml
Normal file
@ -0,0 +1,502 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<musrfit-functions>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<!-- theory function templates -->
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<theo_template>
|
||||
<pre_def_name>T: 1 [exp x cos](TF)</pre_def_name>
|
||||
<theory>a 1\nse 2\ntf fun1 4</theory>
|
||||
<theo_fun>fun1=par3+map1</theo_fun>
|
||||
<theo_map no="1" name="RelPh"/>
|
||||
<template_param no="1" name="Asy" value="0.2" step="0.02"/>
|
||||
<template_param no="2" name="Lambda" value="0.5" step="0.02"/>
|
||||
<template_param no="3" name="Ph" value="0.0" step="10.0"/>
|
||||
<template_param no="4" name="Frq" value="100.0" step="1.0"/>
|
||||
</theo_template>
|
||||
<theo_template>
|
||||
<pre_def_name>T: 2 [exp x cos](TF)</pre_def_name>
|
||||
<theory>a 1\nse 2\ntf fun1 4\n+\na 5\nse 6\ntf fun1 7</theory>
|
||||
<theo_fun>fun1=par3+map1</theo_fun>
|
||||
<theo_map no="1" name="RelPh"/>
|
||||
<template_param no="1" name="Asy_0" value="0.1" step="0.02"/>
|
||||
<template_param no="2" name="Lambda_0" value="0.5" step="0.02"/>
|
||||
<template_param no="3" name="Ph" value="0.0" step="10.0"/>
|
||||
<template_param no="4" name="Frq_0" value="100.0" step="1.0"/>
|
||||
<template_param no="5" name="Asy_1" value="0.1" step="0.02"/>
|
||||
<template_param no="6" name="Lambda_1" value="0.5" step="0.02"/>
|
||||
<template_param no="7" name="Frq_1" value="110.0" step="1.0"/>
|
||||
</theo_template>
|
||||
<theo_template>
|
||||
<pre_def_name>T: 3 [exp x cos](TF)</pre_def_name>
|
||||
<theory>a 1\nse 2\ntf fun1 4\n+\na 5\nse 6\ntf fun1 7\n+\na 8\nse 9\ntf fun1 10</theory>
|
||||
<theo_fun>fun1=par3+map1</theo_fun>
|
||||
<theo_map no="1" name="RelPh"/>
|
||||
<template_param no="1" name="Asy_0" value="0.1" step="0.02"/>
|
||||
<template_param no="2" name="Lambda_0" value="0.5" step="0.02"/>
|
||||
<template_param no="3" name="Ph" value="0.0" step="10.0"/>
|
||||
<template_param no="4" name="Frq_0" value="100.0" step="1.0"/>
|
||||
<template_param no="5" name="Asy_1" value="0.1" step="0.02"/>
|
||||
<template_param no="6" name="Lambda_1" value="0.5" step="0.1"/>
|
||||
<template_param no="7" name="Frq_1" value="110.0" step="1.0"/>
|
||||
<template_param no="8" name="Asy_2" value="0.1" step="0.02"/>
|
||||
<template_param no="9" name="Lambda_2" value="1.5" step="0.1"/>
|
||||
<template_param no="10" name="Frq_2" value="120.0" step="1.0"/>
|
||||
</theo_template>
|
||||
<theo_template>
|
||||
<pre_def_name>T: 1 [gauss x cos](TF)</pre_def_name>
|
||||
<theory>a 1\nsg 2\ntf fun1 4</theory>
|
||||
<theo_fun>fun1=par3+map1</theo_fun>
|
||||
<theo_map no="1" name="RelPh"/>
|
||||
<template_param no="1" name="Asy" value="0.2" step="0.02"/>
|
||||
<template_param no="2" name="Sigma" value="0.5" step="0.02"/>
|
||||
<template_param no="3" name="Ph" value="0.0" step="10.0"/>
|
||||
<template_param no="4" name="Frq" value="100.0" step="1.0"/>
|
||||
</theo_template>
|
||||
<theo_template>
|
||||
<pre_def_name>T: 2 [gauss x cos](TF)</pre_def_name>
|
||||
<theory>a 1\nsg 2\ntf fun1 4\n+\na 5\nsg 6\ntf fun1 7</theory>
|
||||
<theo_fun>fun1=par3+map1</theo_fun>
|
||||
<theo_map no="1" name="RelPh"/>
|
||||
<template_param no="1" name="Asy_0" value="0.1" step="0.02"/>
|
||||
<template_param no="2" name="Sigma_0" value="0.5" step="0.02"/>
|
||||
<template_param no="3" name="Ph" value="0.0" step="10.0"/>
|
||||
<template_param no="4" name="Frq_0" value="100.0" step="1.0"/>
|
||||
<template_param no="5" name="Asy_1" value="0.1" step="0.02"/>
|
||||
<template_param no="6" name="Sigma_1" value="0.5" step="0.02"/>
|
||||
<template_param no="7" name="Frq_1" value="110.0" step="1.0"/>
|
||||
</theo_template>
|
||||
<theo_template>
|
||||
<pre_def_name>T: 3 [gauss x cos](TF)</pre_def_name>
|
||||
<theory>a 1\nsg 2\ntf fun1 4\n+\na 5\nsg 6\ntf fun1 7\n+\na 8\nsg 9\ntf fun1 10</theory>
|
||||
<theo_fun>fun1=par3+map1</theo_fun>
|
||||
<theo_map no="1" name="RelPh"/>
|
||||
<template_param no="1" name="Asy_0" value="0.1" step="0.02"/>
|
||||
<template_param no="2" name="Sigma_0" value="0.5" step="0.02"/>
|
||||
<template_param no="3" name="Ph" value="0.0" step="10.0"/>
|
||||
<template_param no="4" name="Frq_0" value="100.0" step="1.0"/>
|
||||
<template_param no="5" name="Asy_1" value="0.1" step="0.02"/>
|
||||
<template_param no="6" name="Sigma_1" value="0.5" step="0.1"/>
|
||||
<template_param no="7" name="Frq_1" value="110.0" step="1.0"/>
|
||||
<template_param no="8" name="Asy_2" value="0.1" step="0.02"/>
|
||||
<template_param no="9" name="Sigma_2" value="1.5" step="0.1"/>
|
||||
<template_param no="10" name="Frq_2" value="120.0" step="1.0"/>
|
||||
</theo_template>
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<!-- List of all predefined theory functions -->
|
||||
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<!-- Asymmetry -->
|
||||
<func>
|
||||
<name>asymmetry</name>
|
||||
<abbrv>a</abbrv>
|
||||
<no_of_parameters>1</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Asym</param_name>
|
||||
<param_value>0.2</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- Exp -->
|
||||
<func>
|
||||
<name>simplExpo</name>
|
||||
<abbrv>se</abbrv>
|
||||
<no_of_parameters>1</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- Gaussian -->
|
||||
<func>
|
||||
<name>simpleGss</name>
|
||||
<abbrv>sg</abbrv>
|
||||
<no_of_parameters>1</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Sigma</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- Streteched Exp -->
|
||||
<func>
|
||||
<name>generExpo</name>
|
||||
<abbrv>ge</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Beta</param_name>
|
||||
<param_value>1.5</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- Cos -->
|
||||
<func>
|
||||
<name>TFieldCos</name>
|
||||
<abbrv>tf</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Ph</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
<param_is_map>y</param_is_map>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Freq</param_name>
|
||||
<param_value>10.0</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- internal field -->
|
||||
<func>
|
||||
<name>internFld</name>
|
||||
<abbrv>if</abbrv>
|
||||
<no_of_parameters>5</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Weight</param_name>
|
||||
<param_value>0.66</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Ph</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Freq</param_name>
|
||||
<param_value>10.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>LambdaT</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>LambdaL</param_name>
|
||||
<param_value>0.1</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- Bessel -->
|
||||
<func>
|
||||
<name>Bessel</name>
|
||||
<abbrv>b</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Ph</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Freq</param_name>
|
||||
<param_value>10.0</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- internal Bessel -->
|
||||
<func>
|
||||
<name>internBsl</name>
|
||||
<abbrv>ib</abbrv>
|
||||
<no_of_parameters>5</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Weight</param_name>
|
||||
<param_value>0.66</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Ph</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Freq</param_name>
|
||||
<param_value>10.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>LambdaT</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>LambdaL</param_name>
|
||||
<param_value>0.1</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- GKT ZF -->
|
||||
<func>
|
||||
<name>statGssKT</name>
|
||||
<abbrv>stg</abbrv>
|
||||
<no_of_parameters>1</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Sigma</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- GKT LF -->
|
||||
<func>
|
||||
<name>statGssKTLF</name>
|
||||
<abbrv>sgktlf</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Hopp</param_name>
|
||||
<param_value>0.1</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Sigma</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- GKT LF dynamic -->
|
||||
<func>
|
||||
<name>dynGssKTLF</name>
|
||||
<abbrv>dgktlf</abbrv>
|
||||
<no_of_parameters>3</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Freq</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Sigma</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Gamma</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- expKT ZF -->
|
||||
<func>
|
||||
<name>statExpKT</name>
|
||||
<abbrv>sekt</abbrv>
|
||||
<no_of_parameters>1</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- expKT LF -->
|
||||
<func>
|
||||
<name>statExpKTLF</name>
|
||||
<abbrv>sektlf</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Hopp</param_name>
|
||||
<param_value>0.1</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- expKT LF dynamic -->
|
||||
<func>
|
||||
<name>dynExpKTLF</name>
|
||||
<abbrv>dektlf</abbrv>
|
||||
<no_of_parameters>3</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Freq</param_name>
|
||||
<param_value>0.1</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Gamma</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- KT Exp+Gaussian ZF -->
|
||||
<func>
|
||||
<name>combiLGKT</name>
|
||||
<abbrv>lgkt</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>0.2</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Sigma</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- KT Stretched -->
|
||||
<func>
|
||||
<name>strKT</name>
|
||||
<abbrv>skt</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Sigma</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Beta</param_name>
|
||||
<param_value>2.0</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- Spin Glass Function -->
|
||||
<func>
|
||||
<name>spinGlass</name>
|
||||
<abbrv>spg</abbrv>
|
||||
<no_of_parameters>3</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Gamma</param_name>
|
||||
<param_value>0.1</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>q</param_name>
|
||||
<param_value>0.8</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- Random Anisotropy Hyperfine Fiels -->
|
||||
<func>
|
||||
<name>rdAnisoHf</name>
|
||||
<abbrv>rahf</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Nu</param_name>
|
||||
<param_value>1.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- Abragam -->
|
||||
<func>
|
||||
<name>abragam</name>
|
||||
<abbrv>ab</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Sigma</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Gamma</param_name>
|
||||
<param_value>0.2</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- skewed Gaussian -->
|
||||
<func>
|
||||
<name>skewedGss</name>
|
||||
<abbrv>skg</abbrv>
|
||||
<no_of_parameters>4</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Ph</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Freq</param_name>
|
||||
<param_value>10.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>SigmaPlus</param_name>
|
||||
<param_value>1.1</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>SigmaMinus</param_name>
|
||||
<param_value>0.3</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- static Noakes Kalvius ZF function -->
|
||||
<func>
|
||||
<name>staticNKZF</name>
|
||||
<abbrv>snkzf</abbrv>
|
||||
<no_of_parameters>2</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Delta</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Rb</param_name>
|
||||
<param_value>0.2</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- static Noakes Kalvius TF function -->
|
||||
<func>
|
||||
<name>staticNKTF</name>
|
||||
<abbrv>snktf</abbrv>
|
||||
<no_of_parameters>4</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Ph</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Frq</param_name>
|
||||
<param_value>10.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Delta</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Rb</param_name>
|
||||
<param_value>0.2</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- dynamic Noakes Kalvius ZF function -->
|
||||
<func>
|
||||
<name>dynamicNKZF</name>
|
||||
<abbrv>dnkzf</abbrv>
|
||||
<no_of_parameters>3</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Delta</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Rb</param_name>
|
||||
<param_value>0.2</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Hopp</param_name>
|
||||
<param_value>1.0</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- dynamic Noakes Kalvius TF function -->
|
||||
<func>
|
||||
<name>dynamicNKTF</name>
|
||||
<abbrv>dnktf</abbrv>
|
||||
<no_of_parameters>5</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>Ph</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Frq</param_name>
|
||||
<param_value>10.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Delta</param_name>
|
||||
<param_value>0.5</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Rb</param_name>
|
||||
<param_value>0.2</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Hopp</param_name>
|
||||
<param_value>1.0</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
<!-- mu^- exp TF -->
|
||||
<func>
|
||||
<name>muMinusExpTF</name>
|
||||
<abbrv>mmsetf</abbrv>
|
||||
<no_of_parameters>6</no_of_parameters>
|
||||
<parameter>
|
||||
<param_name>N0</param_name>
|
||||
<param_value>100.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Tau</param_name>
|
||||
<param_value>1.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Asym</param_name>
|
||||
<param_value>0.08</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Lambda</param_name>
|
||||
<param_value>1.1</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Ph</param_name>
|
||||
<param_value>0.0</param_value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<param_name>Frq</param_name>
|
||||
<param_value>10.2</param_value>
|
||||
</parameter>
|
||||
</func>
|
||||
</musrfit-functions>
|
161
src/musredit_qt5/musrWiz/icons/musrWiz-22x22-dark.svg
Normal file
161
src/musredit_qt5/musrWiz/icons/musrWiz-22x22-dark.svg
Normal file
@ -0,0 +1,161 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 22.000001 22"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="musrWiz-22x22-dark.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 11 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="22 : 11 : 1"
|
||||
inkscape:persp3d-origin="11 : 7.3333333 : 1"
|
||||
id="perspective3013" />
|
||||
<inkscape:perspective
|
||||
id="perspective3023"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3066"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3088"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="31.054545"
|
||||
inkscape:cx="-4.212784"
|
||||
inkscape:cy="11.88778"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
units="pt"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1382"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="-3"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-grids="true"
|
||||
showguides="true"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid5486" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1030.3622)">
|
||||
<rect
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
|
||||
id="rect3029"
|
||||
width="19"
|
||||
height="3"
|
||||
x="-741.21826"
|
||||
y="742.63245"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
|
||||
rx="0.40000001" />
|
||||
<rect
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
|
||||
id="rect3052"
|
||||
width="3"
|
||||
height="3"
|
||||
x="-720.23883"
|
||||
y="742.63245"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
|
||||
rx="0.40000001" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
|
||||
id="path3056"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="3"
|
||||
sodipodi:cy="1"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.2"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="M 6,1 C 6,1.2312754 4.0120646,1.6849918 3.8485282,1.8485282 3.6849918,2.0120646 3.2312754,4 3,4 2.7687246,4 2.3150082,2.0120646 2.1514718,1.8485282 1.9879354,1.6849918 0,1.2312754 0,1 0,0.7687246 1.9879354,0.31500824 2.1514718,0.15147183 2.3150082,-0.01206457 2.7687246,-2 3,-2 3.2312754,-2 3.6849918,-0.01206458 3.8485282,0.15147183 4.0120646,0.31500823 6,0.7687246 6,1 Z"
|
||||
transform="translate(1.0000003,1036.3622)" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
|
||||
id="path3056-3"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="3"
|
||||
sodipodi:cy="1"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.2"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="M 6,1 C 6,1.2312754 4.0120646,1.6849918 3.8485282,1.8485282 3.6849918,2.0120646 3.2312754,4 3,4 2.7687246,4 2.3150082,2.0120646 2.1514718,1.8485282 1.9879354,1.6849918 0,1.2312754 0,1 0,0.7687246 1.9879354,0.31500824 2.1514718,0.15147183 2.3150082,-0.01206457 2.7687246,-2 3,-2 3.2312754,-2 3.6849918,-0.01206458 3.8485282,0.15147183 4.0120646,0.31500823 6,0.7687246 6,1 Z"
|
||||
transform="matrix(0.66725213,0,0,0.66725213,7.9964878,1032.6949)" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
|
||||
id="path3056-3-4"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="3"
|
||||
sodipodi:cy="1"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.2"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="M 6,1 C 6,1.2312754 4.0120646,1.6849918 3.8485282,1.8485282 3.6849918,2.0120646 3.2312754,4 3,4 2.7687246,4 2.3150082,2.0120646 2.1514718,1.8485282 1.9879354,1.6849918 0,1.2312754 0,1 0,0.7687246 1.9879354,0.31500824 2.1514718,0.15147183 2.3150082,-0.01206457 2.7687246,-2 3,-2 3.2312754,-2 3.6849918,-0.01206458 3.8485282,0.15147183 4.0120646,0.31500823 6,0.7687246 6,1 Z"
|
||||
transform="matrix(0.66725213,0,0,0.66725213,14.996488,1044.6949)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.8 KiB |
BIN
src/musredit_qt5/musrWiz/icons/musrWiz-22x22.png
Normal file
BIN
src/musredit_qt5/musrWiz/icons/musrWiz-22x22.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 387 B |
161
src/musredit_qt5/musrWiz/icons/musrWiz-22x22.svg
Normal file
161
src/musredit_qt5/musrWiz/icons/musrWiz-22x22.svg
Normal file
@ -0,0 +1,161 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 22.000001 22"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="musrWiz.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 11 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="22 : 11 : 1"
|
||||
inkscape:persp3d-origin="11 : 7.3333333 : 1"
|
||||
id="perspective3013" />
|
||||
<inkscape:perspective
|
||||
id="perspective3023"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3066"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3088"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="31.054545"
|
||||
inkscape:cx="1.6961739"
|
||||
inkscape:cy="11.952183"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
units="pt"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1380"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="-3"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-grids="true"
|
||||
showguides="true"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid5486" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1030.3622)">
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="rect3029"
|
||||
width="19"
|
||||
height="3"
|
||||
x="-741.21826"
|
||||
y="742.63245"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
|
||||
rx="0.40000001" />
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="rect3052"
|
||||
width="3"
|
||||
height="3"
|
||||
x="-720.23883"
|
||||
y="742.63245"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
|
||||
rx="0.40000001" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="path3056"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="3"
|
||||
sodipodi:cy="1"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.2"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="M 6,1 C 6,1.2312754 4.0120646,1.6849918 3.8485282,1.8485282 3.6849918,2.0120646 3.2312754,4 3,4 2.7687246,4 2.3150082,2.0120646 2.1514718,1.8485282 1.9879354,1.6849918 0,1.2312754 0,1 0,0.7687246 1.9879354,0.31500824 2.1514718,0.15147183 2.3150082,-0.01206457 2.7687246,-2 3,-2 3.2312754,-2 3.6849918,-0.01206458 3.8485282,0.15147183 4.0120646,0.31500823 6,0.7687246 6,1 z"
|
||||
transform="translate(1.0000003,1036.3622)" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="path3056-3"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="3"
|
||||
sodipodi:cy="1"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.2"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="M 6,1 C 6,1.2312754 4.0120646,1.6849918 3.8485282,1.8485282 3.6849918,2.0120646 3.2312754,4 3,4 2.7687246,4 2.3150082,2.0120646 2.1514718,1.8485282 1.9879354,1.6849918 0,1.2312754 0,1 0,0.7687246 1.9879354,0.31500824 2.1514718,0.15147183 2.3150082,-0.01206457 2.7687246,-2 3,-2 3.2312754,-2 3.6849918,-0.01206458 3.8485282,0.15147183 4.0120646,0.31500823 6,0.7687246 6,1 z"
|
||||
transform="matrix(0.66725213,0,0,0.66725213,7.9964878,1032.6949)" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="path3056-3-4"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="3"
|
||||
sodipodi:cy="1"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.2"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="M 6,1 C 6,1.2312754 4.0120646,1.6849918 3.8485282,1.8485282 3.6849918,2.0120646 3.2312754,4 3,4 2.7687246,4 2.3150082,2.0120646 2.1514718,1.8485282 1.9879354,1.6849918 0,1.2312754 0,1 0,0.7687246 1.9879354,0.31500824 2.1514718,0.15147183 2.3150082,-0.01206457 2.7687246,-2 3,-2 3.2312754,-2 3.6849918,-0.01206458 3.8485282,0.15147183 4.0120646,0.31500823 6,0.7687246 6,1 z"
|
||||
transform="matrix(0.66725213,0,0,0.66725213,14.996488,1044.6949)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.8 KiB |
160
src/musredit_qt5/musrWiz/icons/musrWiz-32x32-dark.svg
Normal file
160
src/musredit_qt5/musrWiz/icons/musrWiz-32x32-dark.svg
Normal file
@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
viewBox="0 0 32.000001 32"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="musrWiz-32x32-dark.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 11 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="22 : 11 : 1"
|
||||
inkscape:persp3d-origin="11 : 7.3333333 : 1"
|
||||
id="perspective3013" />
|
||||
<inkscape:perspective
|
||||
id="perspective3023"
|
||||
inkscape:persp3d-origin="0.49999999 : 0.33333333 : 1"
|
||||
inkscape:vp_z="0.99999999 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3066"
|
||||
inkscape:persp3d-origin="0.49999999 : 0.33333333 : 1"
|
||||
inkscape:vp_z="0.99999999 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3088"
|
||||
inkscape:persp3d-origin="0.49999999 : 0.33333333 : 1"
|
||||
inkscape:vp_z="0.99999999 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="26.6875"
|
||||
inkscape:cx="2.529274"
|
||||
inkscape:cy="16.822768"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
units="pt"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1382"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="-3"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-grids="true"
|
||||
showguides="true"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid5486" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1020.3622)">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
|
||||
id="path3056"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="6"
|
||||
sodipodi:cy="1029.3622"
|
||||
sodipodi:r1="4"
|
||||
sodipodi:r2="2"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="m 10,1029.3622 c 0,0.2947 -2.3773843,1.2058 -2.5857864,1.4142 -0.2084022,0.2084 -1.1194884,2.5858 -1.4142136,2.5858 -0.2947252,0 -1.2058114,-2.3774 -1.4142136,-2.5858 C 4.3773843,1030.568 2,1029.6569 2,1029.3622 c 0,-0.2947 2.3773843,-1.2058 2.5857864,-1.4142 0.2084022,-0.2084 1.1194884,-2.5858 1.4142136,-2.5858 0.2947252,0 1.2058114,2.3774 1.4142136,2.5858 C 7.6226157,1028.1564 10,1029.0675 10,1029.3622 Z" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
|
||||
id="path3056-3"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="15"
|
||||
sodipodi:cy="1024.3622"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.5"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="m 18,1024.3622 c 0,0.221 -1.783038,0.9043 -1.93934,1.0606 -0.156301,0.1563 -0.839616,1.9394 -1.06066,1.9394 -0.221044,0 -0.904359,-1.7831 -1.06066,-1.9394 C 13.783038,1025.2665 12,1024.5832 12,1024.3622 c 0,-0.2211 1.783038,-0.9044 1.93934,-1.0607 0.156301,-0.1563 0.839616,-1.9393 1.06066,-1.9393 0.221044,0 0.904359,1.783 1.06066,1.9393 0.156302,0.1563 1.93934,0.8396 1.93934,1.0607 z" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:none"
|
||||
id="path3056-3-4"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="25"
|
||||
sodipodi:cy="1042.3622"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.5"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="m 28,1042.3622 c 0,0.221 -1.783038,0.9043 -1.93934,1.0606 -0.156301,0.1563 -0.839616,1.9394 -1.06066,1.9394 -0.221044,0 -0.904359,-1.7831 -1.06066,-1.9394 C 23.783038,1043.2665 22,1042.5832 22,1042.3622 c 0,-0.2211 1.783038,-0.9044 1.93934,-1.0607 0.156301,-0.1563 0.839616,-1.9393 1.06066,-1.9393 0.221044,0 0.904359,1.783 1.06066,1.9393 0.156302,0.1563 1.93934,0.8396 1.93934,1.0607 z" />
|
||||
<rect
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:#f2f2f2;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4712"
|
||||
width="28"
|
||||
height="4"
|
||||
x="-738.83655"
|
||||
y="742.13245"
|
||||
rx="0.40000001"
|
||||
ry="0.40000001"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" />
|
||||
<rect
|
||||
style="fill:#f2f2f2;fill-opacity:1;stroke:#f2f2f2;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4714"
|
||||
width="4"
|
||||
height="4"
|
||||
x="-708.16895"
|
||||
y="742.12415"
|
||||
rx="0.40000001"
|
||||
ry="0.40000001"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.0 KiB |
BIN
src/musredit_qt5/musrWiz/icons/musrWiz-32x32.png
Normal file
BIN
src/musredit_qt5/musrWiz/icons/musrWiz-32x32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 542 B |
160
src/musredit_qt5/musrWiz/icons/musrWiz-32x32.svg
Normal file
160
src/musredit_qt5/musrWiz/icons/musrWiz-32x32.svg
Normal file
@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
viewBox="0 0 32.000001 32"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="musrWiz-32x32.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 11 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="22 : 11 : 1"
|
||||
inkscape:persp3d-origin="11 : 7.3333333 : 1"
|
||||
id="perspective3013" />
|
||||
<inkscape:perspective
|
||||
id="perspective3023"
|
||||
inkscape:persp3d-origin="0.49999999 : 0.33333333 : 1"
|
||||
inkscape:vp_z="0.99999999 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3066"
|
||||
inkscape:persp3d-origin="0.49999999 : 0.33333333 : 1"
|
||||
inkscape:vp_z="0.99999999 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3088"
|
||||
inkscape:persp3d-origin="0.49999999 : 0.33333333 : 1"
|
||||
inkscape:vp_z="0.99999999 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="26.6875"
|
||||
inkscape:cx="9.4051522"
|
||||
inkscape:cy="16.897709"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
units="pt"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1021"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-grids="true"
|
||||
showguides="true"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid5486" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1020.3622)">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="path3056"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="6"
|
||||
sodipodi:cy="1029.3622"
|
||||
sodipodi:r1="4"
|
||||
sodipodi:r2="2"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="m 10,1029.3622 c 0,0.2947 -2.3773843,1.2058 -2.5857864,1.4142 -0.2084022,0.2084 -1.1194884,2.5858 -1.4142136,2.5858 -0.2947252,0 -1.2058114,-2.3774 -1.4142136,-2.5858 C 4.3773843,1030.568 2,1029.6569 2,1029.3622 c 0,-0.2947 2.3773843,-1.2058 2.5857864,-1.4142 0.2084022,-0.2084 1.1194884,-2.5858 1.4142136,-2.5858 0.2947252,0 1.2058114,2.3774 1.4142136,2.5858 C 7.6226157,1028.1564 10,1029.0675 10,1029.3622 Z" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="path3056-3"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="15"
|
||||
sodipodi:cy="1024.3622"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.5"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="m 18,1024.3622 c 0,0.221 -1.783038,0.9043 -1.93934,1.0606 -0.156301,0.1563 -0.839616,1.9394 -1.06066,1.9394 -0.221044,0 -0.904359,-1.7831 -1.06066,-1.9394 C 13.783038,1025.2665 12,1024.5832 12,1024.3622 c 0,-0.2211 1.783038,-0.9044 1.93934,-1.0607 0.156301,-0.1563 0.839616,-1.9393 1.06066,-1.9393 0.221044,0 0.904359,1.783 1.06066,1.9393 0.156302,0.1563 1.93934,0.8396 1.93934,1.0607 z" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
id="path3056-3-4"
|
||||
sodipodi:sides="4"
|
||||
sodipodi:cx="25"
|
||||
sodipodi:cy="1042.3622"
|
||||
sodipodi:r1="3"
|
||||
sodipodi:r2="1.5"
|
||||
sodipodi:arg1="0"
|
||||
sodipodi:arg2="0.78539816"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.1"
|
||||
inkscape:randomized="0"
|
||||
d="m 28,1042.3622 c 0,0.221 -1.783038,0.9043 -1.93934,1.0606 -0.156301,0.1563 -0.839616,1.9394 -1.06066,1.9394 -0.221044,0 -0.904359,-1.7831 -1.06066,-1.9394 C 23.783038,1043.2665 22,1042.5832 22,1042.3622 c 0,-0.2211 1.783038,-0.9044 1.93934,-1.0607 0.156301,-0.1563 0.839616,-1.9393 1.06066,-1.9393 0.221044,0 0.904359,1.783 1.06066,1.9393 0.156302,0.1563 1.93934,0.8396 1.93934,1.0607 z" />
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4712"
|
||||
width="28"
|
||||
height="4"
|
||||
x="-738.83655"
|
||||
y="742.13245"
|
||||
rx="0.40000001"
|
||||
ry="0.40000001"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" />
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4714"
|
||||
width="4"
|
||||
height="4"
|
||||
x="-708.16895"
|
||||
y="742.12415"
|
||||
rx="0.40000001"
|
||||
ry="0.40000001"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.0 KiB |
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<instrument_def_isis xmlns="http://www.isis.stfc.ac.uk/instruments/hifi/">
|
||||
<institute>ISIS</institute>
|
||||
<!-- +++++++++++++++++++++++++++ H I F I ++++++++++++++++++++++++++++++++++++ -->
|
||||
<instrument name="HIFI">
|
||||
<run_name_template>HIFINNNNNNNN</run_name_template>
|
||||
<beamline>HIFI</beamline>
|
||||
<data_file_format>NEXUS</data_file_format>
|
||||
<tf>
|
||||
<no_of_detectors>128</no_of_detectors>
|
||||
<fgb_offset>0</fgb_offset>
|
||||
<lgb>2047</lgb>
|
||||
<logic_detector name="L" rel_phase="0" forward="5 6 7 8 9 10 11 12 13 52 53 54 55 56 57 58 59 60" note="green"/>
|
||||
<logic_detector name="R" rel_phase="90" forward="21 22 23 24 25 26 27 28 29 36 37 38 39 40 41 42 43 44" note="green"/>
|
||||
</tf>
|
||||
<zf>
|
||||
<!-- not yet defined -->
|
||||
</zf>
|
||||
<lf>
|
||||
<!-- not yet defined -->
|
||||
</lf>
|
||||
</instrument>
|
||||
</instrument_def_isis>
|
145
src/musredit_qt5/musrWiz/instrument_defs/instrument_def_psi.xml
Normal file
145
src/musredit_qt5/musrWiz/instrument_defs/instrument_def_psi.xml
Normal file
@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<instrument_def_psi xmlns="https://www.psi.ch/lmu/instrumentation">
|
||||
<institute>PSI</institute>
|
||||
<!-- +++++++++++++++++++++++++++ H A L 9 5 0 0 ++++++++++++++++++++++++++++++++++++ -->
|
||||
<instrument name="HAL9500">
|
||||
<run_name_template>dYYYY/tdc/tdc_hifi_YYYY_NNNNN </run_name_template>
|
||||
<beamline>PIE3</beamline>
|
||||
<data_file_format>PSI-MDU</data_file_format>
|
||||
<tf>
|
||||
<no_of_detectors>16</no_of_detectors>
|
||||
<fgb_offset>50</fgb_offset>
|
||||
<lgb>409500</lgb>
|
||||
<asym_bkg_range>500 15000</asym_bkg_range>
|
||||
<logic_detector name="F1" rel_phase="0.0" forward="2"/>
|
||||
<logic_detector name="F2" rel_phase="45.0" forward="3"/>
|
||||
<logic_detector name="F3" rel_phase="90.0" forward="4"/>
|
||||
<logic_detector name="F4" rel_phase="135.0" forward="5"/>
|
||||
<logic_detector name="F5" rel_phase="180.0" forward="6"/>
|
||||
<logic_detector name="F6" rel_phase="225.0" forward="7"/>
|
||||
<logic_detector name="F7" rel_phase="270.0" forward="8"/>
|
||||
<logic_detector name="F8" rel_phase="315.0" forward="9"/>
|
||||
<logic_detector name="B1" rel_phase="0.0" forward="10"/>
|
||||
<logic_detector name="B2" rel_phase="45.0" forward="11"/>
|
||||
<logic_detector name="B3" rel_phase="90.0" forward="12"/>
|
||||
<logic_detector name="B4" rel_phase="135.0" forward="13"/>
|
||||
<logic_detector name="B5" rel_phase="180.0" forward="14"/>
|
||||
<logic_detector name="B6" rel_phase="225.0" forward="15"/>
|
||||
<logic_detector name="B7" rel_phase="270.0" forward="16"/>
|
||||
<logic_detector name="B8" rel_phase="315.0" forward="17"/>
|
||||
<logic_asym_detector name="F15" rel_phase="0.0" forward="2" backward="6" alpha="1.0"/>
|
||||
<logic_asym_detector name="F26" rel_phase="45.0" forward="3" backward="7" alpha="1.0"/>
|
||||
<logic_asym_detector name="F37" rel_phase="90.0" forward="4" backward="8" alpha="1.0"/>
|
||||
<logic_asym_detector name="F48" rel_phase="135.0" forward="5" backward="9" alpha="1.0"/>
|
||||
<logic_asym_detector name="B15" rel_phase="0.0" forward="10" backward="14" alpha="1.0"/>
|
||||
<logic_asym_detector name="B26" rel_phase="45.0" forward="11" backward="15" alpha="1.0"/>
|
||||
<logic_asym_detector name="B37" rel_phase="90.0" forward="12" backward="16" alpha="1.0"/>
|
||||
<logic_asym_detector name="B48" rel_phase="135.0" forward="13" backward="17" alpha="1.0"/>
|
||||
</tf>
|
||||
<zf>
|
||||
<!-- not yet defined -->
|
||||
</zf>
|
||||
<lf>
|
||||
<!-- not yet defined -->
|
||||
</lf>
|
||||
</instrument>
|
||||
<!-- +++++++++++++++++++++++++++ L E M +++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<instrument name="LEM">
|
||||
<run_name_template>YYYY/lemYY_his_NNNN</run_name_template>
|
||||
<beamline>MUE4</beamline>
|
||||
<data_file_format>MUSR-ROOT</data_file_format>
|
||||
<tf name="WEW">
|
||||
<no_of_detectors>8</no_of_detectors>
|
||||
<fgb_offset>0</fgb_offset>
|
||||
<lgb>63000</lgb>
|
||||
<asym_bkg_range>200 1500</asym_bkg_range>
|
||||
<logic_detector name="L" rel_phase="0.0" forward="1 5"/>
|
||||
<logic_detector name="T" rel_phase="90.0" forward="2 6"/>
|
||||
<logic_detector name="R" rel_phase="180.0" forward="3 7"/>
|
||||
<logic_detector name="B" rel_phase="270.0" forward="4 8"/>
|
||||
<logic_asym_detector name="LR" rel_phase="0.0" forward="1 5" backward="3 7" alpha="1.0"/>
|
||||
<logic_asym_detector name="TB" rel_phase="90.0" forward="2 6" backward="4 8" alpha="1.0"/>
|
||||
</tf>
|
||||
<tf name="Bpar">
|
||||
<no_of_detectors>4</no_of_detectors>
|
||||
<fgb_offset>0</fgb_offset>
|
||||
<lgb>63000</lgb>
|
||||
<asym_bkg_range>200 1500</asym_bkg_range>
|
||||
<logic_detector name="L" rel_phase="0.0" forward="1 5"/>
|
||||
<logic_detector name="R" rel_phase="160.0" forward="3 7"/>
|
||||
<logic_asym_detector name="LR" rel_phase="0.0" forward="1 5" backward="3 7" alpha="1.0"/>
|
||||
</tf>
|
||||
<zf name="NPP">
|
||||
<no_of_detectors>4</no_of_detectors>
|
||||
<fgb_offset>0</fgb_offset>
|
||||
<lgb>63000</lgb>
|
||||
<asym_bkg_range>200 1500</asym_bkg_range>
|
||||
<logic_asym_detector name="LR" rel_phase="0.0" forward="1 5" backward="3 7" alpha="1.0"/>
|
||||
</zf>
|
||||
<zf name="PPC">
|
||||
<no_of_detectors>4</no_of_detectors>
|
||||
<fgb_offset>0</fgb_offset>
|
||||
<lgb>63000</lgb>
|
||||
<asym_bkg_range>200 1500</asym_bkg_range>
|
||||
<logic_asym_detector name="LR" rel_phase="0.0" forward="21 25" backward="23 27" alpha="1.0"/>
|
||||
</zf>
|
||||
<lf name="NPP">
|
||||
<no_of_detectors>8</no_of_detectors>
|
||||
<fgb_offset>0</fgb_offset>
|
||||
<lgb>63000</lgb>
|
||||
<asym_bkg_range>200 1500</asym_bkg_range>
|
||||
<logic_asym_detector name="UD" rel_phase="0.0" forward="1 2 3 4" backward="5 6 7 8" alpha="1.0"/>
|
||||
</lf>
|
||||
<lf name="PPC">
|
||||
<no_of_detectors>8</no_of_detectors>
|
||||
<fgb_offset>0</fgb_offset>
|
||||
<lgb>63000</lgb>
|
||||
<asym_bkg_range>200 1500</asym_bkg_range>
|
||||
<logic_asym_detector name="UD" rel_phase="0.0" forward="21 22 23 24" backward="25 26 27 28" alpha="1.0"/>
|
||||
</lf>
|
||||
</instrument>
|
||||
<!-- +++++++++++++++++++++++++++ G P S +++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
||||
<instrument name="GPS">
|
||||
<run_name_template>dYYYY/tdc/deltat_tdc_gps_NNNN</run_name_template>
|
||||
<beamline>PIM3</beamline>
|
||||
<data_file_format>PSI-BIN</data_file_format>
|
||||
<tf name="WEP">
|
||||
<no_of_detectors>6</no_of_detectors>
|
||||
<fgb_offset>10</fgb_offset>
|
||||
<lgb>25600</lgb>
|
||||
<asym_bkg_range>50 300</asym_bkg_range>
|
||||
<logic_detector name="B" rel_phase="-45.0" forward="2"/>
|
||||
<logic_detector name="U" rel_phase="45.0" forward="3"/>
|
||||
<logic_detector name="F" rel_phase="135.0" forward="1"/>
|
||||
<logic_detector name="D" rel_phase="225.0" forward="4"/>
|
||||
<logic_asym_detector name="FB" rel_phase="-45.0" forward="2" backward="1" alpha="0.75"/>
|
||||
<logic_asym_detector name="UD" rel_phase="45" forward="3" backward="4" alpha="1.0"/>
|
||||
</tf>
|
||||
<tf name="WED(L)">
|
||||
<no_of_detectors>6</no_of_detectors>
|
||||
<fgb_offset>10</fgb_offset>
|
||||
<lgb>25600</lgb>
|
||||
<asym_bkg_range>50 300</asym_bkg_range>
|
||||
<logic_detector name="U" rel_phase="0.0" forward="3"/>
|
||||
<logic_detector name="D" rel_phase="180.0" forward="4"/>
|
||||
<logic_detector name="R" rel_phase="90.0" forward="5"/>
|
||||
<logic_detector name="L" rel_phase="-90.0" forward="6"/>
|
||||
<logic_asym_detector name="UD" rel_phase="0.0" forward="3" backward="4" alpha="1.0"/>
|
||||
<logic_asym_detector name="RL" rel_phase="-90.0" forward="5" backward="6" alpha="1.0"/>
|
||||
</tf>
|
||||
<zf>
|
||||
<no_of_detectors>6</no_of_detectors>
|
||||
<fgb_offset>10</fgb_offset>
|
||||
<lgb>25600</lgb>
|
||||
<asym_bkg_range>50 300</asym_bkg_range>
|
||||
<logic_asym_detector name="FB" rel_phase="0.0" forward="2" backward="1" alpha="0.5"/>
|
||||
</zf>
|
||||
<lf name="WED(L)">
|
||||
<no_of_detectors>6</no_of_detectors>
|
||||
<fgb_offset>20</fgb_offset>
|
||||
<lgb>25600</lgb>
|
||||
<asym_bkg_range>50 300</asym_bkg_range>
|
||||
<logic_asym_detector name="FB" rel_phase="0.0" forward="2" backward="1" alpha="0.5"/>
|
||||
</lf>
|
||||
</instrument>
|
||||
</instrument_def_psi>
|
138
src/musredit_qt5/musrWiz/musrWiz.cpp
Normal file
138
src/musredit_qt5/musrWiz/musrWiz.cpp
Normal file
@ -0,0 +1,138 @@
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
#include <QApplication>
|
||||
#include <QProcess>
|
||||
#include <QMessageBox>
|
||||
#include <QObject>
|
||||
|
||||
#include "git-revision.h"
|
||||
#include "musrWiz.h"
|
||||
#include "PAdmin.h"
|
||||
#include "PMusrWiz.h"
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void PParam::init()
|
||||
{
|
||||
fName = QString("UnDef");
|
||||
fNumber = -1;
|
||||
fValue = 0.0;
|
||||
fStep = 0.0;
|
||||
fPosErr = QString("UnDef");
|
||||
fBoundLow = QString("UnDef");
|
||||
fBoundHigh = QString("UnDef");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void musrWiz_syntax()
|
||||
{
|
||||
std::cout << "usage: musrWiz [[--version | -v] | --debug [0|1|2] | --help]" << std::endl << std::endl;
|
||||
std::cout << " --version | -v : print current git-version." << std::endl;
|
||||
std::cout << " --debug 0 : dump's the instrument definition(s) at startup." << std::endl;
|
||||
std::cout << " --debug 1 : dump's the musrfit functions at startup." << std::endl;
|
||||
std::cout << " --debug 2 : dump's the musrfit functions and instrument definition(s) at startup." << std::endl;
|
||||
std::cout << " --log : writes a log-file '.musrWiz.log' which contains the path-file-name of" << std::endl;
|
||||
std::cout << " the created msr-file." << std::endl;
|
||||
std::cout << " --help : shows this help." << std::endl << std::endl;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int dump = -1;
|
||||
bool logFile = false;
|
||||
|
||||
if (argc == 2) {
|
||||
if (!strcmp(argv[1], "--version") || (!strcmp(argv[1], "-v"))) {
|
||||
std::cout << std::endl << "musrWiz - alpha - git-branch: " << GIT_BRANCH << ", git-rev: " << GIT_CURRENT_SHA1 << std::endl << std::endl;
|
||||
return 0;
|
||||
} else if (!strcmp(argv[1], "--help")) {
|
||||
musrWiz_syntax();
|
||||
return 0;
|
||||
} else if (!strcmp(argv[1], "--log")) { // thought to be used from within musredit only
|
||||
logFile = true;
|
||||
} else {
|
||||
musrWiz_syntax();
|
||||
return 0;
|
||||
}
|
||||
} else if (argc == 3) {
|
||||
dump = atoi(argv[2]);
|
||||
if ((dump < 0) || (dump > 2)) {
|
||||
musrWiz_syntax();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Q_INIT_RESOURCE(musrWiz);
|
||||
|
||||
QApplication app(argc, argv);
|
||||
|
||||
PAdmin *admin = new PAdmin();
|
||||
if (!admin->IsValid()) {
|
||||
delete admin;
|
||||
return 1;
|
||||
}
|
||||
admin->dump(dump);
|
||||
|
||||
PMsrData *info = new PMsrData(); // this content will eventually be set by the xml-handler
|
||||
|
||||
PMusrWiz wizard(admin, info);
|
||||
wizard.show();
|
||||
|
||||
app.exec();
|
||||
|
||||
int result = wizard.result();
|
||||
|
||||
if (result == 1) { // if everything went fine up to this point
|
||||
// check if a log-file shall be written
|
||||
if (logFile) {
|
||||
std::ofstream fout(".musrWiz.log", std::ofstream::out);
|
||||
fout << "path-file-name: " << info->getMsrPathName().toLatin1().data() << "/" << info->getMsrFileName().toLatin1().data() << std::endl;
|
||||
fout.close();
|
||||
}
|
||||
|
||||
// check if musrt0 shall be called. If the option --log is set, only add musrt0 flag to in the .musrWiz.log file
|
||||
if (info->getT0Tag() == T0_FROM_MUSR_T0) {
|
||||
if (logFile) {
|
||||
std::ofstream fout(".musrWiz.log", std::ofstream::app);
|
||||
fout << "musrt0-tag: yes" << std::endl;
|
||||
fout.close();
|
||||
} else {
|
||||
QProcessEnvironment pe = QProcessEnvironment::systemEnvironment();
|
||||
QString musrt0Path = pe.value("MUSRFITPATH", "??");
|
||||
if (musrt0Path == "??") { // not found hence try ROOTSYS
|
||||
musrt0Path = pe.value("ROOTSYS", "??");
|
||||
if (musrt0Path != "??") {
|
||||
musrt0Path += "/bin";
|
||||
}
|
||||
}
|
||||
|
||||
if (musrt0Path != "??") {
|
||||
QString musrt0 = musrt0Path + "/musrt0";
|
||||
QString pathFln = QString("%1/%2").arg(info->getMsrPathName()).arg(info->getMsrFileName());
|
||||
QStringList arguments;
|
||||
arguments << pathFln;
|
||||
QProcess::startDetached(musrt0, arguments, "./");
|
||||
} else {
|
||||
QMessageBox::warning(0, "WARNING", "Couldn't find musrt0 :-(.\n Only the msr-file has been generated.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (info)
|
||||
delete info;
|
||||
if (admin)
|
||||
delete admin;
|
||||
|
||||
return result;
|
||||
}
|
75
src/musredit_qt5/musrWiz/musrWiz.h
Normal file
75
src/musredit_qt5/musrWiz/musrWiz.h
Normal file
@ -0,0 +1,75 @@
|
||||
/***************************************************************************
|
||||
|
||||
musrWiz.h
|
||||
|
||||
Author: Andreas Suter
|
||||
e-mail: andreas.suter@psi.ch
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2007-2016 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 _MUSRWIZ_H_
|
||||
#define _MUSRWIZ_H_
|
||||
|
||||
#include <QString>
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
class PParam {
|
||||
public:
|
||||
PParam() { init(); }
|
||||
~PParam() {}
|
||||
|
||||
void init();
|
||||
|
||||
QString getName() { return fName; }
|
||||
int getNumber() { return fNumber; }
|
||||
double getValue() { return fValue; }
|
||||
double getStep() { return fStep; }
|
||||
QString getPosErr() { return fPosErr; }
|
||||
QString getBoundLow() { return fBoundLow; }
|
||||
QString getBoundHigh() { return fBoundHigh; }
|
||||
|
||||
void setName(QString str) { fName = str; }
|
||||
void setNumber(int ival) { fNumber = ival; }
|
||||
void setValue(double dval) { fValue = dval; }
|
||||
void setStep(double dval) { fStep = dval; }
|
||||
void setPosErr(QString str) { fPosErr = str; }
|
||||
void setBoundLow(QString str) { fBoundLow = str; }
|
||||
void setBoundHigh(QString str) { fBoundHigh = str; }
|
||||
|
||||
private:
|
||||
QString fName;
|
||||
int fNumber;
|
||||
double fValue;
|
||||
double fStep;
|
||||
QString fPosErr;
|
||||
QString fBoundLow;
|
||||
QString fBoundHigh;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
typedef struct {
|
||||
int number;
|
||||
QString fun;
|
||||
} PFunc;
|
||||
|
||||
#endif // _MUSRWIZ_H_
|
58
src/musredit_qt5/musrWiz/musrWiz.pro
Normal file
58
src/musredit_qt5/musrWiz/musrWiz.pro
Normal file
@ -0,0 +1,58 @@
|
||||
TEMPLATE = app
|
||||
TARGET = musrWiz
|
||||
|
||||
# install path for the application
|
||||
unix:target.path = $$(ROOTSYS)/bin
|
||||
INSTALLS += target
|
||||
|
||||
# install path for the XML instrument def file
|
||||
unix:instrumendDef.path = $$(HOME)/.musrfit/musrWiz
|
||||
instrumendDef.files = instrument_defs/instrument_def_psi.xml
|
||||
exists( $$(HOME)/.musrfit/musrWiz/instrument_def_psi.xml ) {
|
||||
unix:instrumendDef.extra = mv $$(HOME)/.musrfit/musrWiz/instrument_def_psi.xml $$(HOME)/.musrfit/musrWiz/instrument_def_psi.xml.backup
|
||||
}
|
||||
INSTALLS += instrumendDef
|
||||
|
||||
# install path for the XML musrfit funcs file
|
||||
unix:musrfitFunc.path = $$(HOME)/.musrfit/musrWiz
|
||||
musrfitFunc.files = func_defs/musrfit_funcs.xml
|
||||
exists( $$(HOME)/.musrfit/musrWiz/musrfit_funcs.xml ) {
|
||||
unix:musrfitFunc.extra = mv $$(HOME)/.musrfit/musrWiz/musrfit_funcs.xml $$(HOME)/.musrfit/musrWiz/musrfit_funcs.xml.backup
|
||||
}
|
||||
INSTALLS += musrfitFunc
|
||||
|
||||
# install path for the musrWiz defaults XML
|
||||
unix:musrWizDefault.path = $$(HOME)/.musrfit/musrWiz
|
||||
musrWizDefault.files = musrWiz.xml
|
||||
exists( $$(HOME)/.musrfit/musrWiz/musrWiz.xml ) {
|
||||
unix:musrWizDefault.extra = mv $$(HOME)/.musrfit/musrWiz/musrWiz.xml $$(HOME)/.musrfit/musrWiz/musrWiz.xml.backup
|
||||
}
|
||||
INSTALLS += musrWizDefault
|
||||
|
||||
CONFIG += qt \
|
||||
warn_on \
|
||||
release \
|
||||
#CONFIG += console
|
||||
|
||||
QT += widgets
|
||||
QT += xml
|
||||
QT += core
|
||||
QT += svg
|
||||
|
||||
INCLUDEPATH += "../../include"
|
||||
|
||||
HEADERS = musrWiz.h \
|
||||
PTheoTemplate.h \
|
||||
PMusrfitFunc.h \
|
||||
PInstrumentDef.h \
|
||||
PAdmin.h \
|
||||
PMusrWiz.h
|
||||
|
||||
SOURCES = PTheoTemplate.cpp \
|
||||
PMusrfitFunc.cpp \
|
||||
PInstrumentDef.cpp \
|
||||
PAdmin.cpp \
|
||||
PMusrWiz.cpp \
|
||||
musrWiz.cpp
|
||||
|
||||
RESOURCES = musrWiz.qrc
|
8
src/musredit_qt5/musrWiz/musrWiz.qrc
Normal file
8
src/musredit_qt5/musrWiz/musrWiz.qrc
Normal file
@ -0,0 +1,8 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file>icons/musrWiz-22x22.svg</file>
|
||||
<file>icons/musrWiz-22x22-dark.svg</file>
|
||||
<file>icons/musrWiz-32x32.svg</file>
|
||||
<file>icons/musrWiz-32x32-dark.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
8
src/musredit_qt5/musrWiz/musrWiz.xml
Normal file
8
src/musredit_qt5/musrWiz/musrWiz.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<musrwiz>
|
||||
<default_settings>
|
||||
<institute>PSI</institute>
|
||||
<instrument>LEM</instrument>
|
||||
<fit_type>Single Histo</fit_type>
|
||||
</default_settings>
|
||||
</musrwiz>
|
20
src/musredit_qt5/musredit.pro
Normal file
20
src/musredit_qt5/musredit.pro
Normal file
@ -0,0 +1,20 @@
|
||||
TEMPLATE = subdirs
|
||||
|
||||
TARGET = musredit
|
||||
|
||||
SUBDIRS = \
|
||||
musrStep \
|
||||
musrWiz \
|
||||
musredit
|
||||
|
||||
# where to find the sub-projects - give the folders
|
||||
musrStep.subdir = musrStep
|
||||
musrWiz.subdir = musrWiz
|
||||
musredit.subdir = musredit
|
||||
|
||||
# what sub-project depends on others
|
||||
musredit.depends = musrStep musrWiz
|
||||
|
||||
# build the project sequentially as listed in SUBDIRS !
|
||||
CONFIG += ordered
|
||||
|
Reference in New Issue
Block a user