Changeset 1924 for branches/polybatch/src/Scantable.cpp
- Timestamp:
- 09/14/10 12:17:16 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/polybatch/src/Scantable.cpp
r1919 r1924 1750 1750 } 1751 1751 1752 void Scantable::polyBaselineBatch(const std::vector<bool>& mask, int order, int rowno) 1752 void Scantable::polyBaselineBatch(const std::vector<bool>& mask, int order) 1753 { 1754 Fitter fitter = Fitter(); 1755 for (uInt rowno=0; rowno < nrow(); ++rowno) { 1756 doPolyBaseline(mask, order, rowno, fitter); 1757 setSpectrum(fitter.getResidual(), rowno); 1758 } 1759 } 1760 1761 STFitEntry Scantable::polyBaseline(const std::vector<bool>& mask, int order, int rowno) 1753 1762 { 1754 1763 Fitter fitter = Fitter(); 1755 1764 doPolyBaseline(mask, order, rowno, fitter); 1756 1765 setSpectrum(fitter.getResidual(), rowno); 1757 } 1758 1759 void Scantable::polyBaseline(const std::vector<bool>& mask, int order, int rowno, long pars_ptr, long pars_size, long errs_ptr, long errs_size, long fmask_ptr, long fmask_size) 1760 { 1761 Fitter fitter = Fitter(); 1762 doPolyBaseline(mask, order, rowno, fitter); 1763 setSpectrum(fitter.getResidual(), rowno); 1764 1765 std::vector<float> pars = fitter.getParameters(); 1766 if (pars_size != pars.size()) { 1767 throw(AipsError("wrong pars size")); 1768 } 1769 float *ppars = reinterpret_cast<float*>(pars_ptr); 1770 for (int i = 0; i < pars_size; i++) { 1771 ppars[i] = pars[i]; 1772 } 1773 1774 std::vector<float> errs = fitter.getErrors(); 1775 if (errs_size != errs.size()) { 1776 throw(AipsError("wrong errors size")); 1777 } 1778 float *perrs = reinterpret_cast<float*>(errs_ptr); 1779 for (int i = 0; i < errs_size; i++) { 1780 perrs[i] = errs[i]; 1781 } 1782 1783 std::vector<bool> fmask = getMask(rowno); 1784 if (fmask_size != fmask.size()) { 1785 throw(AipsError("wrong fmask size")); 1786 } 1787 int *pfmask = reinterpret_cast<int*>(fmask_ptr); 1788 for (int i = 0; i < fmask_size; i++) { 1789 pfmask[i] = ((fmask[i] && mask[i]) ? 1 : 0); 1790 } 1766 return fitter.getFitEntry(); 1791 1767 } 1792 1768
Note: See TracChangeset
for help on using the changeset viewer.