Restructured the interdependencies within the BMWlibs (maybe other commits will follow)

This commit is contained in:
Bastian M. Wojek 2011-03-21 14:33:34 +00:00
parent 2c724e778b
commit 56799142dc
55 changed files with 61 additions and 677 deletions

View File

@ -3,7 +3,6 @@
BMWIntegrator.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -3,7 +3,6 @@
BMWIntegrator.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -3,7 +3,6 @@
BMWStartupHandler.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -3,7 +3,6 @@
BMWStartupHandler.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -3,7 +3,6 @@
BMWStartupHandlerLinkDef.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -1,4 +1,5 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = \
BMWStartupHandler.h \

View File

@ -3,9 +3,8 @@
TTrimSPDataHandler.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/05/15
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TTrimSPDataHandler.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/05/15
$Id$
***************************************************************************/

View File

@ -1,3 +1,5 @@
## $Id$
if BUILD_ASLIBS
ASDIRS = Nonlocal \
MagProximity

View File

@ -1,4 +1,5 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = MuSR_td_PSI_bin.h
cpp_sources = MuSR_td_PSI_bin.cpp

View File

@ -1 +1,3 @@
## $Id$
SUBDIRS = Class_MuSR_PSI

View File

@ -1,4 +1,5 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = \
TLemStats.h \

View File

@ -1,4 +1,5 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = \
TCalcMeanFieldsLEM.h

View File

@ -1,146 +0,0 @@
#---------------------------------------------------
# Makefile.libCalcMeanFieldsLEM
#
# Author: Bastian M. Wojek
# e-mail: bastian.wojek@psi.ch
#
# $Id$
#
#---------------------------------------------------
#---------------------------------------------------
# get compilation and library flags from root-config
ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags)
ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs)
ROOTGLIBS = $(shell $(ROOTSYS)/bin/root-config --glibs)
#---------------------------------------------------
# depending on the architecture, choose the compiler,
# linker, and the flags to use
#
ARCH = $(shell $(ROOTSYS)/bin/root-config --arch)
ifeq ($(ARCH),linux)
OS = LINUX
endif
ifeq ($(ARCH),linuxx8664gcc)
OS = LINUX
endif
ifeq ($(ARCH),win32gcc)
OS = WIN32GCC
endif
ifeq ($(ARCH),macosx)
OS = DARWIN
endif
# -- Linux
ifeq ($(OS),LINUX)
CXX = g++
CXXFLAGS = -g -O3 -fopenmp -Wall -Wno-trigraphs -fPIC
PMUSRPATH = $(ROOTSYS)/include
LOCALPATH = .
INCLUDES = -I$(LOCALPATH) -I$(PMUSRPATH)
LD = g++
LDFLAGS = -O -fopenmp
SOFLAGS = -shared
SHLIB = libCalcMeanFieldsLEM.so
endif
# -- Windows/Cygwin
ifeq ($(OS),WIN32GCC)
CXX = g++
CXXFLAGS = -O3 -Wall -Wno-trigraphs -D_DLL
PMUSRPATH = $(ROOTSYS)/include
LOCALPATH = .
INCLUDES = -I$(LOCALPATH) -I$(PMUSRPATH)
LD = g++
LDFLAGS = -O -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc
SOFLAGS = -shared -Wl,--export-all-symbols
SHLIB = libCalcMeanFieldsLEM.dll
endif
# -- MacOSX/Darwin
ifeq ($(OS),DARWIN)
CXX = g++
CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC
PMUSRPATH = $(ROOTSYS)/include
LOCALPATH = .
INCLUDES = -I$(LOCALPATH) -I$(PMUSRPATH)
LD = g++
LDFLAGS = -O -Xlinker -bind_at_load
SOFLAGS = -dynamiclib -flat_namespace -undefined suppress -Wl,-x
SHLIB = libCalcMeanFieldsLEM.dylib
endif
# the output from the root-config script:
CXXFLAGS += $(ROOTCFLAGS)
LDFLAGS +=
# the ROOT libraries (G = graphic)
LIBS = $(ROOTLIBS)
GLIBS = $(ROOTGLIBS)
# PMusr libs
PMUSRLIB = -L$(ROOTSYS)/lib -lPMusr -lTFitPofB
ifeq ($(OS),WIN32GCC)
PMUSRLIB = $(PMUSRLIB) -lMathMore
endif
ifeq ($(OS),DARWIN)
PMUSRLIB = $(PMUSRLIB) -lMathMore
endif
# some definitions: headers (used to generate *Dict* stuff), sources, objects,...
OBJS =
OBJS += TCalcMeanFieldsLEM.o TCalcMeanFieldsLEMDict.o
INST_HEADER =
INST_HEADER += ./TCalcMeanFieldsLEM.h
# make the shared libs:
all: $(SHLIB)
$(SHLIB): $(EXTOBJS) $(OBJS)
@echo "---> Building shared library $(SHLIB) ..."
/bin/rm -f $(SHLIB)
$(LD) $(SOFLAGS) $(LDFLAGS) -o $(SHLIB) $(OBJS) $(LIBS) $(PMUSRLIB)
@echo "done"
# clean up: remove all object file (and core files)
# semicolon needed to tell make there is no source
# for this target!
#
clean:; @rm -f $(OBJS) $(EXTOBJS) $(SHLIB) *Dict* core* *~
@echo "---> removing $(OBJS) $(SHLIB)"
$(OBJS): %.o: %.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
# Generate the ROOT CINT dictionary
TCalcMeanFieldsLEMDict.cpp: ./TCalcMeanFieldsLEM.h ./TCalcMeanFieldsLEMLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p -I$(PMUSRPATH) $^
install: all
@echo "Installing shared lib: $(SHLIB)"
ifeq ($(OS),LINUX)
cp -pv $(SHLIB) $(ROOTSYS)/lib
cp -pv $(INST_HEADER) $(ROOTSYS)/include
endif
ifeq ($(OS),WIN32GCC)
cp -pv $(SHLIB) $(ROOTSYS)/bin
ln -sf $(ROOTSYS)/bin/$(SHLIB) $(ROOTSYS)/lib/$(SHLIB)
cp -pv $(INST_HEADER) $(ROOTSYS)/include
endif
ifeq ($(OS),DARWIN)
cp -pv $(SHLIB) $(ROOTSYS)/lib
cp -pv $(INST_HEADER) $(ROOTSYS)/include
endif
cleaninstall: clean install

