Implemented some more London-multilayer-scenarios for testing purposes

This commit is contained in:
Bastian M. Wojek 2008-11-12 18:55:56 +00:00
parent c990453194
commit ccc67750a3
5 changed files with 68 additions and 1 deletions

View File

@ -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<double>& );
};
#endif // _BofZCalc_H_

View File

@ -140,4 +140,54 @@ private:
ClassDef(TLondon1D3LS,1)
};
class TLondon1D4L : public PUserFcnBase {
public:
// default constructor
TLondon1D4L();
~TLondon1D4L();
double operator()(double, const vector<double>&) const;
private:
mutable vector<double> fPar;
TTrimSPData *fImpProfile;
TPofTCalc *fPofT;
mutable bool fCalcNeeded;
mutable bool fFirstCall;
mutable vector<double> fParForPofT;
mutable vector<double> fParForBofZ;
mutable vector<double> 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<double>&) const;
private:
mutable vector<double> fPar;
TTrimSPData *fImpProfile;
TPofTCalc *fPofT;
mutable bool fCalcNeeded;
mutable bool fFirstCall;
mutable vector<double> fParForPofT;
mutable vector<double> fParForBofZ;
mutable vector<double> fParForPofB;
string fWisdom;
unsigned int fNSteps;
mutable bool fWeightsChanged;
ClassDef(TLondon1D3LSub,1)
};
#endif //_TLondon1D_H_

View File

@ -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 --------------------------------------------------

View File

@ -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<double> fB;

View File

@ -32,6 +32,7 @@ public:
vector<double> DataNZ(double) const;
vector<double> OrigDataNZ(double) const;
void WeightLayers(double, const vector<double>&, const vector<double>&) const;
double LayerFraction(double, unsigned int, const vector<double>&) const;
double GetNofZ(double, double) const;
void Normalize(double) const;
bool IsNormalized(double) const;