Ignore:
Timestamp:
04/08/11 21:06:20 (13 years ago)
Author:
WataruKawasaki
Message:

merged bug fixes from trunk (r2124)

Location:
branches/casa-prerelease/pre-asap
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/casa-prerelease/pre-asap

    • Property svn:mergeinfo changed
      /trunkmerged: 2125
  • branches/casa-prerelease/pre-asap/src

  • branches/casa-prerelease/pre-asap/src/RowAccumulator.h

    r1819 r2126  
    1313#define ASAPROWACCUMULATOR_H
    1414
     15#include <math.h>
    1516#include <casa/aips.h>
    1617#include <casa/Arrays/Vector.h>
     
    4849           const casa::Vector<casa::Bool>& m,
    4950           const casa::Vector<casa::Float>& tsys,
    50            casa::Double interval,
    51            casa::Double time);
     51           const casa::Double interval,
     52           const casa::Double time);
    5253  /**
    5354    * Also set a user mask which get combined with the individual masks
     
    8485    * Reset the acummulator to the state at construction.
    8586    */
    86   void reset();
     87  void reset(const casa::uInt size=0, const casa::uInt tsysSize=0);
     88  void initialize(const casa::uInt size, const casa::uInt tsysSize);
    8789  /**
    8890    * check the initialization state
    8991    */
    9092  casa::Bool state() const;
     93  /**
     94    * replace NaN values with (normal) values at the same channels in the given spetrum.
     95    * (CAS-2776; 2011/04/07 by Wataru Kawasaki)
     96    */
     97  void replaceNaN();
    9198
    9299private:
    93   void addSpectrum( const casa::Vector<casa::Float>& v,
    94                     const casa::Vector<casa::Bool>& m,
    95                     casa::Float weight);
    96 
    97   casa::Float addTsys(const casa::Vector<casa::Float>& v);
    98   casa::Float addInterval(casa::Double inter);
    99   void addTime(casa::Double t);
     100  void addSpectrum(const casa::Vector<casa::Float>& v,
     101                   const casa::Vector<casa::Bool>& m,
     102                   const casa::Vector<casa::Float>& tsys,
     103                   const casa::Double interval,
     104                   const casa::Double time);
     105  void doAddSpectrum(const casa::Vector<casa::Float>& v,
     106                     const casa::Vector<casa::Bool>& m,
     107                     const casa::Vector<casa::Float>& tsys,
     108                     const casa::Double interval,
     109                     const casa::Double time,
     110                     const casa::Bool ignoreMask);
     111  casa::Float getTotalWeight(const casa::MaskedArray<casa::Float>& data,
     112                             const casa::Vector<casa::Float>& tsys,
     113                             const casa::Double interval,
     114                             const casa::Double time,
     115                             const casa::Bool ignoreMask);
     116  casa::Float addTsys(const casa::Vector<casa::Float>& v, casa::Bool ignoreMask);
     117  casa::Float addInterval(casa::Double inter, casa::Bool ignoreMask);
     118  void addTime(casa::Double t, casa::Bool ignoreMask);
    100119
    101120  WeightType weightType_;
     
    106125  casa::MaskedArray<casa::uInt> n_;
    107126
     127  //these three are used for normalise() (CAS-2776; 2011/04/07 by WK)
     128  casa::MaskedArray<casa::Float> spectrumNoMask_;
     129  casa::MaskedArray<casa::Float> weightSumNoMask_;
     130  casa::MaskedArray<casa::uInt> nNoMask_;
     131
    108132  casa::Vector<casa::Bool> userMask_;
    109133
    110   casa::Vector<casa::Float> tsysSum_;
    111   casa::Double timeSum_;
    112   casa::Double intervalSum_;
     134  casa::Vector<casa::Float> tsysSum_, tsysSumNoMask_;
     135  casa::Double timeSum_, timeSumNoMask_;
     136  casa::Double intervalSum_, intervalSumNoMask_;
    113137};
    114138
Note: See TracChangeset for help on using the changeset viewer.