* Changed the exit condition for a few external classes in case the xml-file is not found.
Until now the program terminated with a segmentation fault which was not very user friendly... * Got rid of a strange construction in the TRIM.SP handler (vector<pair> -> map)
This commit is contained in:
parent
f1a0dc72fc
commit
440d22bc99
11
NEWS
11
NEWS
@ -1,9 +1,18 @@
|
||||
#---------------------------------------------------------------------
|
||||
# NEWS
|
||||
# Andreas Suter, 2009/06/21
|
||||
# Andreas Suter, 2010/06/15
|
||||
# $Id: NEWS 4013 2009-06-21
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
musrfit 0.6.0
|
||||
+ Added grouping of histograms
|
||||
+ Added global mode to msr2data
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
|
||||
|
||||
musrfit 0.5.0
|
||||
|
||||
+ Initial release supporting building by autotools
|
||||
|
6
README
6
README
@ -1,16 +1,16 @@
|
||||
#---------------------------------------------------------------------
|
||||
# README
|
||||
# Andreas Suter, 2009/06/21
|
||||
# Andreas Suter, 2010/06/20
|
||||
# $Id: README 4013 2009-06-21
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
musrfit - muSR data analysis package
|
||||
|
||||
Installation instructions can be found in INSTALL and at
|
||||
https://wiki.intranet.psi.ch/MUSR/MusrFitSetup
|
||||
https://intranet.psi.ch/MUSR/MusrFitSetup
|
||||
|
||||
For further documentation, please visit
|
||||
https://wiki.intranet.psi.ch/MUSR/MusrFit
|
||||
https://intranet.psi.ch/MUSR/MusrFit
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# this is the end ...
|
||||
|
@ -79,9 +79,9 @@ AC_SUBST(CUBA_API_VERSION)
|
||||
CUBA_LIBRARY_VERSION=1:6:0
|
||||
PLUGIN_LIBRARY_VERSION=1:0:0
|
||||
LEM_LIBRARY_VERSION=1:5:0
|
||||
PSIBIN_LIBRARY_VERSION=0:0:0
|
||||
PSIBIN_LIBRARY_VERSION=0:1:0
|
||||
MUD_LIBRARY_VERSION=0:0:0
|
||||
MUSR_LIBRARY_VERSION=0:5:0
|
||||
MUSR_LIBRARY_VERSION=0:6:0
|
||||
# | | |
|
||||
# +------+ | +---+
|
||||
# | | |
|
||||
|
@ -456,7 +456,7 @@ TProximity1D_1LHS::TProximity1D_1LHS(const vector<double> ¶m, unsigned int s
|
||||
|
||||
fParam.resize(param.size());
|
||||
fParam[0] = param[0]; // Bext
|
||||
(param[0] != param[1]) ? fParam[1] = param[1] : fParam[1] = param[1]-0.01; // B1
|
||||
(param[0] != param[1]) ? fParam[1] = param[1] : fParam[1] = param[1]-0.001; // B1
|
||||
(param[2] >= 0.) ? fParam[2] = param[2] : fParam[2] = 0.; // deadlayer
|
||||
(param[3] >= 0.) ? fParam[3] = param[3] : fParam[3] = 0.; // thickness1
|
||||
(param[3] >= 1.) ? fParam[4] = param[4] : fParam[4] = 1.; // lambda
|
||||
|
@ -351,19 +351,16 @@ void TFitPofBStartupHandler::CheckLists()
|
||||
}
|
||||
}
|
||||
|
||||
// fill the energies and labels in the pair-vector
|
||||
// fill the energies and labels in the map
|
||||
fEnergies.clear();
|
||||
pair<double, string> p;
|
||||
for(unsigned int i(0); i < fEnergyList.size(); i++) {
|
||||
p.first = fEnergyList[i];
|
||||
p.second = fEnergyLabelList[i];
|
||||
fEnergies.push_back(p);
|
||||
fEnergies[fEnergyList[i]] = fEnergyLabelList[i];
|
||||
}
|
||||
|
||||
if(fDebug) {
|
||||
cout << "Energies and Labels:";
|
||||
for (unsigned int i (0); i < fEnergies.size(); i++)
|
||||
cout << fEnergies[i].first << " " << fEnergies[i].second << endl;
|
||||
for ( map<double, string>::const_iterator iter(fEnergies.begin()); iter != fEnergies.end(); ++iter )
|
||||
cout << iter->first << " " << iter->second << endl;
|
||||
}
|
||||
|
||||
// check if any number of steps for the theory function is specified
|
||||
|
56
src/external/TFitPofB-lib/classes/TLondon1D.cpp
vendored
56
src/external/TFitPofB-lib/classes/TLondon1D.cpp
vendored
@ -187,13 +187,16 @@ TLondon1DHS::TLondon1DHS() : fCalcNeeded(true), fFirstCall(true) {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fNSteps = startupHandler->GetNSteps();
|
||||
fWisdom = startupHandler->GetWisdomFile();
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
fParForPofT.push_back(0.0); // phase
|
||||
fParForPofT.push_back(startupHandler->GetDeltat());
|
||||
@ -348,13 +351,16 @@ TLondon1D1L::TLondon1D1L() : fCalcNeeded(true), fFirstCall(true), fCallCounter(0
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fNSteps = startupHandler->GetNSteps();
|
||||
fWisdom = startupHandler->GetWisdomFile();
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
fParForPofT.push_back(0.0);
|
||||
fParForPofT.push_back(startupHandler->GetDeltat());
|
||||
@ -499,13 +505,16 @@ TLondon1D2L::TLondon1D2L() : fCalcNeeded(true), fFirstCall(true), fLastTwoChange
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fNSteps = startupHandler->GetNSteps();
|
||||
fWisdom = startupHandler->GetWisdomFile();
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
fParForPofT.push_back(0.0);
|
||||
fParForPofT.push_back(startupHandler->GetDeltat());
|
||||
@ -653,13 +662,16 @@ TProximity1D1LHS::TProximity1D1LHS() : fCalcNeeded(true), fFirstCall(true) {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fNSteps = startupHandler->GetNSteps();
|
||||
fWisdom = startupHandler->GetWisdomFile();
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
fParForPofT.push_back(0.0);
|
||||
fParForPofT.push_back(startupHandler->GetDeltat());
|
||||
@ -819,13 +831,16 @@ TProximity1D1LHSGss::TProximity1D1LHSGss() : fCalcNeeded(true), fFirstCall(true)
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fNSteps = startupHandler->GetNSteps();
|
||||
fWisdom = startupHandler->GetWisdomFile();
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
fParForPofT.push_back(0.0);
|
||||
fParForPofT.push_back(startupHandler->GetDeltat());
|
||||
@ -957,13 +972,16 @@ TLondon1D3L::TLondon1D3L() : fCalcNeeded(true), fFirstCall(true), fLastThreeChan
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fNSteps = startupHandler->GetNSteps();
|
||||
fWisdom = startupHandler->GetWisdomFile();
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
fParForPofT.push_back(0.0);
|
||||
fParForPofT.push_back(startupHandler->GetDeltat());
|
||||
@ -1125,13 +1143,16 @@ TLondon1D3LS::TLondon1D3LS() : fCalcNeeded(true), fFirstCall(true), fLastThreeCh
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fNSteps = startupHandler->GetNSteps();
|
||||
fWisdom = startupHandler->GetWisdomFile();
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
fParForPofT.push_back(0.0);
|
||||
fParForPofT.push_back(startupHandler->GetDeltat());
|
||||
@ -1445,13 +1466,16 @@ TLondon1D3LSub::TLondon1D3LSub() : fCalcNeeded(true), fFirstCall(true), fWeights
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fNSteps = startupHandler->GetNSteps();
|
||||
fWisdom = startupHandler->GetWisdomFile();
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
fParForPofT.push_back(0.0);
|
||||
fParForPofT.push_back(startupHandler->GetDeltat());
|
||||
|
11
src/external/TFitPofB-lib/classes/TPofBCalc.cpp
vendored
11
src/external/TFitPofB-lib/classes/TPofBCalc.cpp
vendored
@ -531,3 +531,14 @@ void TPofBCalc::ConvolveGss(double w) {
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
double TPofBCalc::GetFirstMoment() const {
|
||||
|
||||
double pBsum(0.0);
|
||||
for (unsigned int i(0); i < fPBSize; i++)
|
||||
pBsum += fB[i]*fPB[i];
|
||||
pBsum *= fDB;
|
||||
|
||||
return pBsum;
|
||||
|
||||
}
|
||||
|
@ -58,18 +58,19 @@ 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< pair<double, string> > &energies) {
|
||||
TTrimSPData::TTrimSPData(const string &path, map<double, string> &energies) {
|
||||
|
||||
// sort the energies in ascending order - this might be useful for later applications (energy-interpolations etc.)
|
||||
sort(energies.begin(), energies.end());
|
||||
// after the change from the vector to the map this is not necessary any more - since maps are always ordered!
|
||||
// sort(energies.begin(), energies.end());
|
||||
|
||||
double zz(0.0), nzz(0.0);
|
||||
vector<double> vzz, vnzz;
|
||||
string word, energyStr;
|
||||
|
||||
for(unsigned int i(0); i<energies.size(); i++) {
|
||||
for ( map<double, string>::const_iterator iter(energies.begin()); iter != energies.end(); ++iter ) {
|
||||
|
||||
energyStr = path + energies[i].second + ".rge";
|
||||
energyStr = path + iter->second + ".rge";
|
||||
|
||||
ifstream *rgeFile = new ifstream(energyStr.c_str());
|
||||
if(! *rgeFile) {
|
||||
@ -77,7 +78,7 @@ TTrimSPData::TTrimSPData(const string &path, vector< pair<double, string> > &ene
|
||||
delete rgeFile;
|
||||
rgeFile = 0;
|
||||
} else {
|
||||
fEnergy.push_back(energies[i].first);
|
||||
fEnergy.push_back(iter->first);
|
||||
|
||||
while(*rgeFile >> word)
|
||||
if(word == "PARTICLES") break;
|
||||
|
20
src/external/TFitPofB-lib/classes/TVortex.cpp
vendored
20
src/external/TFitPofB-lib/classes/TVortex.cpp
vendored
@ -127,7 +127,10 @@ TBulkTriVortexLondon::TBulkTriVortexLondon() : fCalcNeeded(true), fFirstCall(tru
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fGridSteps = startupHandler->GetGridSteps();
|
||||
@ -265,7 +268,10 @@ TBulkTriVortexML::TBulkTriVortexML() : fCalcNeeded(true), fFirstCall(true) {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fGridSteps = startupHandler->GetGridSteps();
|
||||
@ -404,7 +410,10 @@ TBulkTriVortexAGL::TBulkTriVortexAGL() : fCalcNeeded(true), fFirstCall(true) {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fGridSteps = startupHandler->GetGridSteps();
|
||||
@ -543,7 +552,10 @@ TBulkTriVortexNGL::TBulkTriVortexNGL() : fCalcNeeded(true), fFirstCall(true) {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
fGridSteps = startupHandler->GetGridSteps();
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include <TQObject.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
class TFitPofBStartupHandler : public TQObject {
|
||||
public:
|
||||
@ -60,7 +61,7 @@ class TFitPofBStartupHandler : public TQObject {
|
||||
virtual void CheckLists();
|
||||
|
||||
virtual const string GetDataPath() const { return fDataPath; }
|
||||
virtual vector< pair<double, string> > GetEnergies() const { return fEnergies; }
|
||||
virtual map<double, string> GetEnergies() const { return fEnergies; }
|
||||
virtual const double GetDeltat() const { return fDeltat; }
|
||||
virtual const double GetDeltaB() const { return fDeltaB; }
|
||||
virtual const string GetWisdomFile() const { return fWisdomFile; }
|
||||
@ -79,7 +80,7 @@ class TFitPofBStartupHandler : public TQObject {
|
||||
string fDataPath;
|
||||
vector<string> fEnergyLabelList;
|
||||
vector<double> fEnergyList;
|
||||
vector< pair<double, string> > fEnergies;
|
||||
map<double, string> fEnergies;
|
||||
double fDeltat;
|
||||
double fDeltaB;
|
||||
string fWisdomFile;
|
||||
|
@ -64,6 +64,7 @@ public:
|
||||
unsigned int GetPBSize() const {return fPBSize;}
|
||||
void ConvolveGss(double);
|
||||
void AddBackground(double, double, double);
|
||||
double GetFirstMoment() const;
|
||||
void UnsetPBExists();
|
||||
|
||||
private:
|
||||
|
@ -34,13 +34,14 @@
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <map>
|
||||
using namespace std;
|
||||
|
||||
class TTrimSPData {
|
||||
|
||||
public:
|
||||
|
||||
TTrimSPData(const string&, vector< pair<double, string> >&);
|
||||
TTrimSPData(const string&, map<double, string>&);
|
||||
|
||||
~TTrimSPData() {
|
||||
fDataZ.clear();
|
||||
|
@ -29,6 +29,7 @@
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#include <cassert>
|
||||
#include <algorithm>
|
||||
#include <functional>
|
||||
#include <string>
|
||||
@ -58,11 +59,14 @@ TMeanFieldsForScHalfSpace::TMeanFieldsForScHalfSpace() {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
|
||||
fImpProfile = x;
|
||||
@ -147,11 +151,14 @@ TMeanFieldsForScSingleLayer::TMeanFieldsForScSingleLayer() {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
|
||||
fImpProfile = x;
|
||||
@ -244,11 +251,14 @@ TMeanFieldsForScBilayer::TMeanFieldsForScBilayer() {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
|
||||
fImpProfile = x;
|
||||
@ -345,11 +355,14 @@ TMeanFieldsForScTrilayer::TMeanFieldsForScTrilayer() {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
|
||||
fImpProfile = x;
|
||||
@ -448,11 +461,14 @@ TMeanFieldsForScTrilayerWithInsulator::TMeanFieldsForScTrilayerWithInsulator() {
|
||||
int status (saxParser->ParseFile(startup_path_name.c_str()));
|
||||
// check for parse errors
|
||||
if (status) { // error
|
||||
cout << endl << "**WARNING** reading/parsing TFitPofB_startup.xml failed." << endl;
|
||||
cerr << endl << "**ERROR** reading/parsing TFitPofB_startup.xml failed." \
|
||||
<< endl << "**ERROR** Please make sure that the file exists in the local directory and it is set up correctly!" \
|
||||
<< endl;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
string rge_path(startupHandler->GetDataPath());
|
||||
vector< pair<double, string> > energy_vec(startupHandler->GetEnergies());
|
||||
map<double, string> energy_vec(startupHandler->GetEnergies());
|
||||
|
||||
TTrimSPData *x = new TTrimSPData(rge_path, energy_vec);
|
||||
fImpProfile = x;
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include <cassert>
|
||||
#include <sys/time.h>
|
||||
#include <iostream>
|
||||
#include <cmath>
|
||||
|
||||
#include "../BMWIntegrator/BMWIntegrator.h"
|
||||
#include "TLFRelaxation.h"
|
||||
@ -135,7 +136,7 @@ double TLFStatLorKT::operator()(double t, const vector<double> &par) const {
|
||||
TLFDynGssKT::TLFDynGssKT() : fCalcNeeded(true), fFirstCall(true), fWisdom("WordsOfWisdom.dat"), fNSteps(524288), fDt(0.00004), fCounter(0) {
|
||||
// Calculate d_omega and C for given NFFT and dt
|
||||
fDw = PI/fNSteps/fDt;
|
||||
fC = 2.0*gsl_sf_log(double(fNSteps))/(double(fNSteps-1)*fDt);
|
||||
fC = 2.0*TMath::Log(double(fNSteps))/(double(fNSteps-1)*fDt);
|
||||
|
||||
// Load FFTW Wisdom
|
||||
int wisdomLoaded(0);
|
||||
@ -223,7 +224,7 @@ double TLFDynGssKT::operator()(double t, const vector<double> &par) const {
|
||||
}
|
||||
|
||||
if((par[2] >= 5.0*par[1]) || (omegaL >= 10.0*par[1])) {
|
||||
return exp(-2.0*sigsq/(omegaLnusqp*omegaLnusqp)*(omegaLnusqp*nut+omegaLnusqm*(1.0-enut*gsl_sf_cos(wt))-2.0*par[2]*omegaL*enut*gsl_sf_sin(wt))); // Keren
|
||||
return exp(-2.0*sigsq/(omegaLnusqp*omegaLnusqp)*(omegaLnusqp*nut+omegaLnusqm*(1.0-enut*cos(wt))-2.0*par[2]*omegaL*enut*sin(wt))); // Keren
|
||||
}
|
||||
|
||||
if(fCalcNeeded) {
|
||||
@ -251,7 +252,7 @@ double TLFDynGssKT::operator()(double t, const vector<double> &par) const {
|
||||
|
||||
for(unsigned int i(1); i<fNSteps; i++) {
|
||||
tt=(double(i)-0.5)*fDt;
|
||||
fFFTtime[i]=(gsl_sf_sin(omegaL*tt) * exp(-0.5*sigsq*tt*tt))*fDt;
|
||||
fFFTtime[i]=(sin(omegaL*tt) * exp(-0.5*sigsq*tt*tt))*fDt;
|
||||
}
|
||||
|
||||
double totoIntegrale(0.);
|
||||
@ -259,7 +260,7 @@ double TLFDynGssKT::operator()(double t, const vector<double> &par) const {
|
||||
for(unsigned int i(1); i<fNSteps; i++) {
|
||||
tt=double(i)*fDt;
|
||||
totoIntegrale+=fFFTtime[i];
|
||||
fFFTtime[i]=(1.0-(coeff1*(1.0-exp(-0.5*sigsq*tt*tt)*gsl_sf_cos(omegaL*tt)))+(coeff2*totoIntegrale))*exp(mcplusnu*tt)*fDt;
|
||||
fFFTtime[i]=(1.0-(coeff1*(1.0-exp(-0.5*sigsq*tt*tt)*cos(omegaL*tt)))+(coeff2*totoIntegrale))*exp(mcplusnu*tt)*fDt;
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
10
src/external/libLFRelaxation/TLFRelaxation.h
vendored
10
src/external/libLFRelaxation/TLFRelaxation.h
vendored
@ -38,11 +38,11 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
#include "gsl/gsl_math.h"
|
||||
#include "gsl/gsl_sf_exp.h"
|
||||
#include "gsl/gsl_sf_log.h"
|
||||
#include "gsl/gsl_sf_trig.h"
|
||||
#include "gsl/gsl_sf_bessel.h"
|
||||
//#include "gsl/gsl_math.h"
|
||||
//#include "gsl/gsl_sf_exp.h"
|
||||
//#include "gsl/gsl_sf_log.h"
|
||||
//#include "gsl/gsl_sf_trig.h"
|
||||
//#include "gsl/gsl_sf_bessel.h"
|
||||
|
||||
|
||||
//#include "TMath.h"
|
||||
|
2
src/external/mud/src/Makefile.am
vendored
2
src/external/mud/src/Makefile.am
vendored
@ -12,7 +12,7 @@ cpp_sources = mud_all.c \
|
||||
include_HEADERS = mud.h
|
||||
|
||||
INCLUDES = -I.
|
||||
AM_CXXFLAGS = $(LOCAL_MUD_LIB_CXXFLAGS)
|
||||
AM_CFLAGS = $(LOCAL_MUD_LIB_CXXFLAGS)
|
||||
|
||||
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS)
|
||||
CLEANFILES = *~ core
|
||||
|
@ -106,10 +106,10 @@ void msr2data_syntax()
|
||||
cout << endl << " global : switch on the global-fit mode";
|
||||
cout << endl << " Within that mode all specified runs will be united in a single msr-file!";
|
||||
cout << endl << " The fit parameters can be either run specific or common to all runs.";
|
||||
cout << endl << " For a complete description of this feature please refer to the manual (yet to be written).";
|
||||
cout << endl << " For a complete description of this feature please refer to the manual.";
|
||||
cout << endl;
|
||||
cout << endl << " For further information please refer to";
|
||||
cout << endl << " https://wiki.intranet.psi.ch/MUSR/Msr2Data";
|
||||
cout << endl << " https://intranet.psi.ch/MUSR/Msr2Data";
|
||||
cout << endl << endl;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user