Ignore:
Timestamp:
07/30/10 16:33:06 (14 years ago)
Author:
Malte Marquarding
Message:

Added Wrapper and python binding for Filler

Location:
branches/newfiller/src
Files:
1 added
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • branches/newfiller/src/FillerBase.cpp

    r1780 r1786  
    1717using namespace casa;
    1818
    19 namespace asap
    20 {
    21 FillerBase::FillerBase() :
    22   table_(0)
     19namespace asap {
     20
     21FillerBase::FillerBase(casa::CountedPtr<Scantable> stable) :
     22  table_(stable)
    2323{
    2424}
  • branches/newfiller/src/FillerBase.h

    r1780 r1786  
    4040{
    4141  public:
    42     FillerBase();
    43     FillerBase(casa::CountedPtr<Scantable> stable);
     42    explicit FillerBase(casa::CountedPtr<Scantable> stable);
    4443    virtual ~FillerBase();
    4544
     45//    virtual bool open(const std::string& filename, const Record& rec)=0;
    4646    virtual bool open(const std::string& filename)=0;
    4747    virtual void fill() = 0;
    4848    virtual void close() = 0;
     49
     50    void setReferenceRegex(const std::string& rx) { referenceRx_ = rx; }
     51
    4952
    5053  protected:
  • branches/newfiller/src/FillerWrapper.h

    r1781 r1786  
    1414
    1515#include <casa/aips.h>
     16#include <casa/Exceptions.h>
    1617#include <casa/Utilities/CountedPtr.h>
    1718#include <string>
    1819
     20#include "ScantableWrapper.h"
     21#include "FillerBase.h"
     22/*
     23#include "PKSFiller.h"
     24#include "NROFiller.h"
     25*/
     26
    1927namespace asap
    2028{
    21 class Filler
     29class FillerWrapper
    2230{
    2331public:
    24   Filler() : filler_p(0) {;};
    2532
    26   ~Filler() { close(); };
     33  FillerWrapper() : filler_(0), attached_(false), stable_(0) {;}
    2734
     35  FillerWrapper(ScantableWrapper tbl) : filler_(0), attached_(false)
     36  { stable_ = tbl.getCP(); }
     37
     38  virtual ~FillerWrapper() { close(); }
     39
     40
     41//  void open(const std::string& filename, casa::Record rec) {
    2842  void open(const std::string& filename) {
    29     filler_p = new ATFiller();
    30     if (filler_p->open(filename)) {
     43//    filler_ = new ATFiller(stable_);
     44//    if (filler_->open(filename, rec)) {
     45    if (filler_->open(filename)) {
     46      attached_ = true;
    3147      return;
    3248    }
    33     filler_p = new NROFiller();
    34     if (filler_p->open(filename)) {
     49//    filler_ = new NROFiller(stable_);
     50//    if (filler_->open(filename, rec)) {
     51    if (filler_->open(filename)) {
     52      attached_ = true;
    3553      return;
    3654    }
    37     throw AipsError("Unknown Data Format");
     55    filler_ = 0;
     56    attached_ = false;
     57    throw casa::AipsError("Unknown Data Format");
    3858  }
    3959  void close() {
    40     if (filler_p) {
    41       filler_p->close();
     60    if (attached_) {
     61      filler_->close();
    4262    }
    4363  }
    4464
    4565  void fill() {
    46     if (filler_p) {
    47       filler_p->fill();
     66    if (attached_) {
     67      filler_->fill();
    4868    }
    4969  }
    50   void setReferenceRx(const std::string& rx) {
    51     if (filler_p) {
    52       filler_p->setReferenceRx(rx);
     70
     71  void setReferenceRegex(const std::string& rx) {
     72    if (attached_) {
     73      filler_->setReferenceRegex(rx);
    5374    }
    5475  }
    5576
    5677private:
    57   casa::CountedPtr<FillerBase> filler_p;
     78
     79  casa::CountedPtr<FillerBase> filler_;
     80  bool attached_;
     81  casa::CountedPtr<Scantable> stable_;
    5882};
    5983
    60 
    6184};
     85#endif
Note: See TracChangeset for help on using the changeset viewer.