Changed the format of the xml-startup file according to wishes of AS

This commit is contained in:
Bastian M. Wojek 2009-11-17 17:24:30 +00:00
parent 246e763d71
commit 1381cd1fe2
7 changed files with 137 additions and 91 deletions

View File

@ -533,12 +533,11 @@ void TBulkTriVortexAGLFieldCalc::CalculateGrid() const {
}
double latConstTr(sqrt(2.0*fluxQuantum/(field*sqrt3)));
double b(field/Hc2);
double xisq_scaled(8.0/3.0*pow(xi*PI/latConstTr,2.0)*(1.0+pow(b,4.0))*(1.0-2.0*b*pow(1.0-b,2.0)));
double b(field/Hc2), fInf(1.0-pow(b,4.0)), xiV(xi*(sqrt(2.0)-0.75*xi/lambda)*sqrt((1.0+pow(b,4.0))*(1.0-2.0*b*pow(1.0-b,2.0))));
double lambdasq_scaled(4.0/3.0*pow(lambda*PI/latConstTr,2.0));
// ... now fill in the Fourier components if everything was okay above
double Gsq, sqrtXiSqScGsq, ll;
double Gsq, sqrtfInfSqPlusLsqGsq, ll;
int k, l, lNFFT_2;
for (l = 0; l < NFFT_2; l += 2) {
@ -546,16 +545,17 @@ void TBulkTriVortexAGLFieldCalc::CalculateGrid() const {
ll = 3.0*static_cast<double>(l*l);
for (k = 0; k < NFFT_2; k += 2) {
Gsq = static_cast<double>(k*k) + ll;
sqrtXiSqScGsq = ((k || l) ? sqrt(xisq_scaled*Gsq) : 1.0E-9);
fFFTin[lNFFT_2 + k][0] = sqrtXiSqScGsq*TMath::BesselK1(sqrtXiSqScGsq)/(lambdasq_scaled*Gsq);
sqrtfInfSqPlusLsqGsq = sqrt(fInf*fInf + lambdasq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = ((!k && !l) ? 1.0 : \
fInf*TMath::BesselK1(xiV/lambda*sqrtfInfSqPlusLsqGsq)/(sqrtfInfSqPlusLsqGsq*TMath::BesselK1(xiV/lambda*fInf)));
fFFTin[lNFFT_2 + k][1] = 0.0;
fFFTin[lNFFT_2 + k + 1][0] = 0.0;
fFFTin[lNFFT_2 + k + 1][1] = 0.0;
}
k = NFFT_2;
Gsq = static_cast<double>(k*k) + ll;
sqrtXiSqScGsq = sqrt(xisq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = sqrtXiSqScGsq*TMath::BesselK1(sqrtXiSqScGsq)/(lambdasq_scaled*Gsq);
sqrtfInfSqPlusLsqGsq = sqrt(fInf*fInf + lambdasq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = fInf*TMath::BesselK1(xiV/lambda*sqrtfInfSqPlusLsqGsq)/(sqrtfInfSqPlusLsqGsq*TMath::BesselK1(xiV/lambda*fInf));
fFFTin[lNFFT_2 + k][1] = 0.0;
}
@ -565,16 +565,16 @@ void TBulkTriVortexAGLFieldCalc::CalculateGrid() const {
ll = 3.0*static_cast<double>((NFFT-l)*(NFFT-l));
for (k = 0; k < NFFT_2; k += 2) {
Gsq = static_cast<double>(k*k) + ll;
sqrtXiSqScGsq = sqrt(xisq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = sqrtXiSqScGsq*TMath::BesselK1(sqrtXiSqScGsq)/(lambdasq_scaled*Gsq);
sqrtfInfSqPlusLsqGsq = sqrt(fInf*fInf + lambdasq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = fInf*TMath::BesselK1(xiV/lambda*sqrtfInfSqPlusLsqGsq)/(sqrtfInfSqPlusLsqGsq*TMath::BesselK1(xiV/lambda*fInf));
fFFTin[lNFFT_2 + k][1] = 0.0;
fFFTin[lNFFT_2 + k + 1][0] = 0.0;
fFFTin[lNFFT_2 + k + 1][1] = 0.0;
}
k = NFFT_2;
Gsq = static_cast<double>(k*k) + ll;
sqrtXiSqScGsq = sqrt(xisq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = sqrtXiSqScGsq*TMath::BesselK1(sqrtXiSqScGsq)/(lambdasq_scaled*Gsq);
sqrtfInfSqPlusLsqGsq = sqrt(fInf*fInf + lambdasq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = fInf*TMath::BesselK1(xiV/lambda*sqrtfInfSqPlusLsqGsq)/(sqrtfInfSqPlusLsqGsq*TMath::BesselK1(xiV/lambda*fInf));
fFFTin[lNFFT_2 + k][1] = 0.0;
}
@ -585,10 +585,10 @@ void TBulkTriVortexAGLFieldCalc::CalculateGrid() const {
ll = 3.0*static_cast<double>(l*l);
for (k = 0; k < NFFT_2; k += 2) {
Gsq = static_cast<double>((k + 1)*(k + 1)) + ll;
sqrtXiSqScGsq = sqrt(xisq_scaled*Gsq);
sqrtfInfSqPlusLsqGsq = sqrt(fInf*fInf + lambdasq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = 0.0;
fFFTin[lNFFT_2 + k][1] = 0.0;
fFFTin[lNFFT_2 + k + 1][0] = sqrtXiSqScGsq*TMath::BesselK1(sqrtXiSqScGsq)/(lambdasq_scaled*Gsq);
fFFTin[lNFFT_2 + k + 1][0] = fInf*TMath::BesselK1(xiV/lambda*sqrtfInfSqPlusLsqGsq)/(sqrtfInfSqPlusLsqGsq*TMath::BesselK1(xiV/lambda*fInf));
fFFTin[lNFFT_2 + k + 1][1] = 0.0;
}
k = NFFT_2;
@ -601,10 +601,10 @@ void TBulkTriVortexAGLFieldCalc::CalculateGrid() const {
ll = 3.0*static_cast<double>((NFFT-l)*(NFFT-l));
for (k = 0; k < NFFT_2; k += 2) {
Gsq = static_cast<double>((k+1)*(k+1)) + ll;
sqrtXiSqScGsq = sqrt(xisq_scaled*Gsq);
sqrtfInfSqPlusLsqGsq = sqrt(fInf*fInf + lambdasq_scaled*Gsq);
fFFTin[lNFFT_2 + k][0] = 0.0;
fFFTin[lNFFT_2 + k][1] = 0.0;
fFFTin[lNFFT_2 + k + 1][0] = sqrtXiSqScGsq*TMath::BesselK1(sqrtXiSqScGsq)/(lambdasq_scaled*Gsq);
fFFTin[lNFFT_2 + k + 1][0] = fInf*TMath::BesselK1(xiV/lambda*sqrtfInfSqPlusLsqGsq)/(sqrtfInfSqPlusLsqGsq*TMath::BesselK1(xiV/lambda*fInf));
fFFTin[lNFFT_2 + k + 1][1] = 0.0;
}
k = NFFT_2;
@ -619,7 +619,7 @@ void TBulkTriVortexAGLFieldCalc::CalculateGrid() const {
// Multiply by the applied field
#pragma omp parallel for default(shared) private(l) schedule(dynamic)
for (l = 0; l < NFFTsq; l++) {
fFFTout[l] *= field*(1.0-pow(b,4.0));
fFFTout[l] *= field;
}
// Set the flag which shows that the calculation has been done

View File

@ -105,6 +105,8 @@ void TFitPofBStartupHandler::OnStartElement(const char *str, const TList *attrib
fKey = eVortex;
} else if (!strcmp(str, "data_path")) {
fKey = eDataPath;
} else if (!strcmp(str, "energy_label")) {
fKey = eEnergyLabel;
} else if (!strcmp(str, "energy")) {
fKey = eEnergy;
} else if (!strcmp(str, "delta_t")) {
@ -160,9 +162,13 @@ void TFitPofBStartupHandler::OnCharacters(const char *str)
// set the data path to the given path
fDataPath = str;
break;
case eEnergyLabel:
// add str to the energy label list
fEnergyLabelList.push_back(str);
break;
case eEnergy:
// add str to the energy list
fEnergyList.push_back(str);
fEnergyList.push_back(atof(str));
break;
case eDeltat:
// convert str to double and assign it to the deltat-member
@ -318,22 +324,36 @@ void TFitPofBStartupHandler::CheckLists()
// check if any energies are given
if(fDebug)
cout << endl << "TFitPofBStartupHandler::CheckLists: check energy list ..." << endl;
if (!fEnergyList.size()) {
cout << "TFitPofBStartupHandler::CheckLists: Energy list empty! Setting the default list ( 0.0:0.1:32.9 keV)." << endl;
if (fEnergyList.size() != fEnergyLabelList.size()) {
cout << "TFitPofBStartupHandler::CheckLists: The number of energies and energy labels are different! Please fix it!" << endl;
}
if (fEnergyList.empty()) {
cout << "TFitPofBStartupHandler::CheckLists: Energy list empty!" << endl \
<< "TFitPofBStartupHandler::CheckLists: Trying to use the standard energies: 0.0 to 35.0 keV in 0.1 keV steps" << endl;
for (double x(0.0); x<= 35.0; x+=0.1) {
fEnergyList.push_back(x);
}
}
if (fEnergyLabelList.empty()) {
cout << "TFitPofBStartupHandler::CheckLists: Energy label list empty!" << endl \
<< "TFitPofBStartupHandler::CheckLists: Trying to use the specified energies as labels in the format %02.1f..." << endl \
<< "TFitPofBStartupHandler::CheckLists: Most probably this will go wrong and should therefore be fixed in the xml-file!" << endl;
char eChar[5];
for(unsigned int i(0); i<33; i++) {
for(unsigned int j(0); j<10; j++) {
sprintf(eChar, "%02u_%u", i, j);
fEnergyList.push_back(string(eChar));
}
}
} else {
if(fDebug) {
for (unsigned int i (0); i < fEnergyList.size(); i++)
cout << fEnergyList[i] << " ";
cout << endl;
for(unsigned int i(0); i<fEnergyList.size(); i++) {
sprintf(eChar, "%02.1f", fEnergyList[i]);
fEnergyLabelList.push_back(string(eChar));
}
}
if(fDebug) {
cout << "Energies: ";
for (unsigned int i (0); i < fEnergyList.size(); i++)
cout << fEnergyList[i] << " ";
cout << endl;
cout << "Energy Labels: ";
for (unsigned int i (0); i < fEnergyLabelList.size(); i++)
cout << fEnergyLabelList[i] << " ";
cout << endl;
}
// check if any number of steps for the theory function is specified
if(fDebug)

View File

@ -193,7 +193,8 @@ TLondon1DHS::TLondon1DHS() : fCalcNeeded(true), fFirstCall(true) {
fNSteps = startupHandler->GetNSteps();
fWisdom = startupHandler->GetWisdomFile();
string rge_path(startupHandler->GetDataPath());
vector<string> energy_vec(startupHandler->GetEnergyList());
vector<string> energy_label_vec(startupHandler->GetEnergyLabelList());
vector<double> energy_vec(startupHandler->GetEnergyList());
fParForPofT.push_back(0.0); // phase
fParForPofT.push_back(startupHandler->GetDeltat());
@ -206,7 +207,7 @@ TLondon1DHS::TLondon1DHS() : fCalcNeeded(true), fFirstCall(true) {
fParForPofB.push_back(0.005); // Bkg-width
fParForPofB.push_back(0.0); // Bkg-weight
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
TTrimSPData *x = new TTrimSPData(rge_path, energy_label_vec, energy_vec);
fImpProfile = x;
x = 0;
@ -354,7 +355,8 @@ TLondon1D1L::TLondon1D1L() : fCalcNeeded(true), fFirstCall(true), fCallCounter(0
fNSteps = startupHandler->GetNSteps();
fWisdom = startupHandler->GetWisdomFile();
string rge_path(startupHandler->GetDataPath());
vector<string> energy_vec(startupHandler->GetEnergyList());
vector<string> energy_label_vec(startupHandler->GetEnergyLabelList());
vector<double> energy_vec(startupHandler->GetEnergyList());
fParForPofT.push_back(0.0);
fParForPofT.push_back(startupHandler->GetDeltat());
@ -364,7 +366,7 @@ TLondon1D1L::TLondon1D1L() : fCalcNeeded(true), fFirstCall(true), fCallCounter(0
fParForPofB.push_back(startupHandler->GetDeltaB());
fParForPofB.push_back(0.0);
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
TTrimSPData *x = new TTrimSPData(rge_path, energy_label_vec, energy_vec);
fImpProfile = x;
x = 0;
@ -505,7 +507,8 @@ TLondon1D2L::TLondon1D2L() : fCalcNeeded(true), fFirstCall(true), fLastTwoChange
fNSteps = startupHandler->GetNSteps();
fWisdom = startupHandler->GetWisdomFile();
string rge_path(startupHandler->GetDataPath());
vector<string> energy_vec(startupHandler->GetEnergyList());
vector<string> energy_label_vec(startupHandler->GetEnergyLabelList());
vector<double> energy_vec(startupHandler->GetEnergyList());
fParForPofT.push_back(0.0);
fParForPofT.push_back(startupHandler->GetDeltat());
@ -515,7 +518,7 @@ TLondon1D2L::TLondon1D2L() : fCalcNeeded(true), fFirstCall(true), fLastTwoChange
fParForPofB.push_back(startupHandler->GetDeltaB());
fParForPofB.push_back(0.0);
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
TTrimSPData *x = new TTrimSPData(rge_path, energy_label_vec, energy_vec);
fImpProfile = x;
x = 0;
@ -659,7 +662,8 @@ TProximity1D1LHS::TProximity1D1LHS() : fCalcNeeded(true), fFirstCall(true) {
fNSteps = startupHandler->GetNSteps();
fWisdom = startupHandler->GetWisdomFile();
string rge_path(startupHandler->GetDataPath());
vector<string> energy_vec(startupHandler->GetEnergyList());
vector<string> energy_label_vec(startupHandler->GetEnergyLabelList());
vector<double> energy_vec(startupHandler->GetEnergyList());
fParForPofT.push_back(0.0);
fParForPofT.push_back(startupHandler->GetDeltat());
@ -672,7 +676,7 @@ TProximity1D1LHS::TProximity1D1LHS() : fCalcNeeded(true), fFirstCall(true) {
fParForPofB.push_back(0.01); // Bkg-width
fParForPofB.push_back(0.0); // Bkg-weight
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
TTrimSPData *x = new TTrimSPData(rge_path, energy_label_vec, energy_vec);
fImpProfile = x;
x = 0;
@ -825,7 +829,8 @@ TProximity1D1LHSGss::TProximity1D1LHSGss() : fCalcNeeded(true), fFirstCall(true)
fNSteps = startupHandler->GetNSteps();
fWisdom = startupHandler->GetWisdomFile();
string rge_path(startupHandler->GetDataPath());
vector<string> energy_vec(startupHandler->GetEnergyList());
vector<string> energy_label_vec(startupHandler->GetEnergyLabelList());
vector<double> energy_vec(startupHandler->GetEnergyList());
fParForPofT.push_back(0.0);
fParForPofT.push_back(startupHandler->GetDeltat());
@ -836,7 +841,7 @@ TProximity1D1LHSGss::TProximity1D1LHSGss() : fCalcNeeded(true), fFirstCall(true)
fParForPofB.push_back(0.0);
// fParForPofB.push_back(0.0);
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
TTrimSPData *x = new TTrimSPData(rge_path, energy_label_vec, energy_vec);
fImpProfile = x;
x = 0;
@ -963,7 +968,8 @@ TLondon1D3L::TLondon1D3L() : fCalcNeeded(true), fFirstCall(true), fLastThreeChan
fNSteps = startupHandler->GetNSteps();
fWisdom = startupHandler->GetWisdomFile();
string rge_path(startupHandler->GetDataPath());
vector<string> energy_vec(startupHandler->GetEnergyList());
vector<string> energy_label_vec(startupHandler->GetEnergyLabelList());
vector<double> energy_vec(startupHandler->GetEnergyList());
fParForPofT.push_back(0.0);
fParForPofT.push_back(startupHandler->GetDeltat());
@ -973,7 +979,7 @@ TLondon1D3L::TLondon1D3L() : fCalcNeeded(true), fFirstCall(true), fLastThreeChan
fParForPofB.push_back(startupHandler->GetDeltaB());
fParForPofB.push_back(0.0);
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
TTrimSPData *x = new TTrimSPData(rge_path, energy_label_vec, energy_vec);
fImpProfile = x;
x = 0;
@ -1131,7 +1137,8 @@ TLondon1D3LS::TLondon1D3LS() : fCalcNeeded(true), fFirstCall(true), fLastThreeCh
fNSteps = startupHandler->GetNSteps();
fWisdom = startupHandler->GetWisdomFile();
string rge_path(startupHandler->GetDataPath());
vector<string> energy_vec(startupHandler->GetEnergyList());
vector<string> energy_label_vec(startupHandler->GetEnergyLabelList());
vector<double> energy_vec(startupHandler->GetEnergyList());
fParForPofT.push_back(0.0);
fParForPofT.push_back(startupHandler->GetDeltat());
@ -1141,7 +1148,7 @@ TLondon1D3LS::TLondon1D3LS() : fCalcNeeded(true), fFirstCall(true), fLastThreeCh
fParForPofB.push_back(startupHandler->GetDeltaB());
fParForPofB.push_back(0.0);
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
TTrimSPData *x = new TTrimSPData(rge_path, energy_label_vec, energy_vec);
fImpProfile = x;
x = 0;
@ -1451,7 +1458,8 @@ TLondon1D3LSub::TLondon1D3LSub() : fCalcNeeded(true), fFirstCall(true), fWeights
fNSteps = startupHandler->GetNSteps();
fWisdom = startupHandler->GetWisdomFile();
string rge_path(startupHandler->GetDataPath());
vector<string> energy_vec(startupHandler->GetEnergyList());
vector<string> energy_label_vec(startupHandler->GetEnergyLabelList());
vector<double> energy_vec(startupHandler->GetEnergyList());
fParForPofT.push_back(0.0);
fParForPofT.push_back(startupHandler->GetDeltat());
@ -1461,7 +1469,7 @@ TLondon1D3LSub::TLondon1D3LSub() : fCalcNeeded(true), fFirstCall(true), fWeights
fParForPofB.push_back(startupHandler->GetDeltaB());
fParForPofB.push_back(0.0);
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
TTrimSPData *x = new TTrimSPData(rge_path, energy_label_vec, energy_vec);
fImpProfile = x;
x = 0;

View File

@ -58,39 +58,33 @@ using namespace std;
// Also always use the same format within one energyVec - otherwise sorting of the vector will not work properly!
//--------------------
TTrimSPData::TTrimSPData(const string &path, vector<string> &energyVec) {
TTrimSPData::TTrimSPData(const string &path, const vector<string> &energyLabelVec, const vector<double> &energyVec) {
// sort the energies in ascending orders - this might be useful for later applications (energy-interpolations etc.)
sort(energyVec.begin(), energyVec.end());
// Do not do it at the moment until I find a suitable way to sort energy and energy-labels at once.
// sort(energyVec.begin(), energyVec.end());
if (energyLabelVec.size() != energyVec.size()) {
cout << "TTrimSPData::TTrimSPData: The number of energies and labels have to be the same!" << endl;
cout << "TTrimSPData::TTrimSPData: Please fix this problem! The programme will be terminated now!" << endl;
assert(false);
}
double zz(0.0), nzz(0.0);
vector<double> vzz, vnzz;
string word, energyStr;
for(unsigned int i(0); i<energyVec.size(); i++){
for(unsigned int i(0); i<energyVec.size(); i++) {
energyStr = path + energyVec[i] + ".rge";
energyStr = path + energyLabelVec[i] + ".rge";
ifstream *rgeFile = new ifstream(energyStr.c_str());
if(! *rgeFile) {
cout << "TTrimSPData::TTrimSPData: rge-file not found! Try next energy..." << endl;
cout << "TTrimSPData::TTrimSPData: file " << energyStr << " not found! Try next energy..." << endl;
delete rgeFile;
rgeFile = 0;
} else {
if (energyVec[i].length() == 4)
fEnergy.push_back(atof(energyVec[i].replace(2,1,".").c_str()));
else if (energyVec[i].length() == 3) {
energyVec[i].insert(energyVec[i].end()-1, 1, '.');
fEnergy.push_back(atof(energyVec[i].c_str()));
} else {
cout << "TTrimSPData::TTrimSPData: The energy cannot be correctly extracted from the rge-file name!" << endl;
cout << "TTrimSPData::TTrimSPData: Please use file names in one of the following formats, e.g. for E=2.1keV use:" << endl;
cout << "TTrimSPData::TTrimSPData: <some_path>02_1.rge" << endl;
cout << "TTrimSPData::TTrimSPData: <some_path>02-1.rge" << endl;
cout << "TTrimSPData::TTrimSPData: <some_path>02.1.rge" << endl;
cout << "TTrimSPData::TTrimSPData: <some_path>021.rge" << endl;
assert(false);
}
fEnergy.push_back(energyVec[i]);
while(*rgeFile >> word)
if(word == "PARTICLES") break;

View File

@ -60,7 +60,8 @@ class TFitPofBStartupHandler : public TQObject {
virtual void CheckLists();
virtual const string GetDataPath() const { return fDataPath; }
virtual vector<string> GetEnergyList() const { return fEnergyList; }
virtual vector<string> GetEnergyLabelList() const { return fEnergyLabelList; }
virtual vector<double> GetEnergyList() const { return fEnergyList; }
virtual const double GetDeltat() const { return fDeltat; }
virtual const double GetDeltaB() const { return fDeltaB; }
virtual const string GetWisdomFile() const { return fWisdomFile; }
@ -68,7 +69,8 @@ class TFitPofBStartupHandler : public TQObject {
virtual const unsigned int GetGridSteps() const { return fGridSteps; }
private:
enum EKeyWords {eEmpty, eComment, eDebug, eLEM, eVortex, eDataPath, eEnergy, eEnergyList, eDeltat, eDeltaB, eWisdomFile, eNSteps, eGridSteps};
enum EKeyWords {eEmpty, eComment, eDebug, eLEM, eVortex, eDataPath, eEnergyLabel, \
eEnergy, eEnergyList, eDeltat, eDeltaB, eWisdomFile, eNSteps, eGridSteps};
EKeyWords fKey;
@ -76,7 +78,8 @@ class TFitPofBStartupHandler : public TQObject {
bool fLEM;
bool fVortex;
string fDataPath;
vector<string> fEnergyList;
vector<string> fEnergyLabelList;
vector<double> fEnergyList;
double fDeltat;
double fDeltaB;
string fWisdomFile;

View File

@ -40,7 +40,7 @@ class TTrimSPData {
public:
TTrimSPData(const string&, vector<string>&);
TTrimSPData(const string&, const vector<string>&, const vector<double>&);
~TTrimSPData() {
fDataZ.clear();

View File

@ -6,7 +6,7 @@
There are different sections:
* Common parameters which are used for any kind of function
* Parameters for low energy uSR data analysis with given B(z)
* Parameters for bulk uSR data analysis (currently only one model to calculate field distributions for a triangular vortex lattice)
* Parameters for bulk uSR data analysis (currently only four model to calculate field distributions for a triangular vortex lattice)
Common parameters:
- debug : set it to 1 in order to obtain some information what is read from the xml-file
@ -15,7 +15,8 @@
- delta_B : field resolution of P(B) in Gauss
LEM parameters (if the LEM tag is present it is expected that the data_path tag contains a valid path):
- data_path, energy_list : Defines path/prefix and energies (keV, format: %02u_%1u) of TrimSP-rge-files,
- data_path, energy_list : Defines path/prefix, energy-labels and energies (keV) of TrimSP-rge-files
The expected file-names are then: data_path + energy_label + .rge
- N_theory : determines the number of points in "real space" where the theory function B(z) will be calculated (if necessary)
bulk parameters:
@ -32,26 +33,46 @@
<data_path>/home/l_wojek/TrimSP/YBCOxtal/YBCOxtal-500000-</data_path>
<N_theory>5000</N_theory>
<energy_list>
<energy>03_0</energy>
<energy>03_6</energy>
<energy>05_0</energy>
<energy>05_3</energy>
<energy>07_0</energy>
<energy>07_7</energy>
<energy>08_0</energy>
<energy>09_0</energy>
<energy>10_0</energy>
<energy>10_2</energy>
<energy>12_0</energy>
<energy>14_1</energy>
<energy>16_0</energy>
<energy>16_4</energy>
<energy>18_0</energy>
<energy>19_7</energy>
<energy>20_0</energy>
<energy>22_0</energy>
<energy>24_0</energy>
<energy>24_6</energy>
<energy_label>03_0</energy_label>
<energy>3.0</energy>
<energy_label>03_6</energy_label>
<energy>3.6</energy>
<energy_label>05_0</energy_label>
<energy>5.0</energy>
<energy_label>05_3</energy_label>
<energy>5.3</energy>
<energy_label>07_0</energy_label>
<energy>7.0</energy>
<energy_label>07_7</energy_label>
<energy>7.7</energy>
<energy_label>08_0</energy_label>
<energy>8.0</energy>
<energy_label>09_0</energy_label>
<energy>9.0</energy>
<energy_label>10_0</energy_label>
<energy>10.0</energy>
<energy_label>10_2</energy_label>
<energy>10.2</energy>
<energy_label>12_0</energy_label>
<energy>12.0</energy>
<energy_label>14_1</energy_label>
<energy>14.1</energy>
<energy_label>16_0</energy_label>
<energy>16.0</energy>
<energy_label>16_4</energy_label>
<energy>16.4</energy>
<energy_label>18_0</energy_label>
<energy>18.0</energy>
<energy_label>19_7</energy_label>
<energy>19.7</energy>
<energy_label>20_0</energy_label>
<energy>20.0</energy>
<energy_label>22_0</energy_label>
<energy>22.0</energy>
<energy_label>24_0</energy_label>
<energy>24.0</energy>
<energy_label>24_6</energy_label>
<energy>24.6</energy>
</energy_list>
</LEM>
</TFitPofB>