From 852043f2869b180eff3667e930210d13f6af0d19 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Wed, 22 Jun 2016 09:39:13 +0200 Subject: [PATCH] added a full user function example to doc/examples which should help a user to understand how to deal with the subclass plugin mechanism. --- doc/examples/UserFcn/Makefile.PUserFcn | 60 +++++++++++++++++ doc/examples/UserFcn/PUserFcn.cpp | 59 ++++++++++++++++ doc/examples/UserFcn/PUserFcn.h | 58 ++++++++++++++++ doc/examples/UserFcn/PUserFcnLinkDef.h | 15 +++++ doc/examples/UserFcn/README | 89 +++++++++++++++++++++++++ doc/examples/UserFcn/data/000100.msr | Bin 0 -> 79656 bytes doc/examples/UserFcn/test-asy-MUD.msr | 55 +++++++++++++++ 7 files changed, 336 insertions(+) create mode 100644 doc/examples/UserFcn/Makefile.PUserFcn create mode 100644 doc/examples/UserFcn/PUserFcn.cpp create mode 100644 doc/examples/UserFcn/PUserFcn.h create mode 100644 doc/examples/UserFcn/PUserFcnLinkDef.h create mode 100644 doc/examples/UserFcn/README create mode 100644 doc/examples/UserFcn/data/000100.msr create mode 100644 doc/examples/UserFcn/test-asy-MUD.msr diff --git a/doc/examples/UserFcn/Makefile.PUserFcn b/doc/examples/UserFcn/Makefile.PUserFcn new file mode 100644 index 00000000..c2e9aeed --- /dev/null +++ b/doc/examples/UserFcn/Makefile.PUserFcn @@ -0,0 +1,60 @@ +#--------------------------------------------------- +# get compilation flags from root-config + +ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags) + +#--------------------------------------------------- + +OS = LINUX +CXX = g++ +CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC +LOCALINCLUDE = . +ROOTINCLUDE = $(ROOTSYS)/include +INCLUDES = -I$(LOCALINCLUDE) -I$(ROOTINCLUDE) +LD = g++ +LDFLAGS = +SOFLAGS = -O -shared + +# the output from the root-config script: +CXXFLAGS += $(ROOTCFLAGS) +LDFLAGS += + +# some definitions: headers (used to generate *Dict* stuff), sources, objects,... +OBJS = +OBJS += PUserFcn.o PUserFcnDict.o + +SHLIB = libPUserFcn.so + +# make the shared lib: +# +all: $(SHLIB) + +$(SHLIB): $(OBJS) + @echo "---> Building shared library $(SHLIB) ..." + /bin/rm -f $(SHLIB) + $(LD) $(OBJS) $(SOFLAGS) -o $(SHLIB) + @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) *Dict* core* + @echo "---> removing $(OBJS)" + +# +$(OBJS): %.o: %.cpp + $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< + +# Generate the ROOT CINT dictionary + +PUserFcnDict.cpp: PUserFcn.h PUserFcnLinkDef.h + @echo "Generating dictionary $@..." + rootcint -f $@ -c -p -I$(ROOTINCLUDE) $^ + +install: all + @echo "Installing shared lib: libTApproximation.so" +ifeq ($(OS),LINUX) + cp -pv $(SHLIB) $(ROOTSYS)/lib + cp -pv $(LOCALINCLUDE)/*.h $(ROOTSYS)/include +endif diff --git a/doc/examples/UserFcn/PUserFcn.cpp b/doc/examples/UserFcn/PUserFcn.cpp new file mode 100644 index 00000000..f5f31aa3 --- /dev/null +++ b/doc/examples/UserFcn/PUserFcn.cpp @@ -0,0 +1,59 @@ +/*************************************************************************** + + PUserFcn.cpp + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * + * andreas.suter@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 * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +using namespace std; + +#include + +#include "PUserFcn.h" + +ClassImp(PUserFcn) + +//------------------------------------------------------ +/** + *

