Changeset 234 for trunk/src/SDMath.h


Ignore:
Timestamp:
01/21/05 12:18:58 (19 years ago)
Author:
kil064
Message:

add binary table operation
add opacity
rework gain-elevation to handle polynomials

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/SDMath.h

    r230 r234  
    3636#include <casa/aips.h>
    3737#include <casa/Utilities/CountedPtr.h>
     38#include "SDDefs.h"
    3839
    3940class casa::Table;
     
    6162// Quotient
    6263   casa::CountedPtr<SDMemTable> quotient(const casa::CountedPtr<SDMemTable>& on,
    63                                          const casa::CountedPtr<SDMemTable>& off);
     64                                         const casa::CountedPtr<SDMemTable>& off,
     65                                         casa::Bool preserveContinuum=casa::True) const;
     66
     67// Simple binary Table operators. add, subtract, multiply, divide (what=0,1,2,3)
     68   casa::CountedPtr<SDMemTable> simpleBinaryOperate (const casa::CountedPtr<SDMemTable>& left,
     69                                                     const casa::CountedPtr<SDMemTable>& right,
     70                                                     const casa::String& op) const;
    6471
    6572// Average in time
    6673   casa::CountedPtr<SDMemTable>  average(const casa::Block<casa::CountedPtr<SDMemTable> >& in,
    6774                                         const casa::Vector<casa::Bool>& mask,
    68                                          casa::Bool scanAverage, const casa::String& weightStr);
    69 //                                         casa::Bool alignVelocity);
     75                                         casa::Bool scanAverage,
     76                                         const casa::String& weightStr) const;
     77//                                         casa::Bool alignVelocity) const;
    7078
    71 // Statistics
     79// Statistics. If row<0, all rows are done otherwise, just the
     80// specified row.
    7281   std::vector<float> statistic(const casa::CountedPtr<SDMemTable>& in,
    73                                 const std::vector<bool>& mask, const casa::String& which);
     82                                const casa::Vector<casa::Bool>& mask,
     83                                const casa::String& which, casa::Int row) const;
    7484
    7585// Bin up spectra
    76    SDMemTable* bin(const SDMemTable& in, casa::Int width);
     86   SDMemTable* bin(const SDMemTable& in, casa::Int width) const;
    7787
    7888// Smooth
    7989   SDMemTable* smooth (const SDMemTable& in, const casa::String& kernel,
    80                        casa::Float width, casa::Bool doAll);
     90                       casa::Float width, casa::Bool doAll) const;
    8191
    8292// Flux conversion between Jansky and Kelvin
    8393   SDMemTable* convertFlux (const SDMemTable& in, casa::Float area,
    84                             casa::Float eta, casa::Bool doAll);
     94                            casa::Float eta, casa::Bool doAll) const;
    8595
    8696// Gain-elevation correction
    87    SDMemTable* gainElevation (const SDMemTable& in, const casa::String& fileName,
    88                               const casa::String& method, casa::Bool doAll);
     97   SDMemTable* gainElevation (const SDMemTable& in, const casa::Vector<casa::Float>& coeffs,
     98                              const casa::String& fileName,
     99                              const casa::String& method, casa::Bool doAll) const;
     100
     101// Opacity correction
     102   SDMemTable* opacity (const SDMemTable& in, casa::Float tau, casa::Bool doAll) const;
    89103
    90104// Simple mathematical operations.  what=0 (mul) or 1 (add)
    91105   SDMemTable* simpleOperate(const SDMemTable& in, casa::Float offset,
    92                              casa::Bool doAll, casa::uInt what);
     106                             casa::Bool doAll, casa::uInt what) const;
    93107
    94108// Average polarizations
    95    SDMemTable* averagePol(const SDMemTable& in, const casa::Vector<casa::Bool>& mask);
     109   SDMemTable* averagePol(const SDMemTable& in, const casa::Vector<casa::Bool>& mask) const;
    96110
    97111 private:
     
    143157   void convertInterpString(casa::Int& type, const casa::String& interp) const;
    144158
    145 
    146159// Correct data from an ascii Table
    147    SDMemTable* correctFromAsciiTable(SDMemTable* pTabOut, const SDMemTable& in,
    148                                      const casa::String& fileName,
    149                                      const casa::String& col0, const casa::String& col1,
    150                                      const casa::String& methodStr, casa::Bool doAll,
    151                                      const casa::Vector<casa::Float>& xOut);
     160   void correctFromAsciiTable(SDMemTable* pTabOut, const SDMemTable& in,
     161                              const casa::String& fileName,
     162                              const casa::String& col0, const casa::String& col1,
     163                              const casa::String& methodStr, casa::Bool doAll,
     164                              const casa::Vector<casa::Float>& xOut) const;
    152165
    153166// Correct data from a Table
    154    SDMemTable* correctFromTable(SDMemTable* pTabOut, const SDMemTable& in, const casa::Table& tTable,
    155                                 const casa::String& col0, const casa::String& col1,
    156                                 const casa::String& methodStr, casa::Bool doAll,
    157                                 const casa::Vector<casa::Float>& xOut);
     167   void correctFromTable(SDMemTable* pTabOut, const SDMemTable& in, const casa::Table& tTable,
     168                         const casa::String& col0, const casa::String& col1,
     169                         const casa::String& methodStr, casa::Bool doAll,
     170                         const casa::Vector<casa::Float>& xOut) const;
     171
     172// Correct data from a Vector
     173   void correctFromVector (SDMemTable* pTabOut, const SDMemTable& in,
     174                           casa::Bool doAll, const casa::Vector<casa::Float>& factor) const;
     175
     176
    158177
    159178// Read ascii file into a Table
    160179
    161180   casa::Table readAsciiFile (const casa::String& fileName) const;
    162                    
    163181};
    164182
Note: See TracChangeset for help on using the changeset viewer.