diff --git a/src/external/TFitPofB-lib/include/TBofZCalc.h b/src/external/TFitPofB-lib/include/TBofZCalc.h index bf30ce8f..b54e41a5 100644 --- a/src/external/TFitPofB-lib/include/TBofZCalc.h +++ b/src/external/TFitPofB-lib/include/TBofZCalc.h @@ -5,7 +5,7 @@ Author: Bastian M. Wojek e-mail: bastian.wojek@psi.ch - 2008/06/30 + 2008/11/07 ***************************************************************************/ @@ -104,4 +104,16 @@ public: }; +//-------------------- +// Class "for Meissner screening" in a thin superconducting film - four layers with four different lambdas +//-------------------- + +class TLondon1D_4L : public TBofZCalc { + +public: + + TLondon1D_4L(unsigned int, const vector& ); + +}; + #endif // _BofZCalc_H_ diff --git a/src/external/TFitPofB-lib/include/TLondon1D.h b/src/external/TFitPofB-lib/include/TLondon1D.h index 8bf3cdd7..f151ee50 100644 --- a/src/external/TFitPofB-lib/include/TLondon1D.h +++ b/src/external/TFitPofB-lib/include/TLondon1D.h @@ -140,4 +140,54 @@ private: ClassDef(TLondon1D3LS,1) }; +class TLondon1D4L : public PUserFcnBase { + +public: + // default constructor + TLondon1D4L(); + ~TLondon1D4L(); + + double operator()(double, const vector&) const; + +private: + mutable vector fPar; + TTrimSPData *fImpProfile; + TPofTCalc *fPofT; + mutable bool fCalcNeeded; + mutable bool fFirstCall; + mutable vector fParForPofT; + mutable vector fParForBofZ; + mutable vector fParForPofB; + string fWisdom; + unsigned int fNSteps; + mutable bool fLastFourChanged; + + ClassDef(TLondon1D4L,1) +}; + +class TLondon1D3LSub : public PUserFcnBase { + +public: + // default constructor + TLondon1D3LSub(); + ~TLondon1D3LSub(); + + double operator()(double, const vector&) const; + +private: + mutable vector fPar; + TTrimSPData *fImpProfile; + TPofTCalc *fPofT; + mutable bool fCalcNeeded; + mutable bool fFirstCall; + mutable vector fParForPofT; + mutable vector fParForBofZ; + mutable vector fParForPofB; + string fWisdom; + unsigned int fNSteps; + mutable bool fWeightsChanged; + + ClassDef(TLondon1D3LSub,1) +}; + #endif //_TLondon1D_H_ diff --git a/src/external/TFitPofB-lib/include/TLondon1DLinkDef.h b/src/external/TFitPofB-lib/include/TLondon1DLinkDef.h index 3af86b93..2097638d 100644 --- a/src/external/TFitPofB-lib/include/TLondon1DLinkDef.h +++ b/src/external/TFitPofB-lib/include/TLondon1DLinkDef.h @@ -21,6 +21,8 @@ #pragma link C++ class TLondon1D2L+; #pragma link C++ class TLondon1D3L+; #pragma link C++ class TLondon1D3LS+; +#pragma link C++ class TLondon1D4L+; +#pragma link C++ class TLondon1D3LSub+; #endif //__CINT__ // root dictionary stuff -------------------------------------------------- diff --git a/src/external/TFitPofB-lib/include/TPofBCalc.h b/src/external/TFitPofB-lib/include/TPofBCalc.h index 9d256605..5a273cef 100644 --- a/src/external/TFitPofB-lib/include/TPofBCalc.h +++ b/src/external/TFitPofB-lib/include/TPofBCalc.h @@ -16,6 +16,7 @@ #include "TTrimSPDataHandler.h" #define gBar 0.0135538817 +#define pi 3.14159265358979323846 class TPofBCalc { @@ -32,6 +33,7 @@ public: double GetBmin() const {return fBmin;} double GetBmax() const {return fBmax;} void ConvolveGss(double); + void AddBackground(double, double, double); private: vector fB; diff --git a/src/external/TFitPofB-lib/include/TTrimSPDataHandler.h b/src/external/TFitPofB-lib/include/TTrimSPDataHandler.h index c87e7f65..cd46b510 100644 --- a/src/external/TFitPofB-lib/include/TTrimSPDataHandler.h +++ b/src/external/TFitPofB-lib/include/TTrimSPDataHandler.h @@ -32,6 +32,7 @@ public: vector DataNZ(double) const; vector OrigDataNZ(double) const; void WeightLayers(double, const vector&, const vector&) const; + double LayerFraction(double, unsigned int, const vector&) const; double GetNofZ(double, double) const; void Normalize(double) const; bool IsNormalized(double) const;