some more work towards a proper GLOBAL block handling.
This commit is contained in:
parent
d0fc10ea79
commit
0d4d0573e1
@ -384,6 +384,7 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
|
|||||||
|
|
||||||
// add some counters needed in connection to addruns
|
// add some counters needed in connection to addruns
|
||||||
Int_t addT0Counter = 0;
|
Int_t addT0Counter = 0;
|
||||||
|
Int_t addT0GlobalCounter = 0;
|
||||||
|
|
||||||
ifstream fin;
|
ifstream fin;
|
||||||
ofstream fout;
|
ofstream fout;
|
||||||
@ -643,6 +644,17 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
|
|||||||
fout << left << fGlobal.GetT0Bin(j);
|
fout << left << fGlobal.GetT0Bin(j);
|
||||||
}
|
}
|
||||||
fout << endl;
|
fout << endl;
|
||||||
|
} else if (sstr.BeginsWith("addt0")) {
|
||||||
|
fout.width(16);
|
||||||
|
fout << left << "addt0";
|
||||||
|
for (Int_t j=0; j<fGlobal.GetAddT0BinSize(addT0GlobalCounter); j++) {
|
||||||
|
fout.width(8);
|
||||||
|
fout.precision(1);
|
||||||
|
fout.setf(ios::fixed,ios::floatfield);
|
||||||
|
fout << left << fGlobal.GetAddT0Bin(addT0GlobalCounter, j);
|
||||||
|
}
|
||||||
|
fout << endl;
|
||||||
|
addT0GlobalCounter++;
|
||||||
} else if (sstr.BeginsWith("fit")) {
|
} else if (sstr.BeginsWith("fit")) {
|
||||||
fout.width(16);
|
fout.width(16);
|
||||||
fout << left << "fit";
|
fout << left << "fit";
|
||||||
@ -684,6 +696,7 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
|
|||||||
sstr = str;
|
sstr = str;
|
||||||
sstr.Remove(TString::kLeading, ' ');
|
sstr.Remove(TString::kLeading, ' ');
|
||||||
if (sstr.BeginsWith("RUN")) {
|
if (sstr.BeginsWith("RUN")) {
|
||||||
|
addRunNo = 0; // reset counter
|
||||||
fout << "RUN " << fRuns[runNo].GetRunName()->Data() << " ";
|
fout << "RUN " << fRuns[runNo].GetRunName()->Data() << " ";
|
||||||
pstr = fRuns[runNo].GetBeamline();
|
pstr = fRuns[runNo].GetBeamline();
|
||||||
if (pstr == 0) {
|
if (pstr == 0) {
|
||||||
@ -731,7 +744,6 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
|
|||||||
pstr->ToUpper();
|
pstr->ToUpper();
|
||||||
fout << pstr->Data() << " (name beamline institute data-file-format)" << endl;
|
fout << pstr->Data() << " (name beamline institute data-file-format)" << endl;
|
||||||
} else if (sstr.BeginsWith("fittype")) {
|
} else if (sstr.BeginsWith("fittype")) {
|
||||||
addRunNo = 0;
|
|
||||||
fout.width(16);
|
fout.width(16);
|
||||||
switch (fRuns[runNo].GetFitType()) {
|
switch (fRuns[runNo].GetFitType()) {
|
||||||
case MSR_FITTYPE_SINGLE_HISTO:
|
case MSR_FITTYPE_SINGLE_HISTO:
|
||||||
@ -2653,6 +2665,7 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines)
|
|||||||
TObjString *ostr = 0;
|
TObjString *ostr = 0;
|
||||||
Int_t ival;
|
Int_t ival;
|
||||||
Double_t dval;
|
Double_t dval;
|
||||||
|
UInt_t addT0Counter = 0;
|
||||||
|
|
||||||
iter = lines.begin();
|
iter = lines.begin();
|
||||||
while ((iter != lines.end()) && !error) {
|
while ((iter != lines.end()) && !error) {
|
||||||
@ -2727,6 +2740,25 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (iter->fLine.BeginsWith("addt0", TString::kIgnoreCase)) { // addt0
|
||||||
|
if (tokens->GetEntries() < 2) {
|
||||||
|
error = true;
|
||||||
|
} else {
|
||||||
|
for (Int_t i=1; i<tokens->GetEntries(); i++) {
|
||||||
|
ostr = dynamic_cast<TObjString*>(tokens->At(i));
|
||||||
|
str = ostr->GetString();
|
||||||
|
if (str.IsFloat()) {
|
||||||
|
dval = str.Atof();
|
||||||
|
if (dval >= 0.0)
|
||||||
|
global.SetAddT0Bin(dval, addT0Counter, i-1);
|
||||||
|
else
|
||||||
|
error = true;
|
||||||
|
} else {
|
||||||
|
error = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
addT0Counter++;
|
||||||
} else if (iter->fLine.BeginsWith("fit", TString::kIgnoreCase)) { // fit range
|
} else if (iter->fLine.BeginsWith("fit", TString::kIgnoreCase)) { // fit range
|
||||||
if (tokens->GetEntries() < 3) {
|
if (tokens->GetEntries() < 3) {
|
||||||
error = true;
|
error = true;
|
||||||
@ -2812,18 +2844,25 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines)
|
|||||||
fGlobal = global;
|
fGlobal = global;
|
||||||
}
|
}
|
||||||
|
|
||||||
cout << endl << "debug> Global: fittype : " << fGlobal.GetFitType();
|
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: fittype : " << fGlobal.GetFitType();
|
||||||
cout << endl << "debug> Global: data bin range: ";
|
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: data bin range: ";
|
||||||
for (UInt_t i=0; i<4; i++) {
|
for (UInt_t i=0; i<4; i++) {
|
||||||
cout << fGlobal.GetDataRange(i) << ", ";
|
cout << fGlobal.GetDataRange(i) << ", ";
|
||||||
}
|
}
|
||||||
cout << endl << "debug> Global: t0's : ";
|
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: t0's : ";
|
||||||
for (UInt_t i=0; i<fGlobal.GetT0BinSize(); i++)
|
for (UInt_t i=0; i<fGlobal.GetT0BinSize(); i++)
|
||||||
cout << fGlobal.GetT0Bin(i) << ", ";
|
cout << fGlobal.GetT0Bin(i) << ", ";
|
||||||
cout << endl << "debug> Global: fit in bin: " << fGlobal.IsFitRangeInBin();
|
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: addt0's : ";
|
||||||
cout << endl << "debug> Global: fit offset: " << fGlobal.GetFitRangeOffset(0) << ", " << fGlobal.GetFitRangeOffset(1);
|
for (UInt_t i=0; i<fGlobal.GetAddT0BinEntries(); i++) {
|
||||||
cout << endl << "debug> Global: fit : " << fGlobal.GetFitRange(0) << ", " << fGlobal.GetFitRange(1);
|
cout << endl << " debug> --> " << i << ": ";
|
||||||
cout << endl << "debug> Global: packing : " << fGlobal.GetPacking();
|
for (UInt_t j=0; j<(UInt_t)fGlobal.GetAddT0BinSize(i); j++) {
|
||||||
|
cout << fGlobal.GetAddT0Bin(i,j) << ", ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: fit in bin: " << fGlobal.IsFitRangeInBin();
|
||||||
|
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: fit offset: " << fGlobal.GetFitRangeOffset(0) << ", " << fGlobal.GetFitRangeOffset(1);
|
||||||
|
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: fit : " << fGlobal.GetFitRange(0) << ", " << fGlobal.GetFitRange(1);
|
||||||
|
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: packing : " << fGlobal.GetPacking();
|
||||||
cout << endl;
|
cout << endl;
|
||||||
|
|
||||||
return !error;
|
return !error;
|
||||||
@ -3546,7 +3585,7 @@ Bool_t PMsrHandler::HandleFourierEntry(PMsrLines &lines)
|
|||||||
// tokenize line
|
// tokenize line
|
||||||
tokens = iter->fLine.Tokenize(" \t");
|
tokens = iter->fLine.Tokenize(" \t");
|
||||||
if (!tokens) {
|
if (!tokens) {
|
||||||
cerr << endl << ">> PMsrHandler::HandleRunEntry: **SEVERE ERROR** Couldn't tokenize Parameters in line " << iter->fLineNo;
|
cerr << endl << ">> PMsrHandler::HandleFourierEntry: **SEVERE ERROR** Couldn't tokenize Parameters in line " << iter->fLineNo;
|
||||||
cerr << endl << endl;
|
cerr << endl << endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user