Fixed some severe problems in the run-number-digit determination of msr2data introduced in late 2010
This commit is contained in:
parent
13410aa97c
commit
bff5b6c043
@ -14,6 +14,7 @@ NEW the chi^2 calculation in single-histogram and asymmetry fits is parallelized
|
|||||||
if musrfit is built using a compiler supporting OpenMP (e.g. GCC >= 4.2)
|
if musrfit is built using a compiler supporting OpenMP (e.g. GCC >= 4.2)
|
||||||
Using --disable-omp this feature can be disabled on the configure level.
|
Using --disable-omp this feature can be disabled on the configure level.
|
||||||
NEW any2many: force the user to define the exact NeXus ouput format (HDF4,HDF5,XML)
|
NEW any2many: force the user to define the exact NeXus ouput format (HDF4,HDF5,XML)
|
||||||
|
FIXED some severe issues in the run-number-digit determination of msr2data introduced in late 2010
|
||||||
FIXED a musrview exception error when starting with t0's very much off to the positive side in the msr-file (MUSR-199)
|
FIXED a musrview exception error when starting with t0's very much off to the positive side in the msr-file (MUSR-199)
|
||||||
FIXED a linking problem when only shared libraries are built on Cygwin
|
FIXED a linking problem when only shared libraries are built on Cygwin
|
||||||
FIXED the problem that in certain environments XML files could not be parsed (MUSR-122)
|
FIXED the problem that in certain environments XML files could not be parsed (MUSR-122)
|
||||||
|
@ -176,6 +176,8 @@ int PMsr2Data::DetermineRunNumberDigits(unsigned int runNo, bool normalMode) con
|
|||||||
tempRunNumber.width(fRunNumberDigits);
|
tempRunNumber.width(fRunNumberDigits);
|
||||||
tempRunNumber << runNo;
|
tempRunNumber << runNo;
|
||||||
|
|
||||||
|
fRunNumberDigits = tempRunNumber.str().length();
|
||||||
|
|
||||||
string line, firstOnLine;
|
string line, firstOnLine;
|
||||||
istringstream strLine;
|
istringstream strLine;
|
||||||
|
|
||||||
@ -188,18 +190,19 @@ int PMsr2Data::DetermineRunNumberDigits(unsigned int runNo, bool normalMode) con
|
|||||||
strLine >> firstOnLine;
|
strLine >> firstOnLine;
|
||||||
string::size_type loc = firstOnLine.rfind(tempRunNumber.str());
|
string::size_type loc = firstOnLine.rfind(tempRunNumber.str());
|
||||||
if ( loc != string::npos ) {
|
if ( loc != string::npos ) {
|
||||||
while ( --loc >= 0 ) {
|
while ( loc > 0 ) {
|
||||||
if(isdigit(line.at(loc))) {
|
if(isdigit(firstOnLine.at(--loc))) {
|
||||||
++fRunNumberDigits;
|
++fRunNumberDigits;
|
||||||
} else {
|
} else {
|
||||||
in->close();
|
break;
|
||||||
delete in;
|
}
|
||||||
in = 0;
|
}
|
||||||
fRunVectorIter = fRunVector.begin(); // set back the runlist-iterator which might have changed during the search for the correct file
|
in->close();
|
||||||
return 0;
|
delete in;
|
||||||
}
|
in = 0;
|
||||||
}
|
fRunVectorIter = fRunVector.begin(); // set back the runlist-iterator which might have changed during the search for the correct file
|
||||||
} else {
|
return 0;
|
||||||
|
} else {
|
||||||
cerr << endl << ">> msr2data: **ERROR** The first processed run file number does not match the \"file index\"!";
|
cerr << endl << ">> msr2data: **ERROR** The first processed run file number does not match the \"file index\"!";
|
||||||
cerr << endl << ">> msr2data: **ERROR** The number of digits to be used for formatting the run numbers cannot be determined!";
|
cerr << endl << ">> msr2data: **ERROR** The number of digits to be used for formatting the run numbers cannot be determined!";
|
||||||
cerr << endl << ">> msr2data: **ERROR** Please check the first msr-file that should be processed;";
|
cerr << endl << ">> msr2data: **ERROR** Please check the first msr-file that should be processed;";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user