View File

@ -3,7 +3,6 @@
TCalcMeanFieldsLEM.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -3,7 +3,6 @@
TCalcMeanFieldsLEM.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -3,7 +3,6 @@
TCalcMeanFieldsLEMLinkDef.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -1 +1,3 @@
## $Id$
SUBDIRS = src

View File

@ -1,11 +1,12 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = cuba.h
c_sources = cuhre/Cuhre.c \
divonne/Divonne.c \
suave/Suave.c \
vegas/Vegas.c
divonne/Divonne.c \
suave/Suave.c \
vegas/Vegas.c
include_HEADERS = cuba.h

View File

@ -1 +1,3 @@
## $Id$
SUBDIRS = classes

View File

@ -1,4 +1,5 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = \
../include/TBofZCalc.h \

View File

@ -3,9 +3,8 @@
TBofZCalc.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/04/25
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TBulkTriVortexFieldCalc.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/10/17
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TFilmTriVortexFieldCalc.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2010/02/21
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TLondon1D.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id: TLondon1D.cpp 4800 2011-03-16 16:43:13Z l_wojek $
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TPofBCalc.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2008/09/04
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TPofTCalc.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2008/11/16
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TSkewedGss.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id: TSkewedGss.cpp 4800 2011-03-16 16:43:13Z l_wojek $
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TVortex.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id: TVortex.cpp 4800 2011-03-16 16:43:13Z l_wojek $
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TBofZCalc.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/04/25
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TBulkTriVortexFieldCalc.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/10/17
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TFilmTriVortexFieldCalc.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2010/02/19
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TLondon1D.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2008/06/30
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TLondon1DLinkDef.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2008/06/30
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TPofBCalc.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2008/09/04
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TPofTCalc.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2008/11/16
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TSkewedGss.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/01/24
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TSkewedGssLinkDef.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/01/24
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TVortex.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/10/17
$Id$
***************************************************************************/

