header of exported data adopted for easier read in with pandas.

This commit is contained in:
suter_a 2025-02-14 09:06:55 +01:00
parent 4a20d805dd
commit 5f7f79e46d
3 changed files with 20 additions and 33 deletions

View File

@ -1929,9 +1929,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_DATA: case PV_DATA:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% x, diff, errDiff" << std::endl; fout << "x, diff, errDiff" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size()-1; i++) { for (UInt_t i=0; i<dumpVector.size()-1; i++) {
fout << "x" << i << " , diff" << i << ", errDiff" << i << ", "; fout << "x" << i << " , diff" << i << ", errDiff" << i << ", ";
} }
@ -1941,9 +1940,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_REAL: case PV_FOURIER_REAL:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% x, F_diffRe" << std::endl; fout << "x, F_diffRe" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size()-1; i++) { for (UInt_t i=0; i<dumpVector.size()-1; i++) {
fout << "freq" << i << ", F_diffRe" << i << ", "; fout << "freq" << i << ", F_diffRe" << i << ", ";
} }
@ -1953,9 +1951,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_IMAG: case PV_FOURIER_IMAG:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% x, F_diffIm" << std::endl; fout << "x, F_diffIm" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size()-1; i++) { for (UInt_t i=0; i<dumpVector.size()-1; i++) {
fout << "freq" << i << ", F_diffIm" << i << ", "; fout << "freq" << i << ", F_diffIm" << i << ", ";
} }
@ -1965,9 +1962,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_REAL_AND_IMAG: case PV_FOURIER_REAL_AND_IMAG:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% x, F_diffRe, F_diffIm" << std::endl; fout << "x, F_diffRe, F_diffIm" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size()/2; i++) { for (UInt_t i=0; i<dumpVector.size()/2; i++) {
fout << "freq" << i << ", F_diffRe" << i << ", "; fout << "freq" << i << ", F_diffRe" << i << ", ";
} }
@ -1980,9 +1976,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_PWR: case PV_FOURIER_PWR:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% x, F_diffPwr" << std::endl; fout << "x, F_diffPwr" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size()-1; i++) { for (UInt_t i=0; i<dumpVector.size()-1; i++) {
fout << "freq" << i << ", F_diffPwr" << i << ", "; fout << "freq" << i << ", F_diffPwr" << i << ", ";
} }
@ -1992,9 +1987,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_PHASE: case PV_FOURIER_PHASE:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% x, F_diffPhase" << std::endl; fout << "x, F_diffPhase" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size()-1; i++) { for (UInt_t i=0; i<dumpVector.size()-1; i++) {
fout << "freq" << i << ", F_diffPhase" << i << ", "; fout << "freq" << i << ", F_diffPhase" << i << ", ";
} }
@ -2043,24 +2037,22 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% xData, data, errData, xTheory, theory" << std::endl; fout << "% xData, data, errData, xTheory, theory" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size(); i++) { for (UInt_t i=0; i<dumpVector.size(); i++) {
if (i % 2 == 0) if (i % 2 == 0)
fout << "xData" << i/2 << " , data" << i/2 << ", errData" << i/2 << ", "; fout << "xData" << i/2 << ", data" << i/2 << ", errData" << i/2 << ", ";
else else
if (i == dumpVector.size()-1) if (i == dumpVector.size()-1)
fout << "xTheory" << (i-1)/2 << " , theory" << (i-1)/2 << std::endl; fout << "xTheory" << (i-1)/2 << ", theory" << (i-1)/2 << std::endl;
else else
fout << "xTheory" << (i-1)/2 << " , theory" << (i-1)/2 << ", "; fout << "xTheory" << (i-1)/2 << ", theory" << (i-1)/2 << ", ";
} }
} }
break; break;
case PV_FOURIER_REAL: case PV_FOURIER_REAL:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% freq, F_Re, freqTheo, F_theoRe" << std::endl; fout << "freq, F_Re, freqTheo, F_theoRe" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size(); i++) { for (UInt_t i=0; i<dumpVector.size(); i++) {
if (i % 2 == 0) if (i % 2 == 0)
fout << "freq" << i/2 << ", F_Re" << i/2 << ", "; fout << "freq" << i/2 << ", F_Re" << i/2 << ", ";
@ -2075,7 +2067,7 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_IMAG: case PV_FOURIER_IMAG:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% freq, F_Im, freqTheo, F_theoIm" << std::endl; fout << "freq, F_Im, freqTheo, F_theoIm" << std::endl;
} else { } else {
fout << "% "; fout << "% ";
for (UInt_t i=0; i<dumpVector.size(); i++) { for (UInt_t i=0; i<dumpVector.size(); i++) {
@ -2092,9 +2084,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_REAL_AND_IMAG: case PV_FOURIER_REAL_AND_IMAG:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% freq, F_Re, freqTheo, F_theoRe, freq, F_Im, freqTheo, F_theoIm" << std::endl; fout << "freq, F_Re, freqTheo, F_theoRe, freq, F_Im, freqTheo, F_theoIm" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size(); i++) { for (UInt_t i=0; i<dumpVector.size(); i++) {
if (i % 4 == 0) if (i % 4 == 0)
fout << "freq" << i/4 << ", F_Re" << i/4 << ", "; fout << "freq" << i/4 << ", F_Re" << i/4 << ", ";
@ -2113,9 +2104,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_PWR: case PV_FOURIER_PWR:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% freq, F_Pwr, freqTheo, F_theoPwr" << std::endl; fout << "freq, F_Pwr, freqTheo, F_theoPwr" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size(); i++) { for (UInt_t i=0; i<dumpVector.size(); i++) {
if (i % 2 == 0) if (i % 2 == 0)
fout << "freq" << i/2 << ", F_Pwr" << i/2 << ", "; fout << "freq" << i/2 << ", F_Pwr" << i/2 << ", ";
@ -2130,9 +2120,8 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
case PV_FOURIER_PHASE: case PV_FOURIER_PHASE:
if (fAveragedView) { if (fAveragedView) {
fout << "% from averaged view" << std::endl; fout << "% from averaged view" << std::endl;
fout << "% freq, F_Phase, freqTheo, F_theoPhase" << std::endl; fout << "freq, F_Phase, freqTheo, F_theoPhase" << std::endl;
} else { } else {
fout << "% ";
for (UInt_t i=0; i<dumpVector.size(); i++) { for (UInt_t i=0; i<dumpVector.size(); i++) {
if (i % 2 == 0) if (i % 2 == 0)
fout << "freq" << i/2 << ", F_Phase" << i/2 << ", "; fout << "freq" << i/2 << ", F_Phase" << i/2 << ", ";

View File

@ -633,14 +633,13 @@ void PMuppCanvas::ExportData()
if (fi.fFilename && strlen(fi.fFilename)) { if (fi.fFilename && strlen(fi.fFilename)) {
std::ofstream fout(fi.fFilename, std::ios_base::out); std::ofstream fout(fi.fFilename, std::ios_base::out);
// write header // write header
fout << "% ";
for (int i=0; i<fPlotData.size(); i++) { for (int i=0; i<fPlotData.size(); i++) {
fout << fPlotData[i].xLabel.Data() << ", "; fout << fPlotData[i].xLabel.Strip(TString::kLeading).Data().Data() << ", ";
for (int j=0; j<fPlotData[i].yLabel.size(); j++) { for (int j=0; j<fPlotData[i].yLabel.size(); j++) {
if ((i == fPlotData.size()-1) && (j == fPlotData[i].yLabel.size()-1)) if ((i == fPlotData.size()-1) && (j == fPlotData[i].yLabel.size()-1))
fout << fPlotData[i].yLabel[j].Data() << ", " << fPlotData[i].yLabel[j].Data() << "ErrPos, " << fPlotData[i].yLabel[j].Data() << "ErrNeg"; fout << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data().Data() << ", " << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data().Data() << "ErrPos, " << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data().Data() << "ErrNeg";
else else
fout << fPlotData[i].yLabel[j].Data() << ", " << fPlotData[i].yLabel[j].Data() << "ErrPos, " << fPlotData[i].yLabel[j].Data() << "ErrNeg, "; fout << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data().Data() << ", " << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data().Data() << "ErrPos, " << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data().Data() << "ErrNeg, ";
} }
} }
fout << std::endl; fout << std::endl;

View File

@ -633,14 +633,13 @@ void PMuppCanvas::ExportData()
if (fi.fFilename && strlen(fi.fFilename)) { if (fi.fFilename && strlen(fi.fFilename)) {
std::ofstream fout(fi.fFilename, std::ios_base::out); std::ofstream fout(fi.fFilename, std::ios_base::out);
// write header // write header
fout << "% ";
for (int i=0; i<fPlotData.size(); i++) { for (int i=0; i<fPlotData.size(); i++) {
fout << fPlotData[i].xLabel.Data() << ", "; fout << fPlotData[i].xLabel.Strip(TString::kLeading).Data() << ", ";
for (int j=0; j<fPlotData[i].yLabel.size(); j++) { for (int j=0; j<fPlotData[i].yLabel.size(); j++) {
if ((i == fPlotData.size()-1) && (j == fPlotData[i].yLabel.size()-1)) if ((i == fPlotData.size()-1) && (j == fPlotData[i].yLabel.size()-1))
fout << fPlotData[i].yLabel[j].Data() << ", " << fPlotData[i].yLabel[j].Data() << "ErrPos, " << fPlotData[i].yLabel[j].Data() << "ErrNeg"; fout << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data() << ", " << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data() << "ErrPos, " << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data() << "ErrNeg";
else else
fout << fPlotData[i].yLabel[j].Data() << ", " << fPlotData[i].yLabel[j].Data() << "ErrPos, " << fPlotData[i].yLabel[j].Data() << "ErrNeg, "; fout << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data() << ", " << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data() << "ErrPos, " << fPlotData[i].yLabel[j].Strip(TString::kLeading).Data() << "ErrNeg, ";
} }
} }
fout << std::endl; fout << std::endl;