diff --git a/src/tests/MeissnerNonMuSR/PMeissnerNonMuSR.cpp b/src/tests/MeissnerNonMuSR/PMeissnerNonMuSR.cpp
index 9a0d40df..c79c61f9 100644
--- a/src/tests/MeissnerNonMuSR/PMeissnerNonMuSR.cpp
+++ b/src/tests/MeissnerNonMuSR/PMeissnerNonMuSR.cpp
@@ -57,10 +57,14 @@ PMeissnerNonMuSR::~PMeissnerNonMuSR()
//------------------------------------------------------
/**
- *
Example of a user defined function. This example implements a 3rd order polynom
- * \f[ = \sum_{k=0}^3 c_k t^k\f]
+ *
Example of a thin film Meissner screening user function (\f$B_{\rm G}\f$ versus \f$\langle z \rangle\f$).
*
- * meaning of paramValues: \f$c_0\f$, \f$c_1\f$, \f$c_2\f$, \f$c_3\f$
+ * \f[ B_{\rm G}(\langle z \rangle\) = B_0 \cosh((t-d-[z-d])/\lambda_{ab}) / \cos((t-d)/\lambda_{ab}) \f]
+ *
+ * - \f$B_{\rm G}\f$ is the screened field value obtained from a Gaussian fit
+ * - \f$\langle z \rangle\f$ is the mean muon stopping range obtained from trim.sp.
+ *
+ * meaning of param: \f$B_0\f$, \f$2 t\f$ = film thickness, \f$d\f$ = dead layer thickness, \f$\lambda_{ab}\f$
*
* return: function value
*
@@ -69,15 +73,15 @@ PMeissnerNonMuSR::~PMeissnerNonMuSR()
*/
Double_t PMeissnerNonMuSR::operator()(Double_t z, const std::vector ¶m) const
{
- // expected parameters: Bext, t=thickness/2, deadLayer, lambda_ab
+ // expected parameters: Bext, t=thickness, deadLayer, lambda_ab
assert(param.size() == 4);
- // if z2t-deadLayer
+ // if z2tt-deadLayer
+ Double_t tt = param[1]/2.0;
Double_t result = param[0];
- if ((z > param[2]) && (z < 2.0*param[1]-param[2]))
- result = param[0]*cosh((param[1]-param[2]-(z-param[2]))/param[3])/cosh((param[1]-param[2])/param[3]);
-
+ if ((z > param[2]) && (z < param[1]-param[2]))
+ result = param[0]*cosh((tt-z)/param[3])/cosh((tt-param[2])/param[3]);
return result;
}
diff --git a/src/tests/MeissnerNonMuSR/README b/src/tests/MeissnerNonMuSR/README
new file mode 100644
index 00000000..64663ed0
--- /dev/null
+++ b/src/tests/MeissnerNonMuSR/README
@@ -0,0 +1,25 @@
+$Id$
+
+This is a simple example for a Meissner screening user function for non-muSR input for musrfit.
+
+It is very simple and has the following parameters:
+
+1. field, i.e. external field value
+2. thickness
+3. dead layer thickness
+4. lambda_ab
+
+The following function are needed to geht the needed ROOT shared library:
+
+Makefile.PMeissnerNonMuSR
+PMeissnerNonMuSR.cpp
+PMeissnerNonMuSR.h
+PMeissnerNonMuSRLinkDef.h <- this header is needed to generate the dictionary stub
+
+The following files are examples how to generate the needed parameter input files, and how
+to analyze it
+
+runlist.txt <- used together with msr2data to add the zMean data into the db-file
+YBCO-Meissner.db <- db-file generate with msr2data by using runlist.txt
+YBCO-Meissner.msr <- msr-file used to fit B versus zMean
+
diff --git a/src/tests/MeissnerNonMuSR/YBCO-Meissner.msr b/src/tests/MeissnerNonMuSR/YBCO-Meissner.msr
index 885f17c7..ef38ff32 100644
--- a/src/tests/MeissnerNonMuSR/YBCO-Meissner.msr
+++ b/src/tests/MeissnerNonMuSR/YBCO-Meissner.msr
@@ -3,7 +3,7 @@ YBCO Meissner
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 field 100.0 1.0 none 0 none
- 2 thickness 150.0 0.0 none
+ 2 halfThick 300.0 0.0 none
3 deadLayer 15.0 1.0 none 0 none
4 lambda 150.0 0.1 none 0 none