View File

@ -3,9 +3,8 @@
TVortexLinkDef.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2009/10/17
$Id$
***************************************************************************/

View File

@ -1,34 +1,20 @@
#---------------------------------------------------------------------
# INSTALL
# Bastian M. Wojek
# $Id$
#---------------------------------------------------------------------
Installation of the musrfit-plugin "libGapIntegrals.so"
Installation of the musrfit-plugin "libGapIntegrals"
* Download the latest version of the Cuba library ( http://www.feynarts.de/cuba/ )
* Install Cuba using the following inside the extracted directory
* Configure musrfit with the option --enable-BMWlibs and the plugin will be built.
CFLAGS=-fPIC ./configure
make
make install
* The plugin classes can be accessed inside THEORY blocks of musrfit msr files via:
* Build the plugin inside the plugin source directory:
make -f Makefile.libGapIntegrals
* Install the plugin to your $ROOTSYS
make -f Makefile.libGapIntegrals install
* The plugin classes can now be accessed inside THEORY blocks of musrfit msr-files via:
userFcn libGapIntegrals.so TGapSWave 1 2 (Tc Delta0)
userFcn libGapIntegrals.so TGapDWave 1 2 (Tc Delta0)
userFcn libGapIntegrals.so TGapAnSWave 1 2 3 (Tc Delta0 a)
userFcn libGapIntegrals.so TGapNonMonDWave1 1 2 3 (Tc Delta0 a)
userFcn libGapIntegrals.so TGapNonMonDWave2 1 2 3 (Tc Delta0 a)
userFcn libGapIntegrals.so TGapPowerLaw 1 2 (Tc n)
userFcn libGapIntegrals TGapSWave 1 2 (Tc Delta0)
userFcn libGapIntegrals TGapDWave 1 2 (Tc Delta0)
userFcn libGapIntegrals TGapAnSWave 1 2 3 (Tc Delta0 a)
userFcn libGapIntegrals TGapNonMonDWave1 1 2 3 (Tc Delta0 a)
userFcn libGapIntegrals TGapNonMonDWave2 1 2 3 (Tc Delta0 a)
userFcn libGapIntegrals TGapPowerLaw 1 2 (Tc n)
* For an introductory discussion on which functions are actually calculated, please refer to
GapIntegrals.pdf

View File

@ -1,4 +1,5 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = \
TGapIntegrals.h

View File

@ -1,169 +0,0 @@
#---------------------------------------------------
# Makefile.libGapIntegrals
#
# Author: Bastian M. Wojek
# e-mail: bastian.wojek@psi.ch
#
# $Id$
#
#---------------------------------------------------
#---------------------------------------------------
# get compilation and library flags from root-config
ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags)
ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs)
ROOTGLIBS = $(shell $(ROOTSYS)/bin/root-config --glibs)
#---------------------------------------------------
# depending on the architecture, choose the compiler,
# linker, and the flags to use
#
ARCH = $(shell $(ROOTSYS)/bin/root-config --arch)
ifeq ($(ARCH),linux)
OS = LINUX
endif
ifeq ($(ARCH),linuxx8664gcc)
OS = LINUX
endif
ifeq ($(ARCH),win32gcc)
OS = WIN32GCC
endif
ifeq ($(ARCH),macosx)
OS = DARWIN
endif
# -- Linux
ifeq ($(OS),LINUX)
CXX = g++
CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC
PMUSRPATH = ../../include
MNPATH = $(ROOTSYS)/include
GSLPATH = /usr/include/gsl
CUBAPATH = /usr/local/include
INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(CUBAPATH)
LD = g++
LDFLAGS = -O
SOFLAGS = -shared
SHLIB = libGapIntegrals.so
endif
# -- Windows/Cygwin
ifeq ($(OS),WIN32GCC)
CXX = g++
CXXFLAGS = -O3 -Wall -Wno-trigraphs -D_DLL
PMUSRPATH = ../../include
MNPATH = $(ROOTSYS)/include
GSLPATH = /usr/include/gsl
CUBAPATH = /usr/local/include
INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(CUBAPATH)
LD = g++
LDFLAGS = -O -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc
SOFLAGS = -shared -Wl,--export-all-symbols
SHLIB = libGapIntegrals.dll
endif
# -- MacOSX/Darwin
ifeq ($(OS),DARWIN)
CXX = g++
CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC
PMUSRPATH = ../../include
MNPATH = $(ROOTSYS)/include
FINKPATH = /sw/include
GSLPATH = $(FINKPATH)/gsl
CUBAPATH = $(FINKPATH)
INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(CUBAPATH)
LD = g++
LDFLAGS = -O -Xlinker -bind_at_load
SOFLAGS = -dynamiclib -flat_namespace -undefined suppress -Wl,-x
SHLIB = libGapIntegrals.dylib
endif
# the output from the root-config script:
CXXFLAGS += $(ROOTCFLAGS)
LDFLAGS +=
# the ROOT libraries (G = graphic)
LIBS = $(ROOTLIBS)
GLIBS = $(ROOTGLIBS)
# GSL lib
GSLLIB = -lgslcblas -lgsl
# Cuba lib
CUBALIB = -L/usr/local/lib -lcuba -lm
# PMusr lib
PMUSRLIB = -L$(ROOTSYS)/lib -lPMusr
ifeq ($(OS),WIN32GCC)
# GSL lib
GSLLIB = -L/usr/lib -lgslcblas -lgsl
# Cuba lib
CUBALIB = -L/usr/local/lib -lcuba -lm
# PMusr lib
PMUSRLIB = -L$(ROOTSYS)/lib -lPMusr -lMathMore
endif
ifeq ($(OS),DARWIN)
# GSL lib
GSLLIB = -L/sw/lib -lgslcblas -lgsl
# Cuba lib
CUBALIB = -L/sw/lib -lcuba -lm
# PMusr lib
PMUSRLIB = -L$(ROOTSYS)/lib -lPMusr -lMathMore
endif
# some definitions: headers (used to generate *Dict* stuff), sources, objects,...
OBJS =
OBJS += TGapIntegrals.o TGapIntegralsDict.o
EXTOBJS = BMWIntegrator.o
# make the shared libs:
all: $(SHLIB)
$(SHLIB): $(EXTOBJS) $(OBJS)
@echo "---> Building shared library $(SHLIB) ..."
/bin/rm -f $(SHLIB)
$(LD) $(SOFLAGS) $(LDFLAGS) -o $(SHLIB) $(EXTOBJS) $(OBJS) $(LIBS) $(PMUSRLIB) $(GSLLIB) $(CUBALIB)
@echo "done"
# clean up: remove all object file (and core files)
# semicolon needed to tell make there is no source
# for this target!
#
clean:; @rm -f $(OBJS) $(EXTOBJS) $(SHLIB) *Dict* core* *~
@echo "---> removing $(OBJS) $(EXTOBJS) $(SHLIB)"
#
BMWIntegrator.o: ../BMWIntegrator/BMWIntegrator.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
$(OBJS): %.o: %.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
# Generate the ROOT CINT dictionary
TGapIntegralsDict.cpp: ../BMWIntegrator/BMWIntegrator.h ./TGapIntegrals.h ./TGapIntegralsLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p $^
install: all
@echo "Installing shared lib: $(SHLIB)"
ifeq ($(OS),LINUX)
cp -pv $(SHLIB) $(ROOTSYS)/lib
cp -pv ../BMWIntegrator/BMWIntegrator.h TGapIntegrals.h $(ROOTSYS)/include
endif
ifeq ($(OS),WIN32GCC)
cp -pv $(SHLIB) $(ROOTSYS)/bin
ln -sf $(ROOTSYS)/bin/$(SHLIB) $(ROOTSYS)/lib/$(SHLIB)
cp -pv ../BMWIntegrator/BMWIntegrator.h TGapIntegrals.h $(ROOTSYS)/include
endif
ifeq ($(OS),DARWIN)
cp -pv $(SHLIB) $(ROOTSYS)/lib
cp -pv ../BMWIntegrator/BMWIntegrator.h TGapIntegrals.h $(ROOTSYS)/include
endif
cleaninstall: clean install

