96 lines
1.9 KiB
C++
96 lines
1.9 KiB
C++
/***************************************************************************
|
|
|
|
TBofZCalc.h
|
|
|
|
Author: Bastian M. Wojek
|
|
e-mail: bastian.wojek@psi.ch
|
|
|
|
2008/06/03
|
|
|
|
***************************************************************************/
|
|
|
|
#ifndef _TBofZCalc_H_
|
|
#define _TBofZCalc_H_
|
|
|
|
#include <vector>
|
|
using namespace std;
|
|
|
|
//--------------------
|
|
// Base class for any kind of theory function B(z)
|
|
// In principle only constructors for the different models have to be implemented
|
|
//--------------------
|
|
|
|
class TBofZCalc {
|
|
|
|
public:
|
|
|
|
TBofZCalc() {}
|
|
|
|
~TBofZCalc() {
|
|
fZ.clear();
|
|
fBZ.clear();
|
|
}
|
|
|
|
vector<double> DataZ() const {return fZ;}
|
|
vector<double> DataBZ() const {return fBZ;}
|
|
double GetBmin() const;
|
|
double GetBmax() const;
|
|
double GetBofZ(double) const;
|
|
double GetdZ() const {return fDZ;}
|
|
|
|
protected:
|
|
vector<double> fZ;
|
|
vector<double> fBZ;
|
|
double fDZ;
|
|
};
|
|
|
|
//--------------------
|
|
// Class "for Meissner screening" in a thin superconducting film
|
|
//--------------------
|
|
|
|
class TLondon1D_1L : public TBofZCalc {
|
|
|
|
public:
|
|
|
|
TLondon1D_1L(unsigned int, const vector<double>& );
|
|
|
|
};
|
|
|
|
//--------------------
|
|
// Class "for Meissner screening" in a thin superconducting film - bilayer with two different lambdas
|
|
//--------------------
|
|
|
|
class TLondon1D_2L : public TBofZCalc {
|
|
|
|
public:
|
|
|
|
TLondon1D_2L(unsigned int, const vector<double>& );
|
|
|
|
};
|
|
|
|
//--------------------
|
|
// Class "for Meissner screening" in a thin superconducting film - tri-layer with three different lambdas
|
|
//--------------------
|
|
|
|
class TLondon1D_3L : public TBofZCalc {
|
|
|
|
public:
|
|
|
|
TLondon1D_3L(unsigned int, const vector<double>& );
|
|
|
|
};
|
|
|
|
//--------------------
|
|
// Class "for Meissner screening" in a thin superconducting film - tri-layer with two different lambdas
|
|
//--------------------
|
|
|
|
class TLondon1D_3LS : public TBofZCalc {
|
|
|
|
public:
|
|
|
|
TLondon1D_3LS(unsigned int, const vector<double>& );
|
|
|
|
};
|
|
|
|
#endif // _BofZCalc_H_
|