Ignore:
Timestamp:
Jul 23, 2008 1:11:58 PM (14 years ago)
Author:
srkline
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/SANS/Reduction/ILL_DataReadWrite.ipf

    r376 r394  
    169169 
    170170        // detector physical width (right now assumes square...) (in cm) 
    171         realw[20] = 65 
     171        realw[20] = 102 
    172172         
    173173        // beam stop diameter (assumes circular) (in mm) 
     
    188188        // wavelength spread (FWHM) 
    189189        realw[27] = getWavelengthSpread(fname) 
     190         
     191        realw[52] = getreactorpower(fname) 
    190192         
    191193        // beam stop X-position (motor reading, approximate cm from zero position) 
     
    920922         
    921923        // pos (1) on line 71 => 70 lines x 81 char 
    922         WriteReal(fname,num,5670)  
     924        WriteReal(fname,num*10,5670)  
    923925         
    924926        ///   line 11 column 1 
     
    934936        // your code here 
    935937         
    936         WriteReal(fname,num,5686) 
     938        WriteReal(fname,num*10,5686) 
    937939         
    938940        ///   line 11 column 2 
     
    956958        return(0) 
    957959End 
     960 
     961 
     962Function WritereactorpowerToHeader(fname,num) 
     963        String fname 
     964        Variable num 
     965         
     966        // your code here, default of 1 
     967        WriteReal(fname,num,6204) 
     968         
     969        ///   line 12 column 4 
     970         
     971        return(0) 
     972End 
     973 
     974 
     975 
     976 
     977 
     978 
     979 
    958980 
    959981// total monitor count during data collection 
     
    10931115        //your code here 
    10941116         
    1095         WriteReal(fname,num,5849) 
     1117        WriteReal(fname,10*num,5849) 
    10961118         
    10971119         
     
    11571179         
    11581180        // your code here 
    1159         WriteText(fname,"                              ",2075) 
     1181//              WriteText(fname,"                              ",2075)  // need to write in 30 bites no more.... 
     1182 
     1183        Variable numChars=30 
     1184        String blankStr="" 
     1185        blankStr = PadString(blankStr, numChars, 0x20) 
     1186        WriteText(fname,blankStr,2075) 
     1187         
     1188        if(strlen(str)>numChars) 
     1189                str = str[0,numchars-1] 
     1190        endif 
     1191         
    11601192        WriteText(fname,str,2075)   //// need to change that in order to erase the title and write a new one 
    11611193 
     
    12131245        String fname 
    12141246         
    1215         return("") 
     1247        String suffix = getStringFromHeader(fname,9341,6) 
     1248         
     1249        // replace the leading space w/ "0" 
     1250        suffix = ReplaceString(" ",suffix,"0") 
     1251         
     1252        return(suffix)   //// file suffix (6 characters @ byte 9341) 
    12161253End 
    12171254 
     
    12221259        String fname 
    12231260         
    1224         return("") 
     1261        string str 
     1262         
     1263        str= getStringFromHeader(fname,9350,6) 
     1264         
     1265        // replace leading space(s) w/zero 
     1266        str = ReplaceString(" ", str, "0" ) 
     1267//      print  str 
     1268         
     1269        return(str)  //  6 characters @ byte 9350 
    12251270End 
    12261271 
     
    12631308        return(str) 
    12641309End 
     1310 
     1311 
     1312//reactor power 
     1313Function getReactorpower(fname) 
     1314        String fname 
     1315         
     1316        Variable value 
     1317         
     1318        // your code returning value 
     1319         
     1320//      value = getRealValueFromHeader_2(fname,60,28,5,1,5)  // 
     1321         
     1322        value = getRealValueFromHeader(fname,83) 
     1323         
     1324//      print value 
     1325         
     1326        return(value) 
     1327end 
     1328 
    12651329 
    12661330 
     
    14241488        // your code returning value     
    14251489//      value = getRealValueFromHeader(fname,14)                //Lionel 
    1426         value = getRealValueFromHeader(fname,50)                //SRK 
     1490        value = getRealValueFromHeader(fname,50)/10             //SRK 
    14271491         
    14281492        return(value) 
     
    14371501        // your code returning value 
    14381502//      value = getRealValueFromHeader(fname,15)                //Lionel 
    1439         value = getRealValueFromHeader(fname,51)                //SRK 
     1503        value = getRealValueFromHeader(fname,51)/10             //SRK 
    14401504         
    14411505        return(value) 
     
    14651529        value = getRealValueFromHeader(fname,61)  
    14661530         
    1467         return(value) 
     1531        return(value/10)  // need in cm ILL write in mm 
    14681532end 
    14691533 
     
    16961760        String fname,suffix 
    16971761                 
    1698         // your code to write bounding box to the header, or nothing 
     1762        // replace leading space(s) w/zero 
     1763        suffix = ReplaceString(" ", suffix, "0" ) 
     1764                 
     1765        suffix = suffix[0,5]            //limit to 6 characters 
     1766         
     1767        WriteText(fname,suffix,9350) 
     1768         
    16991769         
    17001770        return(0) 
     
    20262096/// !!!! Make sure the text string is the correct LENGTH before sending it here!!! 
    20272097// SRK - May 2008 
    2028 Function WriteText(path,value,start) 
    2029         string path,value 
     2098Function WriteText(path,str,start) 
     2099        string path,str 
    20302100        variable start 
    20312101         
    20322102        variable refnum 
    20332103         
    2034         Open/A/T= "????" refnum as path 
     2104        Open/A/T= "????TEXT" refnum as path 
    20352105         
    20362106        FStatus refnum 
    20372107        FSetPos refnum, start 
    2038         FBinWrite refNum,value 
     2108        FBinWrite/F=0 refnum, str      //native object format (character) 
    20392109        FSetPos refnum,V_logEOF 
    20402110         
Note: See TracChangeset for help on using the changeset viewer.