Changeset 3776 in Sophya for trunk/AddOn/TAcq/vismfib.cc


Ignore:
Timestamp:
May 18, 2010, 10:22:10 AM (15 years ago)
Author:
ansari
Message:

Ajout classes / modification pour permettre le calcul des visibilites ave plusieurs objets BRVisibilityCalculator s'executant en parallele, Reza 18/05/2010

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/AddOn/TAcq/vismfib.cc

    r3774 r3776  
    5757    RAcqMemZoneMgr mmgr(par.nzones_, par.dirlist_.size(), par.npaqinzone_, par.paqsize_);
    5858    if (par.action_ == "cube3d")  mmgr.SetFinalizedMask((uint_4)MemZS_Saved);
    59     else  mmgr.SetFinalizedMask((uint_4)MemZS_ProcA);
    60 
     59    else  {
     60      if (par.nbcalgrp_==2)
     61        mmgr.SetFinalizedMask((uint_4)MemZS_ProcA|(uint_4)MemZS_ProcB);
     62      else if (par.nbcalgrp_==3)
     63        mmgr.SetFinalizedMask((uint_4)MemZS_ProcA|(uint_4)MemZS_ProcB|(uint_4)MemZS_ProcC);
     64      else if (par.nbcalgrp_==4)
     65        mmgr.SetFinalizedMask((uint_4)MemZS_ProcA|(uint_4)MemZS_ProcB|(uint_4)MemZS_ProcC|(uint_4)MemZS_ProcD);
     66      else mmgr.SetFinalizedMask((uint_4)MemZS_ProcA); 
     67    }
    6168    BRMultiFitsReader reader(mmgr, par.dirlist_, true, par.imin_, par.imax_, par.istep_);
    6269    reader.SetPrintLevel(par.prtlevel_);
    6370
    64     BRVisibilityCalculator proc(mmgr, par.outpath_, par.nmean_, par.freqmin_, par.freqmax_,
    65                                 par.nbinfreq_, par.nthreads_);
    66     if (par.action_ == "viscktt")  proc.ActivateTimeTagCheck(par.TotalNPaquets());
     71    /*    BRVisibilityCalculator proc(mmgr, par.outpath_, par.nmean_, par.nthreads_);
     72    proc.SelectFreqBinning(par.freqmin_, par.freqmax_, par.nbinfreq_);  */
     73    BRVisCalcGroup procg(par.nbcalgrp_, mmgr, par.outpath_, par.nmean_, par.nthreads_);
     74    procg.SelectFreqBinning(par.freqmin_, par.freqmax_, par.nbinfreq_);
     75
     76    if (par.action_ == "viscktt")  procg.ActivateTimeTagCheck(par.TotalNPaquets());
    6777    BRMeanSpecCalculator procms(mmgr, par.outpath_, par.nmean_);
     78
    6879    FitsCubeWriter wrt(mmgr, par.outpath_, par.nbloc_);
    6980    //    BRBaseProcessor proc(mmgr);
     
    7384    if (par.action_ == "cube3d")   wrt.start();
    7485    else if (par.action_ == "mspec")   procms.start();
    75     else  proc.start();
     86    else  procg.start();
    7687    usleep(200000);
    7788    reader.join();
    7889    if (par.action_ == "cube3d")  wrt.join();
    7990    else if (par.action_ == "mspec")  procms.join();
    80     else proc.join();
     91    else procg.join();
    8192    mmgr.Print(cout);
    8293    cout << resu ;
Note: See TracChangeset for help on using the changeset viewer.