casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PBMath1DEVLA.h
Go to the documentation of this file.
1 //# PBMath1DEVLA.h: Definitions of 1-D Polynomial forEVLA
2 //# Copyright (C) 2016
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be adressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //#
27 //# $Id$
28 #ifndef SYNTHESIS_PBMATH1DEVLA_H
29 #define SYNTHESIS_PBMATH1DEVLA_H
30 #include <casa/aips.h>
33 namespace casa { //# NAMESPACE CASA - BEGIN
34  class PBMath1DEVLA : public PBMath1D {
35 
36 // <summary>
37 // PBMath1DEVLA is an expansion 1-D Polynomial for a Primary Beam
38 // to hold beams a per EVLA memo 195
39 // https://library.nrao.edu/public/memos/evla/EVLAM_195.pdf
40 // </summary>
41 
42 
43  public:
44  PBMath1DEVLA();
45  //freqToUse is not necessary ..at apply time
46  // the right polynomial will be used for the frequency applicable
47  // This value can be used for example to run summary
48  PBMath1DEVLA(casacore::Quantity maxRad, bool useSymmetricBeam=false, double freqToUse=1.0e9);
49 
51 
52  protected:
53  virtual void nearestVPArray(double freq, bool printINFO=true);
54  virtual void fillPBArray();
55  private:
56  void limitFreqForBand(const casacore::String& band, casacore::Double& freq);
57  std::map<double, std::vector<double> > coeffmap_p;
58  std::map<casacore::String, double> feedConf_p;
59  void init();
64  casacore::String feed(const double freq, const double freqCenter=0.0);
65 
66  };
67 } //End namespace casa
68 #endif
casacore::Quantity maxRad_p
Definition: PBMath1DEVLA.h:62
BeamSquint squint_p
Definition: PBMath1DEVLA.h:61
encapsulates beam squint (RR and LL beams at different directions)
Definition: BeamSquint.h:101
base class for 1D PBMath objects
Definition: PBMath1D.h:154
virtual PBMathInterface::PBClass whichPBClass()
Which PBClass is this one?
virtual void fillPBArray()
Fill in PB_p array from construction parameters, rescale construction parameters to the 1 GHz interna...
void limitFreqForBand(const casacore::String &band, casacore::Double &freq)
PBClass
Allowed PBMath Classes.
casacore::CountedPtr< PBMath1DPoly > pbMathPoly_p
Definition: PBMath1DEVLA.h:60
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
PBMath1DEVLA()
PBMath1DEVLA is an expansion 1-D Polynomial for a Primary Beam to hold beams a per EVLA memo 195 http...
double Double
Definition: aipstype.h:55
std::map< casacore::String, double > feedConf_p
Definition: PBMath1DEVLA.h:58
virtual void nearestVPArray(double freq, bool printINFO=true)
casacore::String feed(const double freq, const double freqCenter=0.0)
std::map< double, std::vector< double > > coeffmap_p
Definition: PBMath1DEVLA.h:57
String: the storage and methods of handling collections of characters.
Definition: String.h:223