View File

@ -1,101 +0,0 @@
--- PMusrCanvas.cpp.orig 2009-09-18 18:58:50.000000000 +0200
+++ PMusrCanvas.cpp 2009-09-16 21:51:45.000000000 +0200
@@ -5,7 +5,7 @@
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
- $Id$
+ $Id: PMusrCanvas.cpp 4106 2009-08-31 11:19:03Z nemu $
***************************************************************************/
@@ -3291,6 +3291,36 @@
return;
}
+// BMW: Writing an extra file with the complete theory curve only until the issue of writing only single theory points has been resolved
+
+ // generate output filename
+
+ // in order to handle names with "." correctly this slightly odd data-filename generation
+ tokens = fMsrHandler->GetFileName().Tokenize(".");
+ str = "";
+ for (int i=0; i<tokens->GetEntries()-1; i++) {
+ ostr = dynamic_cast<TObjString*>(tokens->At(i));
+ str += ostr->GetString() + TString(".");
+ }
+ str += "dataTheory";
+
+ if (tokens) {
+ delete tokens;
+ tokens = 0;
+ }
+
+ // open file
+ ofstream foutTheory;
+
+ // open data-file
+ foutTheory.open(str.Data(), iostream::out);
+ if (!fout.is_open()) {
+ cout << endl << ">> PMusrCanvas::SaveDataAscii: **ERROR** couldn't open file " << str.Data() << " for writing." << endl;
+ return;
+ }
+
+// endofBMW
+
// extract data
Double_t time, xval, yval;
Int_t xminBin;
@@ -3688,11 +3718,39 @@
fout << "Data" << fNonMusrData.size()-1 << ", eData" << fNonMusrData.size()-1 << ", Theo" << fNonMusrData.size()-1;
fout << endl;
// write data
+
+// BMW: Writing an extra file with the complete theory curve only until the issue of writing only single theory points has been resolved
+
+ // get current x-range
+ xminBin = fNonMusrData[0].theory->GetXaxis()->GetFirst(); // first bin of the zoomed range
+ xmaxBin = fNonMusrData[0].theory->GetXaxis()->GetLast(); // last bin of the zoomed range
+ xmin = fNonMusrData[0].theory->GetXaxis()->GetBinCenter(xminBin);
+ xmax = fNonMusrData[0].theory->GetXaxis()->GetBinCenter(xmaxBin);
+
+ // get data
+ for (int i=0; i<fNonMusrData[0].theory->GetN(); i++) {
+ fNonMusrData[0].theory->GetPoint(i,xval,yval); // get values
+ if ((xval < xmin) || (xval > xmax))
+ continue;
+ foutTheory << xval << " ";
+ for (unsigned int j=0; j<fNonMusrData.size()-1; j++) {
+ fNonMusrData[j].theory->GetPoint(i,xval,yval); // get values
+ foutTheory << yval << " ";
+ }
+ // write last data set
+ fNonMusrData[fNonMusrData.size()-1].theory->GetPoint(i,xval,yval); // get values
+ foutTheory << yval << " ";
+ foutTheory << endl;
+ }
+
+// endofBMW
+
// get current x-range
xminBin = fNonMusrData[0].data->GetXaxis()->GetFirst(); // first bin of the zoomed range
xmaxBin = fNonMusrData[0].data->GetXaxis()->GetLast(); // last bin of the zoomed range
xmin = fNonMusrData[0].data->GetXaxis()->GetBinCenter(xminBin);
xmax = fNonMusrData[0].data->GetXaxis()->GetBinCenter(xmaxBin);
+
// get data
for (int i=0; i<fNonMusrData[0].data->GetN(); i++) {
fNonMusrData[0].data->GetPoint(i,xval,yval); // get values
@@ -3739,6 +3797,12 @@
// close file
fout.close();
+// BMW: Writing an extra file with the complete theory curve only until the issue of writing only single theory points has been resolved
+
+ foutTheory.close();
+
+// endofBMW
+
cout << endl << ">> Data windows saved in ascii format ..." << endl;
}

