Changeset 3068 in Sophya


Ignore:
Timestamp:
Sep 8, 2006, 4:27:40 PM (19 years ago)
Author:
ansari
Message:

Ajout declaration NomgAdapter pour SwFitsDataTable et commande swfitstable - Reza 08/09/2006

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/ProgPI/fitsbtadapter.cc

    r3042 r3068  
    1919#include "fbtntintf.h"
    2020
     21#include "nomhistadapter.h"
     22#include "swfitsdtable.h"
     23
    2124#include "fitsmanager.h"
    2225#include "fitshandler.h"
     
    111114Services2NObjMgr* serv = omg.GetServiceObj();
    112115serv->RegisterClass(new FitsBTNtuIntf, new NOMAdapter_FitsBT);
     116// ainsi que pour l'adaptateur de SwFitsDataTable
     117serv->RegisterClass(new SwFitsDataTable, new NOMAdapter_DataTable );
    113118
    114119// On enregistre la commande
     
    141146usage += "Usage: readfits FileName [num_hdu] \n";
    142147usage += " num_hdu=1,..,NbHDU (uses FitsManager) \n";
    143 usage += "See also  scanfits writefits fitsadapt ";
     148usage += "See also  scanfits writefits fitsadapt swfitstable ";
     149mpiac->RegisterCommand(kw, usage, this, hgrp);
     150
     151kw = "swfitstable";
     152usage = "swfitstable: Creates/read an SwFitsDataTable from a fits file\n" ;
     153usage += "   SwFitsDataTable is a table which uses the BINARY-TBL\n";
     154usage += "   of the fits file as swap space - useful for large tables\n";
     155usage += "Usage: swfitstable FileName [num_hdu=2] [segsize=512]\n";
     156usage += "See also: readfits scanfits";
    144157mpiac->RegisterCommand(kw, usage, this, hgrp);
    145158}
     
    176189  if(tokens.size() > 1)  slev = atoi(tokens[1].c_str());
    177190  FitsManager::ScanFile(tokens[0], slev);
     191  return 0;
     192}
     193else if (kw == "swfitstable") {
     194  if(tokens.size() < 1)  {
     195    cout<<"Usage: swfitstable FileName [num_hdu=2] [segsize=512]"<<endl;
     196    return 1;
     197  }
     198  int numhdu = 2;
     199  if(tokens.size() > 1)  numhdu = atoi(tokens[1].c_str());
     200  int segsize = 512;
     201  if(tokens.size() > 2)  segsize = atoi(tokens[2].c_str());
     202  SwFitsDataTable* swfd = new SwFitsDataTable(tokens[0], numhdu, segsize);
     203  if (swfd != NULL) {
     204    string nom = omg.GetServiceObj()->FileName2Name(tokens[0]);
     205    omg.AddObj(swfd, nom, false);
     206    cout << "swfitstable: SwFitsDataTable object" << nom << " from"
     207         << tokens[0] << " HDU=" << numhdu << endl;
     208  }   
    178209  return 0;
    179210}
Note: See TracChangeset for help on using the changeset viewer.