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