Jul 23, 2008 1:11:58 PM (14 years ago)

Several changes:

New version of ILL_DataReadWrite. Some changes added to Lionel's work to get the transmission calculation working corectly.

Changes to the wrapper to get the cursors on/off working correctly, as well as USANS matrix recalculation during normal fitting and during Global fitting. It may ask to recalculate the matrix occasionally when using the full data set - even though it really doesn't need to - but this is as a precaution.

Re-worked the header of the GRASP-export ASCII data to much more closely match the VAX output. I couldn't find any problem with the data block, so maybe GRASP was having trouble with the header.

1 edited


  • sans/Dev/trunk/NCNR_User_Procedures/SANS/Analysis/Models/USANS_SlitSmearing_v40.ipf

    r347 r394  
    1414//     - pass N to CalcR to avoid globals 
    16 // 
     18//// July 2008 SRK 
     20// For fitting withe cursors, the matrix must be recalculated for the exact range of the data 
     21// - but the inital dependency of the model (any number of them) was (were) set up to use the full matrix 
     22// -- so: 
     23//      $_res is the resolution for the dependencies. It is always the full size of the data set. If cursors are used, 
     24//                      it is padded with zeroes at the edges to fill. 
     26// weights_save: is a pristine copy of the resolution matrix for the full data set, as when loaded 
     27// $_qt, $_qi, $_qs, $_rest: are "trimmed" sets that use the range specified by the cursors. They are created 
     28//                      at load time and are initially the full data range. 
     30// there is a wave note attached to $_res that has the current point range for the matrix. This is what the  
     31//              $_rest matrix is expected to be too, so keep these two matrices in sync. 
     33//      during fitting, $_rest is used in the structure if cursors are used, since the matrix must be the same dimension (N) 
     34//                      as the (trimmed) data range. It may be the full data range if the cursors are at the ends of the data set. 
     35//                      If no cursors are used, then the $_res wave is used in the structure 
    1841// called only by the main file loader 
    6992        Note weights ,nStr 
     94        // make a set of "trimmed" data that is currently the full data set 
     95        // but will be trimmed as needed for use with cursors 
     96        // this is necessary to handle the base case of cursors that use the full range of the data! 
     97        Duplicate/O $(baseStr+"_q") $(baseStr+"_qt") 
     98        Duplicate/O $(baseStr+"_i") $(baseStr+"_it") 
     99        Duplicate/O $(baseStr+"_s") $(baseStr+"_st") 
     100        Duplicate/O weights, $(basestr+"_res"+"t") 
    71102        // save a copy of the untainted matrix to return to... 
    72103        Duplicate/O weights, weights_save 
Note: See TracChangeset for help on using the changeset viewer.