Line data Source code
1 : /* 2 : * MsRows.cc 3 : * 4 : * Created on: Feb 20, 2013 5 : * Author: jjacobs 6 : */ 7 : 8 : #include "MsRows.h" 9 : 10 : #include <msvis/MSVis/VisBuffer2.h> 11 : #include <casacore/casa/Exceptions.h> 12 : 13 : using namespace casacore; 14 : namespace casa { 15 : namespace ms { 16 : 17 : using vi::VisBuffer2; 18 : 19 : #define AssertWritable() ThrowIf (! isWritable_p, "Cannot write to this MsRow object") 20 : 21 0 : MsRow::MsRow (rownr_t row, const VisBuffer2 * vb) 22 : : isWritable_p (false), 23 : row_p (row), 24 0 : vb_p (const_cast<VisBuffer2 * > (vb)) // take const into our own hands ;-( 25 : { 26 0 : ThrowIf (vb == 0, "VisBuffer cannot be null."); 27 0 : } 28 : 29 : 30 0 : MsRow::MsRow (rownr_t row, VisBuffer2 * vb) 31 0 : : isWritable_p (true), row_p (row), vb_p (vb) 32 : { 33 0 : ThrowIf (vb == 0, "VisBuffer cannot be null."); 34 0 : } 35 : 36 : Bool 37 0 : MsRow::isWritable () const 38 : { 39 0 : return isWritable_p; 40 : } 41 : 42 : uInt 43 0 : MsRow::row () const 44 : { 45 0 : return row_p; 46 : } 47 : 48 : vi::VisBuffer2 * 49 0 : MsRow::vb () const 50 : { 51 0 : return vb_p; 52 : } 53 : 54 : 55 0 : MsRows::MsRows (vi::VisBuffer2 * vb) 56 : { 57 0 : rows_p.resize (vb->nRows()); 58 : 59 0 : for (rownr_t i = 0; i < vb->nRows(); i ++){ 60 0 : rows_p [i] = vb->getRow(i); 61 : } 62 0 : } 63 : 64 : 65 : 66 : } // end namespace ms 67 : using namespace casacore; 68 : } // end namespace casa