Ignore:
Timestamp:
Feb 19, 2010 10:18:56 AM (13 years ago)
Author:
srkline
Message:

Some changes to the installer files to look in new paths, not complete yet at all.

Added proper error handling for all 4 cases in the new 1D Arithmetic panel. Also fixed a typo that was always removing set 2 from the display when the result was calculated.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Common/DataSetHandling.ipf

    r612 r631  
    605605                        // state of the checkbox 
    606606                        ControlInfo/W=$(win) DANoDS2_cb 
    607                         if(V_flag) 
     607                        if(V_Value) 
    608608                                DS2 = "NullSolvent" 
    609609                        endif 
     
    976976         
    977977        result_i = set1_i - (set2Scale*interp(set1_q[p],set2_q,set2_i)) 
    978         result_s = sqrt(set1_s^2 + set2Scale^2*interp(set1_q[p],set2_q,set2_s)) 
     978        result_s = sqrt(set1_s^2 + (set2Scale*interp(set1_q[p],set2_q,set2_s))^2 ) 
    979979        //Calculate result error wave - can we produce corrected Q error?  
    980980         
     
    10041004        //Do addition of I waves - including interpolation if necessary.  
    10051005        Wave result_i = $(resultPath+resultName+"_i") 
     1006        Wave result_s = $(resultPath+resultName+"_s") 
    10061007        Wave set1_i = $(set1Path+set1Name+"_i") 
    10071008        Wave set1_q = $(set1Path+set1Name+"_q") 
     1009        Wave set1_s = $(set1Path+set1Name+"_s") 
    10081010        Wave set2_i = $(set2Path+set2Name+"_i") 
    10091011        Wave set2_q = $(set2Path+set2Name+"_q") 
     1012        Wave set2_s = $(set2Path+set2Name+"_s") 
     1013         
    10101014        result_i =  set1_i + set2Scale*interp(set1_q[p],set2_q,set2_i)   
    1011          
    1012         //Calculate result error wave - can we produce corrected Q error?  
    1013  
     1015        //Calculate result error wave (note that this is identical to subtraction) 
     1016        result_s = sqrt(set1_s^2 + (set2Scale*interp(set1_q[p],set2_q,set2_s))^2 ) 
     1017 
     1018        //  - can we produce corrected Q error?  
    10141019        //Generate history string to record what was done? 
    10151020        return 0 
     
    10381043        //Do multiplcation of I waves - including interpolation if necessary.  
    10391044        Wave result_i = $(resultPath+resultName+"_i") 
     1045        Wave result_s = $(resultPath+resultName+"_s") 
    10401046        Wave set1_i = $(set1Path+set1Name+"_i") 
    10411047        Wave set1_q = $(set1Path+set1Name+"_q") 
     1048        Wave set1_s = $(set1Path+set1Name+"_s") 
    10421049        Wave set2_i = $(set2Path+set2Name+"_i") 
    10431050        Wave set2_q = $(set2Path+set2Name+"_q") 
     1051        Wave set2_s = $(set2Path+set2Name+"_s") 
     1052         
    10441053        result_i =  set1_i*set2Scale*interp(set1_q[p],set2_q,set2_i) 
    1045                  
    1046          
    1047         //Calculate result error wave - can we produce corrected Q error?  
     1054        //Calculate result error wave 
     1055        // sum each of the relative errors, interpolating set 2 intensity and error as needed 
     1056        // then sqrt 
     1057        result_s = (set2Scale*interp(set1_q[p],set2_q,set2_i)*set1_s)^2 
     1058        result_s += (set2Scale*set1_i*interp(set1_q[p],set2_q,set2_s))^2 
     1059        result_s = sqrt(result_s) 
     1060 
     1061        // - can we produce corrected Q error?  
    10481062 
    10491063        //Generate history string to record what was done? 
     
    10731087        //Do division of I waves - including interpolation if necessary.  
    10741088        Wave result_i = $(resultPath+resultName+"_i") 
     1089        Wave result_s = $(resultPath+resultName+"_s") 
    10751090        Wave set1_i = $(set1Path+set1Name+"_i") 
    10761091        Wave set1_q = $(set1Path+set1Name+"_q") 
     1092        Wave set1_s = $(set1Path+set1Name+"_s") 
    10771093        Wave set2_i = $(set2Path+set2Name+"_i") 
    10781094        Wave set2_q = $(set2Path+set2Name+"_q") 
     1095        Wave set2_s = $(set2Path+set2Name+"_s") 
     1096         
    10791097        result_i =  set1_i/(set2Scale*interp(set1_q[p],set2_q,set2_i)   ) 
    1080          
    1081         //Calculate result error wave - can we produce corrected Q error?  
     1098        //Calculate result error wave 
     1099        // sum each of the relative errors, interpolating set 2 intensity and error as needed 
     1100        // then sqrt 
     1101        result_s = (set1_s/set2Scale/interp(set1_q[p],set2_q,set2_i))^2 
     1102        result_s += (interp(set1_q[p],set2_q,set2_s)*set1_i/set2Scale/interp(set1_q[p],set2_q,set2_i)^2)^2 
     1103        result_s = sqrt(result_s) 
     1104 
     1105        // - can we produce corrected Q error?  
    10821106         
    10831107        //Generate history string to record what was done? 
Note: See TracChangeset for help on using the changeset viewer.