Changeset 1439 in Sophya for trunk/ArchTOIPipe/ProcWSophya


Ignore:
Timestamp:
Mar 13, 2001, 7:23:14 PM (25 years ago)
Author:
ansari
Message:

Correction bugs, protections, ameliorations - Reza 13/3/2001

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ArchTOIPipe/ProcWSophya/rztoi.cc

    r1438 r1439  
    4545    if (outppf.length() > 0)    fgppf = true;
    4646   
    47     Vector vin, vout;
     47    Vector vin, vout, vsave(_width2);
    4848    TVector< complex<r_8> > vfft;
     49    double vlast = 0.;
    4950
    5051    for (int k=0; k<_nmax; k++) {
    51       istart = snb + k*_width1;
    52       //      if (k>0)  istart -= _width2;
     52      //      istart = snb + k*_width1;
     53      istart = snb + k*_width1 - k*_width2;
    5354      iend = istart +_width1;
    54       cout << " RzTOIProc::run() - Processing bloc k= " << k
     55      cout << "---RzTOIProc::run() - Processing bloc k= " << k
    5556           << " istart= " << istart << " iend= " << iend << endl;
    5657      if (iend > sne) {
     
    6061      //      Vector vin = getData(0, istart, iend);
    6162      vin.ReSize(_width1);
    62       jj = 0;
    63       for(ii=istart; ii<iend; ii++) 
    64         vin(jj++) = getData(0, ii);
    65      
    66       cout << " End of getData() for bloc " << k << endl;
     63      if (k == 0) {
     64        jj = 0;
     65        for(ii=istart; ii<iend; ii++) 
     66          vin(jj++) = getData(0, ii);
     67      }
     68      else {
     69        vin(Range(0,-1,_width2)) = vsave;
     70        jj = _width2;
     71        for(ii=istart+_width2; ii<iend; ii++) 
     72          vin(jj++) = getData(0, ii);
     73      }
     74
     75      vsave = vin(Range(_width1-_width2, -1,_width2));
     76      cout << "> End of getData() for bloc " << k << endl;
    6777
    6878      vout.ReSize(vin.Size());
    69       double vlast = 0.;
     79      //      cout << " DBG : Bloc[" << k << "] FirstSN=" << istart
     80      //           << " LastSN= " << istart+vout.Size()-_width2-1 << endl;
    7081      for(int i=0; i<vout.Size()-_width2; i++) {
    7182        vout(i) = vin(Range(i,-1,_width2)).Sum()/(r_8)_width2;
     
    7687      for(int i=vout.Size()-_width2; i<vout.Size(); i++) {
    7788        vout(i) = vlast;
    78         putData(0, i+istart, vout(i));
     89        //      putData(0, i+istart, vout(i));
    7990      }
    8091
    81       cout << " End of putData() for bloc " << k << " Mean vout= "
    82            << vout.Sum()/vout.Size() << endl;
     92      cout << ">> End of putData() for bloc[" << k << "] FirstSN="
     93           << istart << " LastSN= " << istart+vout.Size()-_width2-1
     94           << " Mean vout= " << vout.Sum()/vout.Size() << endl;
    8395
    8496      vin -= vout;
     
    121133    }
    122134
    123     cout << " Filling -9999 : putData(0, ii, -9999.) ii: "
     135    cout << " Filling with flag!=0  : putData(0, ii, flag) ii: "
    124136         << iend << " .. " << sne << endl;
     137    for(ii=iend-_width2; ii<iend; ii++) {
     138      putData(0, ii, vlast, 1);
     139    }
     140
    125141    double xxx;
    126142    for(ii=iend; ii<sne; ii++) {
     
    129145             << endl;
    130146      xxx=getData(0,ii);
    131       putData(0,ii,xxx-9999.);
     147      putData(0,ii,xxx,2);
    132148    }
    133149
Note: See TracChangeset for help on using the changeset viewer.