00001 //# IteratingParameters.h: Interface definition of the IteratingParameters class 00002 //# 00003 //# CASA - Common Astronomy Software Applications (http://casa.nrao.edu/) 00004 //# Copyright (C) Associated Universities, Inc. Washington DC, USA 2015, All rights reserved. 00005 //# Copyright (C) European Southern Observatory, 2015, All rights reserved. 00006 //# 00007 //# This library is free software; you can redistribute it and/or 00008 //# modify it under the terms of the GNU Lesser General Public 00009 //# License as published by the Free software Foundation; either 00010 //# version 2.1 of the License, or (at your option) any later version. 00011 //# 00012 //# This library is distributed in the hope that it will be useful, 00013 //# but WITHOUT ANY WARRANTY, without even the implied warranty of 00014 //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 //# Lesser General Public License for more details. 00016 //# 00017 //# You should have received a copy of the GNU Lesser General Public 00018 //# License along with this library; if not, write to the Free Software 00019 //# Foundation, Inc., 59 Temple Place, Suite 330, Boston, 00020 //# MA 02111-1307 USA 00021 //# $Id: $ 00022 00023 #ifndef IteratingParameters_H_ 00024 #define IteratingParameters_H_ 00025 00026 #include <casa/aips.h> 00027 #include <msvis/MSVis/VisibilityIterator2.h> 00028 00029 namespace casa { //# NAMESPACE CASA - BEGIN 00030 namespace vi { //# NAMESPACE VI - BEGIN 00031 00032 class IteratingParameters { 00033 00034 public: 00035 00036 IteratingParameters(); 00037 00038 IteratingParameters(Double chunkInterval, 00039 const SortColumns& sortColumns=SortColumns(), 00040 WeightScaling * weightScaling = 0); 00041 00042 IteratingParameters(const IteratingParameters& other); 00043 IteratingParameters& operator=(const IteratingParameters& other); 00044 00045 Double getChunkInterval() const; 00046 const SortColumns& getSortColumns() const; 00047 WeightScaling* getWeightScaling() const; 00048 00049 00050 void setChunkInterval(Double); 00051 void setSortColumns(const SortColumns&); 00052 void setWeightScaling(WeightScaling*); 00053 00054 private: 00055 00056 void validate(); 00057 00058 Double chunkInterval_p; 00059 SortColumns sortColumns_p; 00060 WeightScaling* weightScaling_p; 00061 00062 }; 00063 00064 } //# NAMESPACE VI - END 00065 } //# NAMESPACE CASA - END 00066 00067 #endif /* IteratingParameters_H_ */