Line data Source code
1 : //# CASA - Common Astronomy Software Applications (http://casa.nrao.edu/) 2 : //# Copyright (C) Associated Universities, Inc. Washington DC, USA 2011, All rights reserved. 3 : //# Copyright (C) European Southern Observatory, 2011, All rights reserved. 4 : //# 5 : //# This library is free software; you can redistribute it and/or 6 : //# modify it under the terms of the GNU Lesser General Public 7 : //# License as published by the Free software Foundation; either 8 : //# version 2.1 of the License, or (at your option) any later version. 9 : //# 10 : //# This library is distributed in the hope that it will be useful, 11 : //# but WITHOUT ANY WARRANTY, without even the implied warranty of 12 : //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 : //# Lesser General Public License for more details. 14 : //# 15 : //# You should have received a copy of the GNU Lesser General Public 16 : //# License along with this library; if not, write to the Free Software 17 : //# Foundation, Inc., 59 Temple Place, Suite 330, Boston, 18 : //# MA 02111-1307 USA 19 : //# $Id: $ 20 : 21 : #ifndef STATWTTVILAYERFACTORY_H_ 22 : #define STATWTTVILAYERFACTORY_H_ 23 : 24 : #include <msvis/MSVis/VisibilityIterator2.h> 25 : 26 : #include <casacore/casa/Containers/Record.h> 27 : #include <mstransform/TVI/StatWtTVI.h> 28 : 29 : namespace casa { 30 : 31 : namespace vi { 32 : 33 : class StatWtTVILayerFactory : public ViiLayerFactory { 34 : 35 : public: 36 : 37 : StatWtTVILayerFactory() = delete; 38 : 39 0 : ~StatWtTVILayerFactory() {}; 40 : 41 : StatWtTVILayerFactory(casacore::Record& configuration); 42 : 43 0 : StatWtTVI* getTVI() const { return _statWtTVI; } 44 : 45 : protected: 46 : 47 : const casacore::Record _configuration; 48 : 49 : ViImplementation2* createInstance(ViImplementation2* vii0) const; 50 : 51 : mutable StatWtTVI* _statWtTVI = nullptr; 52 : 53 : }; 54 : 55 : } 56 : 57 : } 58 : 59 : #endif 60 :