7 #ifndef Tomato_OXCALCULATORT1_HXX     8 #define Tomato_OXCALCULATORT1_HXX    18     template<
typename MeasureType>
    19     std::map<std::string, MeasureType>
    20     Calculator<MeasureType>
    21     ::getResults()
 const {
    25     template< 
typename MeasureType >
    30             throw std::runtime_error(
"Calculator: _Model equals 0. Set _Model");
    35     template< 
typename MeasureType >
    40             throw std::runtime_error(
"Calculator: _Fitter equals 0. Set _Fitter");
    45     template< 
typename MeasureType >
    49         return _StartPointCalculator;
    52     template< 
typename MeasureType >
    56         return _SignCalculator;
    59     template< 
typename MeasureType >
    66     template< 
typename MeasureType >
    73     template< 
typename MeasureType >
    80     template< 
typename MeasureType >
    87     template< 
typename MeasureType >
    92             throw std::runtime_error(
"Calculator: _SigMag equals 0. Set _SigMag" );
    97     template< 
typename MeasureType >
   104     template< 
typename MeasureType >
   111     template< 
typename MeasureType >
   118     template< 
typename MeasureType >
   125     template< 
typename MeasureType >
   133     template< 
typename MeasureType >
   140     template< 
typename MeasureType >
   145             throw std::runtime_error(
"Calculator: _nSamples equals 0. Set _nSamples");
   150     template< 
typename MeasureType >
   155             throw std::runtime_error(
"Calculator: _nDims equals 0. Set _nDims");
   165     template< 
typename MeasureType >
   169         setNDims(_Model->getNDims());
   170         Calculator::_Model = _Model;
   173     template< 
typename MeasureType >
   177         Calculator::_Fitter = _Fitter;
   180     template< 
typename MeasureType >
   184         Calculator::_SignCalculator = _SignCalculator;
   187     template< 
typename MeasureType >
   191         Calculator::_StartPointCalculator = _StartPointCalculator;
   195     template< 
typename MeasureType >
   199         Calculator::_InvTimes = _InvTimes;
   202     template< 
typename MeasureType >
   206         Calculator::_EchoTimes = _EchoTimes;
   209     template< 
typename MeasureType >
   213         Calculator::_SigMag = _SigMag;
   216     template< 
typename MeasureType >
   220         Calculator::_SigPha = _SigPha;
   223     template< 
typename MeasureType >
   227         Calculator::_Noise = _Noise;
   230     template< 
typename MeasureType >
   234         Calculator::_MeanCutOff = _MeanCutOff;
   237     template< 
typename MeasureType >
   242         delete [] _Signal; _Signal = 0;
   243         delete [] _Signs; _Signs = 0;
   245         Calculator::_nSamples = nSamples;
   247         _Signal = 
new MeasureType[nSamples];
   248         _Signs = 
new MeasureType[nSamples];
   250         for (
int i = 0; i < nSamples; ++i){
   260     template< 
typename MeasureType >
   265         delete [] _StartPoint; _StartPoint = 0;
   266         delete [] _ParametersAfterFitting; _ParametersAfterFitting = 0;
   268         Calculator::_nDims = nDims;
   270         _StartPoint = 
new MeasureType[nDims];
   271         _ParametersAfterFitting = 
new MeasureType[nDims];
   273         for (
int i = 0; i < nDims; ++i){
   275             _ParametersAfterFitting[i] = 0;
   279     template<
typename MeasureType>
   281         return _ParametersAfterFitting;
   284     template< 
typename MeasureType >
   288         int nSamples = this->getNSamples();
   289         std::cout << 
"\nYou called disp() on a Calculator object " << 
this   290                   << 
" with nSamples: " << nSamples
   291                   << 
" nDims: " << _nDims;
   292         KWUtil::printArray(_InvTimes != 0, nSamples, _InvTimes,       (
char*)
"\nInvTimes:    ");
   293         KWUtil::printArray(_EchoTimes != 0, nSamples, _EchoTimes,     (
char*)
"\nEchoTimes:   ");
   294         KWUtil::printArray(_RepTimes != 0, nSamples, _RepTimes,       (
char*)
"\nRepTimes:    ");
   295         KWUtil::printArray(_RelAcqTimes != 0, nSamples, _RelAcqTimes, (
char*)
"\nRelAcqTimes: ");
   296         KWUtil::printArray(_SigMag != 0, nSamples, _SigMag,           (
char*)
"\nSigMag:      ");
   297         KWUtil::printArray(_SigPha != 0, nSamples, _SigPha,           (
char*)
"\nSigPha:      ");
   298         KWUtil::printArray(_Noise != 0, nSamples, _Noise,             (
char*)
"\nNoise:       ");
   299         KWUtil::printArray(_Signal != 0, nSamples, _Signal,           (
char*)
"\nSignal:      ");
   300         KWUtil::printArray(_Signs != 0, nSamples, _Signs,             (
char*)
"\nSigns:       ");
   301         KWUtil::printArray(_StartPoint != 0, _nDims, _StartPoint,     (
char*)
"\nStart point: ");
   302         std::cout << std::endl;
   304             std::cout << 
"This Calculator contains the following Model object: ";
   309             std::cout << 
"This Calculator contains the following Fitter object: ";
   313         if(_SignCalculator) {
   314             std::cout << 
"This Calculator contains the following SignCalculator object: ";
   315             _SignCalculator->disp();
   318         if(_StartPointCalculator) {
   319             std::cout << 
"This Calculator contains the following StartPointCalculator object: ";
   320             _StartPointCalculator->disp();
   326 #endif //Tomato_OXCALCULATORT1_H virtual int getNSamples() const 
Definition: OxCalculator.hxx:143
 
virtual int getNDims() const 
Definition: OxCalculator.hxx:153
 
virtual void disp()
show me your ModelT1 
Definition: OxModel.hxx:26
 
Container for a model function, cost function and Least-Squares function. And derivatives. 
Definition: OxModel.h:26
 
virtual const MeasureType * getSigMag() const 
Definition: OxCalculator.hxx:90
 
virtual void setNDims(int _nDims)
Definition: OxCalculator.hxx:263
 
void disp()
show me your Model 
Definition: OxCalculator.hxx:287
 
Definition: OxCalculator.h:28
 
virtual void disp()
show me your Fitter 
Definition: OxFitter.h:77
 
Definition: OxSignCalculator.h:21
 
Definition: OxStartPointCalculator.h:21
 
Definition: OxFitter.h:22
 
virtual const MeasureType * getSigPha() const 
Definition: OxCalculator.hxx:100
 
Definition: OxCalculator.h:19
 
virtual Model< MeasureType > * getModel() const 
Definition: OxCalculator.hxx:28
 
virtual void setNSamples(int _nSamples)
Definition: OxCalculator.hxx:240
 
virtual Fitter< MeasureType > * getFitter() const 
Definition: OxCalculator.hxx:38