View File

@ -3,7 +3,6 @@
TGapIntegrals.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -3,7 +3,6 @@
TGapIntegrals.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$
@ -29,8 +28,8 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _TTwoGaps_H_
#define _TTwoGaps_H_
#ifndef _TGapIntegrals_H_
#define _TGapIntegrals_H_
#include<vector>
#include<cmath>

View File

@ -3,7 +3,6 @@
TGapIntegralsLinkDef.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$

View File

@ -1,4 +1,5 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = \
TLFRelaxation.h

View File

@ -1,169 +0,0 @@
#---------------------------------------------------
# Makefile.libGapIntegrals
#
# Author: Bastian M. Wojek
# e-mail: bastian.wojek@psi.ch
#
# $Id$
#
#---------------------------------------------------
#---------------------------------------------------
# get compilation and library flags from root-config
ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags)
ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs)
ROOTGLIBS = $(shell $(ROOTSYS)/bin/root-config --glibs)
#---------------------------------------------------
# depending on the architecture, choose the compiler,
# linker, and the flags to use
#
ARCH = $(shell $(ROOTSYS)/bin/root-config --arch)
ifeq ($(ARCH),linux)
OS = LINUX
endif
ifeq ($(ARCH),linuxx8664gcc)
OS = LINUX
endif
ifeq ($(ARCH),win32gcc)
OS = WIN32GCC
endif
ifeq ($(ARCH),macosx)
OS = DARWIN
endif
# -- Linux
ifeq ($(OS),LINUX)
CXX = g++
CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC
PMUSRPATH = ../../include
MNPATH = $(ROOTSYS)/include
GSLPATH = /usr/include/gsl
CUBAPATH = /usr/local/include
INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(CUBAPATH)
LD = g++
LDFLAGS = -O
SOFLAGS = -shared
SHLIB = libLFRelaxation.so
endif
# -- Windows/Cygwin
ifeq ($(OS),WIN32GCC)
CXX = g++
CXXFLAGS = -O3 -Wall -Wno-trigraphs -D_DLL
PMUSRPATH = ../../include
MNPATH = $(ROOTSYS)/include
GSLPATH = /usr/include/gsl
CUBAPATH = /usr/local/include
INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(CUBAPATH)
LD = g++
LDFLAGS = -O -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc
SOFLAGS = -shared -Wl,--export-all-symbols
SHLIB = libLFRelaxation.dll
endif
# -- MacOSX/Darwin
ifeq ($(OS),DARWIN)
CXX = g++
CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC
PMUSRPATH = ../../include
MNPATH = $(ROOTSYS)/include
FINKPATH = /sw/include
GSLPATH = $(FINKPATH)/gsl
CUBAPATH = $(FINKPATH)
INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(CUBAPATH)
LD = g++
LDFLAGS = -O -Xlinker -bind_at_load
SOFLAGS = -dynamiclib -flat_namespace -undefined suppress -Wl,-x
SHLIB = libLFRelaxation.dylib
endif
# the output from the root-config script:
CXXFLAGS += $(ROOTCFLAGS)
LDFLAGS +=
# the ROOT libraries (G = graphic)
LIBS = $(ROOTLIBS)
GLIBS = $(ROOTGLIBS)
# GSL lib
GSLLIB = -lgslcblas -lgsl
# Cuba lib
CUBALIB = -L/usr/local/lib -lcuba -lm
# PMusr lib
PMUSRLIB = -L$(ROOTSYS)/lib -lPMusr
ifeq ($(OS),WIN32GCC)
# GSL lib
GSLLIB = -L/usr/lib -lgslcblas -lgsl
# Cuba lib
CUBALIB = -L/usr/local/lib -lcuba -lm
# PMusr lib
PMUSRLIB = -L$(ROOTSYS)/lib -lPMusr -lMathMore
endif
ifeq ($(OS),DARWIN)
# GSL lib
GSLLIB = -L/sw/lib -lgslcblas -lgsl
# Cuba lib
CUBALIB = -L/sw/lib -lcuba -lm
# PMusr lib
PMUSRLIB = -L$(ROOTSYS)/lib -lPMusr -lMathMore
endif
# some definitions: headers (used to generate *Dict* stuff), sources, objects,...
OBJS =
OBJS += TLFRelaxation.o TLFRelaxationDict.o
EXTOBJS = BMWIntegrator.o
# make the shared libs:
all: $(SHLIB)
$(SHLIB): $(EXTOBJS) $(OBJS)
@echo "---> Building shared library $(SHLIB) ..."
/bin/rm -f $(SHLIB)
$(LD) $(SOFLAGS) $(LDFLAGS) -o $(SHLIB) $(EXTOBJS) $(OBJS) $(LIBS) $(PMUSRLIB) $(GSLLIB) $(CUBALIB)
@echo "done"
# clean up: remove all object file (and core files)
# semicolon needed to tell make there is no source
# for this target!
#
clean:; @rm -f $(OBJS) $(EXTOBJS) $(SHLIB) *Dict* core* *~
@echo "---> removing $(OBJS) $(EXTOBJS) $(SHLIB)"
#
BMWIntegrator.o: ../BMWIntegrator/BMWIntegrator.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
$(OBJS): %.o: %.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
# Generate the ROOT CINT dictionary
TLFRelaxationDict.cpp: ../BMWIntegrator/BMWIntegrator.h ./TLFRelaxation.h ./TLFRelaxationLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p $^
install: all
@echo "Installing shared lib: $(SHLIB)"
ifeq ($(OS),LINUX)
cp -pv $(SHLIB) $(ROOTSYS)/lib
cp -pv ../BMWIntegrator/BMWIntegrator.h TLFRelaxation.h $(ROOTSYS)/include
endif
ifeq ($(OS),WIN32GCC)
cp -pv $(SHLIB) $(ROOTSYS)/bin
ln -sf $(ROOTSYS)/bin/$(SHLIB) $(ROOTSYS)/lib/$(SHLIB)
cp -pv ../BMWIntegrator/BMWIntegrator.h TLFRelaxation.h $(ROOTSYS)/include
endif
ifeq ($(OS),DARWIN)
cp -pv $(SHLIB) $(ROOTSYS)/lib
cp -pv ../BMWIntegrator/BMWIntegrator.h TLFRelaxation.h $(ROOTSYS)/include
endif
cleaninstall: clean install

