some more work towards Nonlocal fitting
This commit is contained in:
6
src/external/Nonlocal/Makefile
vendored
6
src/external/Nonlocal/Makefile
vendored
@ -101,7 +101,7 @@ install: all
|
|||||||
@echo "Installing shared lib: libPUserFcn.so ( you must be root ;-) )"
|
@echo "Installing shared lib: libPUserFcn.so ( you must be root ;-) )"
|
||||||
ifeq ($(OS),LINUX)
|
ifeq ($(OS),LINUX)
|
||||||
cp -pv $(SHLIB) $(ROOTSYS)/lib
|
cp -pv $(SHLIB) $(ROOTSYS)/lib
|
||||||
# cp -pv ../include/PNonlocal.h $(ROOTSYS)/include
|
# cp -pv PNonlocal.h $(ROOTSYS)/include
|
||||||
# cp -pv ../include/PNL_StartupHandler.h $(ROOTSYS)/include
|
# cp -pv PNL_StartupHandler.h $(ROOTSYS)/include
|
||||||
# cp -pv ../include/PNL_PippardFitter.h $(ROOTSYS)/include
|
cp -pv PNL_PippardFitter.h $(ROOTSYS)/include
|
||||||
endif
|
endif
|
||||||
|
6
src/external/Nonlocal/PNL_PippardFitter.cpp
vendored
6
src/external/Nonlocal/PNL_PippardFitter.cpp
vendored
@ -77,6 +77,10 @@ PNL_PippardFitter::PNL_PippardFitter()
|
|||||||
saxParser = 0;
|
saxParser = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check if everything went fine with the startup handler
|
||||||
|
if (!fStartupHandler->IsValid())
|
||||||
|
assert(false);
|
||||||
|
|
||||||
// load all the TRIM.SP rge-files
|
// load all the TRIM.SP rge-files
|
||||||
fRgeHandler = new PNL_RgeHandler(fStartupHandler->GetTrimSpDataPathList());
|
fRgeHandler = new PNL_RgeHandler(fStartupHandler->GetTrimSpDataPathList());
|
||||||
if (!fRgeHandler->IsValid())
|
if (!fRgeHandler->IsValid())
|
||||||
@ -106,7 +110,7 @@ PNL_PippardFitter::~PNL_PippardFitter()
|
|||||||
Double_t PNL_PippardFitter::operator()(Double_t t, const std::vector<Double_t> ¶m) const
|
Double_t PNL_PippardFitter::operator()(Double_t t, const std::vector<Double_t> ¶m) const
|
||||||
{
|
{
|
||||||
// expected parameters: energy, temp, thickness, meanFreePath, xi0, lambdaL
|
// expected parameters: energy, temp, thickness, meanFreePath, xi0, lambdaL
|
||||||
assert(param.size() != 6);
|
assert(param.size() == 6);
|
||||||
|
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
8
src/external/Nonlocal/PNL_RgeHandler.cpp
vendored
8
src/external/Nonlocal/PNL_RgeHandler.cpp
vendored
@ -138,7 +138,7 @@ Bool_t PNL_RgeHandler::LoadRgeData(const PStringVector &rgeDataPathList)
|
|||||||
ifstream fin;
|
ifstream fin;
|
||||||
PNL_RgeData data;
|
PNL_RgeData data;
|
||||||
Int_t idx=0;
|
Int_t idx=0;
|
||||||
TString dataName;
|
TString dataName, tstr;
|
||||||
char line[512];
|
char line[512];
|
||||||
int result;
|
int result;
|
||||||
double dist, val;
|
double dist, val;
|
||||||
@ -173,6 +173,12 @@ Bool_t PNL_RgeHandler::LoadRgeData(const PStringVector &rgeDataPathList)
|
|||||||
if (idx == 1)
|
if (idx == 1)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
// ignore empty lines
|
||||||
|
tstr = line;
|
||||||
|
if (tstr.IsWhitespace())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
|
||||||
// get values
|
// get values
|
||||||
result = sscanf(line, "%lf %lf", &dist, &val);
|
result = sscanf(line, "%lf %lf", &dist, &val);
|
||||||
// check if data are valid
|
// check if data are valid
|
||||||
|
18
src/external/Nonlocal/PNL_StartupHandler.cpp
vendored
18
src/external/Nonlocal/PNL_StartupHandler.cpp
vendored
@ -45,6 +45,8 @@ ClassImpQ(PNL_StartupHandler)
|
|||||||
*/
|
*/
|
||||||
PNL_StartupHandler::PNL_StartupHandler()
|
PNL_StartupHandler::PNL_StartupHandler()
|
||||||
{
|
{
|
||||||
|
fIsValid = true;
|
||||||
|
|
||||||
fStartupFileFound = false;
|
fStartupFileFound = false;
|
||||||
fStartupFilePath = "";
|
fStartupFilePath = "";
|
||||||
|
|
||||||
@ -150,6 +152,8 @@ void PNL_StartupHandler::OnEndElement(const char *str)
|
|||||||
void PNL_StartupHandler::OnCharacters(const char *str)
|
void PNL_StartupHandler::OnCharacters(const char *str)
|
||||||
{
|
{
|
||||||
TString tstr;
|
TString tstr;
|
||||||
|
Double_t dval;
|
||||||
|
char sstr[128];
|
||||||
|
|
||||||
switch (fKey) {
|
switch (fKey) {
|
||||||
case eFourierPoints:
|
case eFourierPoints:
|
||||||
@ -166,7 +170,19 @@ void PNL_StartupHandler::OnCharacters(const char *str)
|
|||||||
fTrimSpDataPath = str;
|
fTrimSpDataPath = str;
|
||||||
break;
|
break;
|
||||||
case eEnergy:
|
case eEnergy:
|
||||||
tstr = fTrimSpDataPath + TString(str);
|
tstr = str;
|
||||||
|
if (tstr.IsFloat()) {
|
||||||
|
dval = tstr.Atof();
|
||||||
|
} else {
|
||||||
|
cout << endl << "PNL_StartupHandler::OnCharacters: **ERROR** when finding energy:";
|
||||||
|
cout << endl << "\"" << str << "\" is not a double.";
|
||||||
|
cout << endl;
|
||||||
|
fIsValid = false;
|
||||||
|
}
|
||||||
|
tstr = fTrimSpDataPath;
|
||||||
|
sprintf(sstr, "%03d", (int)(dval*10.0));
|
||||||
|
tstr += sstr;
|
||||||
|
tstr += ".rge";
|
||||||
fTrimSpDataPathList.push_back(tstr);
|
fTrimSpDataPathList.push_back(tstr);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
3
src/external/Nonlocal/PNL_StartupHandler.h
vendored
3
src/external/Nonlocal/PNL_StartupHandler.h
vendored
@ -55,6 +55,7 @@ class PNL_StartupHandler : public TObject
|
|||||||
virtual void OnFatalError(const char*); // SLOT
|
virtual void OnFatalError(const char*); // SLOT
|
||||||
virtual void OnCdataBlock(const char*, Int_t); // SLOT
|
virtual void OnCdataBlock(const char*, Int_t); // SLOT
|
||||||
|
|
||||||
|
virtual bool IsValid() { return fIsValid; }
|
||||||
virtual TString GetStartupFilePath() { return fStartupFilePath; }
|
virtual TString GetStartupFilePath() { return fStartupFilePath; }
|
||||||
virtual const Int_t GetFourierPoints() const { return fFourierPoints; }
|
virtual const Int_t GetFourierPoints() const { return fFourierPoints; }
|
||||||
virtual const PStringVector GetTrimSpDataPathList() const { return fTrimSpDataPathList; }
|
virtual const PStringVector GetTrimSpDataPathList() const { return fTrimSpDataPathList; }
|
||||||
@ -65,6 +66,8 @@ class PNL_StartupHandler : public TObject
|
|||||||
enum EKeyWords {eEmpty, eComment, eFourierPoints, eDataPath, eEnergy};
|
enum EKeyWords {eEmpty, eComment, eFourierPoints, eDataPath, eEnergy};
|
||||||
EKeyWords fKey;
|
EKeyWords fKey;
|
||||||
|
|
||||||
|
bool fIsValid;
|
||||||
|
|
||||||
bool fStartupFileFound;
|
bool fStartupFileFound;
|
||||||
TString fStartupFilePath;
|
TString fStartupFilePath;
|
||||||
|
|
||||||
|
7
src/external/Nonlocal/nonlocal_startup.xml
vendored
7
src/external/Nonlocal/nonlocal_startup.xml
vendored
@ -7,7 +7,7 @@
|
|||||||
<fourier_points>200000</fourier_points>
|
<fourier_points>200000</fourier_points>
|
||||||
</nonlocal_par>
|
</nonlocal_par>
|
||||||
<trim_sp_part>
|
<trim_sp_part>
|
||||||
<data_path>/afs/psi.ch/project/nemu/analysis/2009/Nonlocal/In-37/In37</data_path>
|
<data_path>/afs/psi.ch/project/nemu/analysis/2009/Nonlocal/trimsp/InSne</data_path>
|
||||||
<energy_list>
|
<energy_list>
|
||||||
<energy>2.5</energy>
|
<energy>2.5</energy>
|
||||||
<energy>4.0</energy>
|
<energy>4.0</energy>
|
||||||
@ -15,11 +15,10 @@
|
|||||||
<energy>8.0</energy>
|
<energy>8.0</energy>
|
||||||
<energy>10.0</energy>
|
<energy>10.0</energy>
|
||||||
<energy>12.5</energy>
|
<energy>12.5</energy>
|
||||||
<energy>14.1</energy>
|
<energy>15.0</energy>
|
||||||
<energy>17.5</energy>
|
<energy>17.5</energy>
|
||||||
<energy>22.0</energy>
|
<energy>20.0</energy>
|
||||||
<energy>25.0</energy>
|
<energy>25.0</energy>
|
||||||
<energy>28.2</energy>
|
|
||||||
</energy_list>
|
</energy_list>
|
||||||
</trim_sp_part>
|
</trim_sp_part>
|
||||||
</nonlocal>
|
</nonlocal>
|
||||||
|
Reference in New Issue
Block a user