7 #ifndef Tomato_OXSIGNCALCULATOR_H     8 #define Tomato_OXSIGNCALCULATOR_H    20     template< 
typename MeasureType >
    26         virtual const MeasureType *getInvTimes()
 const {
    27             if (!_InvTimes) 
throw std::runtime_error(
"SignCalculator: _InvTimes equals 0. Set _InvTimes");
    31         virtual const MeasureType *getSigMag()
 const {
    32             if (!_SigMag) 
throw std::runtime_error(
"SignCalculator: _SigMag equals 0. Set _SigMag");
    36         virtual const MeasureType *getSigPha()
 const {
    37             if (!_SigPha) 
throw std::runtime_error(
"SignCalculator: _SigPha equals 0. Set _SigPha");
    41         virtual MeasureType *getSignal() {
    42             if (!_Signal) 
throw std::runtime_error(
"SignCalculator: _SigMag equals 0. Set _SigMag");
    46         virtual MeasureType *getSigns() {
    47             if (!_Signs) 
throw std::runtime_error(
"SignCalculator: _Signs equals 0. Set _Signs");
    51         virtual int getNSamples() {
    52             if (!_nSamples) 
throw std::runtime_error(
"SignCalculator: _nSamples equals 0. Set _nSamples");
    57         virtual void setInvTimes(
const MeasureType *_InvTimes) { SignCalculator::_InvTimes = _InvTimes; }
    58         virtual void setSigMag(
const MeasureType *_SigMag) { SignCalculator::_SigMag = _SigMag; }
    59         virtual void setSigPha(
const MeasureType *_SigPha) { SignCalculator::_SigPha = _SigPha; }
    60         virtual void setSignal(MeasureType *_Signal) { SignCalculator::_Signal = _Signal; }
    61         virtual void setSigns(MeasureType *_Signs) { SignCalculator::_Signs = _Signs; }
    62         virtual void setNSamples(
int _nSamples) { SignCalculator::_nSamples = _nSamples; }
    71             int nSamples = this->getNSamples();
    72             std::cout << 
"\nYou called disp() on a SignCalculator object " << 
this << 
" with nSamples: " << getNSamples();
    73             KWUtil::printArray(_InvTimes != 0, nSamples, _InvTimes, (
char*)
"\nInvTimes:    ");
    74             KWUtil::printArray(_SigMag != 0,   nSamples, _SigMag,   (
char*)
"\nSigMag:      ");
    75             KWUtil::printArray(_SigPha != 0,   nSamples, _SigPha,   (
char*)
"\nSigPha:      ");
    76             KWUtil::printArray(_Signal != 0,   nSamples, _Signal,   (
char*)
"\nSignal:      ");
    77             KWUtil::printArray(_Signs != 0,    nSamples, _Signs,    (
char*)
"\nSigns:       ");
    78             std::cout << std::endl;
   105             _nSamples = old._nSamples;
   121         const MeasureType* _InvTimes;
   122         const MeasureType* _SigMag; 
   123         const MeasureType* _SigPha; 
   124         MeasureType* _Signal; 
   131 #endif //Tomato_OXSIGNCALCULATOR_H virtual ~SignCalculator()
do not forget about the virtual destructor, see https://stackoverflow.com/questions/461203/when-to-us...
Definition: OxSignCalculator.h:118
 
virtual SignCalculator< MeasureType > * newByCloning()=0
 
SignCalculator(const SignCalculator &old)
copy constructor 
Definition: OxSignCalculator.h:103
 
void setAllPointersToNull()
set all the pointers to zero 
Definition: OxSignCalculator.h:84
 
Definition: OxSignCalculator.h:21
 
SignCalculator()
constructor 
Definition: OxSignCalculator.h:95
 
virtual int calculateSign()=0
 
Definition: OxCalculator.h:19