View File

@ -1,9 +1,8 @@
/***************************************************************************
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
2011/03/12
$Id$
***************************************************************************/
@ -11,10 +10,10 @@ Implementation of a userFcn-interface to Gaussian and Lorentzian static and dyna
At the moment this is a simple alternative implementation to the functions provided by musrfit itself.
Mostly, this effort should be regarded as a design study which is not really indended for production use.
The functions are called from within musrfit as:
If musrfit has been configured with --enable-BMWlibs the functions can be called as:
userFcn libLFRelaxation TLFStatGssKT 1 2 (frequency rate)
userFcn libLFRelaxation TLFStatLorKT 1 2 (frequency rate)
userFcn libLFRelaxation TLFStatExpKT 1 2 (frequency rate)
userFcn libLFRelaxation TLFDynGssKT 1 2 3 (frequency rate fluct.rate)
userFcn libLFRelaxation TLFDynLorKT 1 2 3 (frequency rate fluct.rate)
userFcn libLFRelaxation TLFDynExpKT 1 2 3 (frequency rate fluct.rate)
userFcn libLFRelaxation TLFDynSG 1 2 3 (frequency rate fluct.rate)

View File

@ -3,7 +3,6 @@
TLFRelaxation.cpp
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$
@ -11,7 +10,7 @@
/***************************************************************************
* Copyright (C) 2009 by Bastian M. Wojek *
* bastian.wojek@psi.ch *
* *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *

View File

@ -3,7 +3,6 @@
TLFRelaxation.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$
@ -11,7 +10,7 @@
/***************************************************************************
* Copyright (C) 2009 by Bastian M. Wojek *
* bastian.wojek@psi.ch *
* *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *

View File

@ -3,7 +3,6 @@
TLFRelaxationLinkDef.h
Author: Bastian M. Wojek
e-mail: bastian.wojek@psi.ch
$Id$
@ -11,7 +10,7 @@
/***************************************************************************
* Copyright (C) 2009 by Bastian M. Wojek *
* bastian.wojek@psi.ch *
* *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *

View File

@ -1 +1,3 @@
## $Id$
SUBDIRS = src

View File

@ -1,4 +1,5 @@
## Process this file with automake to create Makefile.in
## $Id$
h_sources = mud.h
cpp_sources = mud_all.c \