user function example: polynome of 3rd order + * + * \f[ = \sum_{k=0}^3 c_k t^k \f] + * + * meaning of paramValues: \f$c_0\f$, \f$c_1\f$, \f$c_2\f$, \f$c_3\f$ + * + * return: function value + * + * \param t time in \f$(\mu\mathrm{s})\f$, or x-axis value for non-muSR fit + * \param param parameter vector + */ +Double_t PUserFcn::operator()(Double_t t, const std::vector ¶m) const +{ + // expected parameters: c0, c1, c2, c3 + + assert(param.size() == 4); + + return param[0] + param[1]*t + param[2]*t*t + param[3]*t*t*t; +} diff --git a/doc/examples/UserFcn/PUserFcn.h b/doc/examples/UserFcn/PUserFcn.h new file mode 100644 index 00000000..78d6793e --- /dev/null +++ b/doc/examples/UserFcn/PUserFcn.h @@ -0,0 +1,58 @@ +/*************************************************************************** + + PUserFcn.h + + Author: Andreas Suter + e-mail: andreas.suter@psi.ch + +***************************************************************************/ + +/*************************************************************************** + * Copyright (C) 2007-2016 by Andreas Suter * + * andreas.suter@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 * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef _PUSERFCN_H_ +#define _PUSERFCN_H_ + +#include + +#include "PUserFcnBase.h" + +/** + *

User function example class. Polynome of 3rd order. + */ +class PUserFcn : public PUserFcnBase +{ + public: + PUserFcn() {} + ~PUserFcn() {} + + // global user-function-access functions, here without any functionality + Bool_t NeedGlobalPart() const { return false; } + void SetGlobalPart(vector &globalPart, UInt_t idx) { } + Bool_t GlobalPartIsValid() const { return true; } + + // function operator + Double_t operator()(Double_t t, const std::vector ¶m) const; + + // definition of the class for the ROOT dictionary + ClassDef(PUserFcn, 1) +}; + +#endif // _PUSERFCN_H_ diff --git a/doc/examples/UserFcn/PUserFcnLinkDef.h b/doc/examples/UserFcn/PUserFcnLinkDef.h new file mode 100644 index 00000000..a7f7eaa1 --- /dev/null +++ b/doc/examples/UserFcn/PUserFcnLinkDef.h @@ -0,0 +1,15 @@ +/*************************************************************************** + + PUserFcnLinkDef.h + +***************************************************************************/ + +#ifdef __CINT__ + +#pragma link off all globals; +#pragma link off all classes; +#pragma link off all functions; + +#pragma link C++ class PUserFcn+; + +#endif //__CINT__ diff --git a/doc/examples/UserFcn/README b/doc/examples/UserFcn/README new file mode 100644 index 00000000..caf43406 --- /dev/null +++ b/doc/examples/UserFcn/README @@ -0,0 +1,89 @@ +/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + +Simple Example for a User Function without Global Part + +/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + +Goal: define a user function which implements a polynom + of 3rd order. + +For details see: http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFit.html#A_6_User_Functions + +Implementation: + 3 Files are needed: + + 1) A header file which defines your user function + interface. + + In the example here it is called PUserFcn.h + + Please rename it in your case to something more + sensible, e.g. PMyPoly.h. At the same time also + rename correspondingly the class name in your + header file, i.e. PUserFcn -> PMyPoly. This will + be at 4 places in the header file of this example. + + 2) The source file which defines your user function. + + In the example here it is called PUserFcn.cpp + + Please rename it accordingly to the header file. + In case the header file is called PMyPoly.h, the + source file will need to be called PMyPoly.cpp. + As for the header file, the class names need to + be adopted: PUserFcn -> PMyPoly. + + In the source file change the operator implementation + (Double_t PUserFcn::operator()(Double_t t, + const std::vector ¶m) const) + to whatever you need. + + 3) There is another header file needed to generate + the necessary ROOT dictionary. + + In this example it is called PUserFcnLinkDef.h + + Here you only will need to find PUserFcn+ and + replace it with your class name, e.g. PMyPoly+ + +Generate Code: + You will find the Makefil.PUserFcn which generates + the needed shared library for your user function. + + Again, if your user function is called PMyPoly, you + will need to replace things accordingly in the + Makefile, i.e. + + Makefile.PUserFcn -> Makefile.PMyPoly + + In the Makefile: + + PUserFcn.o -> PMyPoly.o + PUserFcnDict.o -> PMyPolyDict.o + libPUserFcn.so -> libPMyPoly.so + + To create the shared library do: + + make -f Makefile.PUserFcn + + on the command line. This should create a file + libPUserFcn.so. + + Next call on the command line: + + make -f Makefile.PUserFcn install + + This will copy the shared library to the correct + place. + + You also will need to make sure that the system is + finding the shared library, either by setting + LD_LIBRARY_PATH or by calling /sbin/ldconfig as + superuser/root assuming you are using linux. + +Example msr-file: + You will find an example msr-file test-asy-MUS.msr + which is using PUserFcn. The example is UN-PHYSICALLY + it is just to show how to use a user function. + + diff --git a/doc/examples/UserFcn/data/000100.msr b/doc/examples/UserFcn/data/000100.msr new file mode 100644 index 0000000000000000000000000000000000000000..e00399f44a6ec1e5ca72902c91817b0a86288e8a GIT binary patch literal 79656 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 literal 0 HcmV?d00001 diff --git a/doc/examples/UserFcn/test-asy-MUD.msr b/doc/examples/UserFcn/test-asy-MUD.msr new file mode 100644 index 00000000..ea932df1 --- /dev/null +++ b/doc/examples/UserFcn/test-asy-MUD.msr @@ -0,0 +1,55 @@ +MgB12H12 No2 ZF T=150 +############################################################### +FITPARAMETER +# Nr. Name Value Step Pos_Error Boundaries + 1 alpha 1 0 none 0 2 + 2 asy 0.1650 0.0027 none 0 0.33 + 3 c0 1.047 0.016 none + 4 c1 -0.1957 0.0038 none + 5 c2 0.0216 0.0011 none + 6 c3 -0.00119 0.00011 none + +############################################################### +THEORY +asymmetry 2 +userFcn libPUserFcn PUserFcn 3 4 5 6 + +############################################################### +RUN data/000100 XXXX TRIUMF MUD (name beamline institute data-file-format) +fittype 2 (asymmetry fit) +alpha 1 +map 0 0 0 0 0 0 0 0 0 0 0 +forward 1 +backward 2 +background 79 391 80 409 # estimated bkg: 21.0833 / 17.2249 +data 438 12785 436 12787 +t0 432.0 431.0 +fit 0 8 +packing 100 + +############################################################### +COMMANDS +MINIMIZE +MINOS +#HESSE +SAVE + +############################################################### +FOURIER +units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s' +fourier_power 12 +apodization NONE # NONE, WEAK, MEDIUM, STRONG +plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE +phase 8 +#range_for_phase_correction 50.0 70.0 +range 0 2000 +dc-corrected true + +############################################################### +PLOT 2 (asymmetry plot) +runs 1 +range 0 9 0 0.22 + +############################################################### +STATISTIC --- 2016-06-22 09:34:01 + chisq = 152.4, NDF = 97, chisq/NDF = 1.571461