msr2data global option handling completed.

This commit is contained in:
nemu
2010-06-28 06:31:35 +00:00
parent 20bb0e05a6
commit acc389a96d
4 changed files with 94 additions and 82 deletions

View File

@@ -1904,48 +1904,28 @@ void PTextEdit::musrMsr2Data()
QFile *file;
QTextStream *stream;
switch(dlg->getRunTag()) {
case 0: // first run / last run list
if (fMsr2DataParam->firstRun != -1) {
for (int i=fMsr2DataParam->firstRun; i<=fMsr2DataParam->lastRun; i++) {
if (fMsr2DataParam->msrFileExtension.isEmpty())
fln = QString("%1").arg(i) + ".msr";
else
fln = QString("%1").arg(i) + fMsr2DataParam->msrFileExtension + ".msr";
if (!fMsr2DataParam->global) { // standard fits
load(fln);
switch(dlg->getRunTag()) {
case 0: // first run / last run list
if (fMsr2DataParam->firstRun != -1) {
for (int i=fMsr2DataParam->firstRun; i<=fMsr2DataParam->lastRun; i++) {
if (fMsr2DataParam->msrFileExtension.isEmpty())
fln = QString("%1").arg(i) + ".msr";
else
fln = QString("%1").arg(i) + fMsr2DataParam->msrFileExtension + ".msr";
load(fln);
}
}
}
break;
case 1: // run list
end = 0;
while (!runList.section(' ', end, end).isEmpty()) {
end++;
}
for (int i=0; i<end; i++) {
fln = runList.section(' ', i, i);
if (fMsr2DataParam->msrFileExtension.isEmpty())
fln += ".msr";
else
fln += fMsr2DataParam->msrFileExtension + ".msr";
load(fln);
}
break;
case 2: // run list file
file = new QFile(fMsr2DataParam->runListFileName);
if (!file->open(QIODevice::ReadOnly)) {
str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName);
QMessageBox::critical(this, "**ERROR**", str.toLatin1(), QMessageBox::Ok, QMessageBox::NoButton);
return;
}
stream = new QTextStream(file);
while ( !stream->atEnd() ) {
str = stream->readLine(); // line of text excluding '\n'
str.trimmed();
if (!str.isEmpty() && !str.startsWith("#")) {
fln = str.section(' ', 0, 0);
break;
case 1: // run list
end = 0;
while (!runList.section(' ', end, end).isEmpty()) {
end++;
}
for (int i=0; i<end; i++) {
fln = runList.section(' ', i, i);
if (fMsr2DataParam->msrFileExtension.isEmpty())
fln += ".msr";
else
@@ -1953,16 +1933,80 @@ void PTextEdit::musrMsr2Data()
load(fln);
}
}
break;
case 2: // run list file
file = new QFile(fMsr2DataParam->runListFileName);
if (!file->open(QIODevice::ReadOnly)) {
str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName);
QMessageBox::critical(this, "**ERROR**", str.toLatin1(), QMessageBox::Ok, QMessageBox::NoButton);
return;
}
file->close();
stream = new QTextStream(file);
while ( !stream->atEnd() ) {
str = stream->readLine(); // line of text excluding '\n'
str.trimmed();
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) {
fln = str.section(' ', 0, 0);
if (fMsr2DataParam->msrFileExtension.isEmpty())
fln += ".msr";
else
fln += fMsr2DataParam->msrFileExtension + ".msr";
// clean up
delete stream;
delete file;
break;
default:
break;
load(fln);
}
}
file->close();
// clean up
delete stream;
delete file;
break;
default:
break;
}
} else { // global tag set
// get the first run number needed to build the global fit file name
fln = QString("");
switch(dlg->getRunTag()) {
case 0: // first/last run
fln = QString("%1").arg(fMsr2DataParam->firstRun) + QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr");
break;
case 1: // run list
fln = runList.section(" ", 0, 0) + QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr");
break;
case 2: // run list file name
file = new QFile(fMsr2DataParam->runListFileName);
if (!file->open(QIODevice::ReadOnly)) {
str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName);
QMessageBox::critical(this, "**ERROR**", str.toLatin1(), QMessageBox::Ok, QMessageBox::NoButton);
return;
}
stream = new QTextStream(file);
while ( !stream->atEnd() ) {
str = stream->readLine(); // line of text excluding '\n'
str.trimmed();
if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) {
fln = str.section(' ', 0, 0);
break;
}
}
file->close();
fln += QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr");
// clean up
delete stream;
delete file;
break;
default:
break;
}
load(fln);
}
}
}