Ignore:
Timestamp:
Feb 25, 2019 3:17:03 PM (3 years ago)
Author:
srkline
Message:

multiple changes to improve the functionality of VCALC

more values are reported, and the IQ plot now accounts for a beam stop shadowing the low q region. Qmin and qmax values are reported for each panel. the beam intensity value is more realistic, with correct SSD values.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_VCALCPanel_MockUp.ipf

    r1117 r1128  
    6363// always visible stuff, not on any tab 
    6464         
    65         GroupBox group0,pos={10,10},size={444,180},title="Setup" 
    66         TabControl Vtab,labelBack=(45000,61000,58000),pos={14,215},size={430,426},tabLabel(0)="Collim" 
     65        GroupBox group0,pos={10,10},size={440,125},title="Setup" 
     66        TabControl Vtab,labelBack=(45000,61000,58000),pos={14,150},size={430,200},tabLabel(0)="Collim" 
    6767        TabControl Vtab,tabLabel(1)="Sample",tabLabel(2)="Front Det",tabLabel(3)="Mid Det" 
    6868        TabControl Vtab,tabLabel(4)="Back Det",tabLabel(5)="Simul",value= 0,proc=VCALCTabProc 
     
    8282        SetVariable setVar_a,limits={0.3,30,0.2},value=_NUM:20 
    8383 
    84         ValDisplay valDisp_a,pos={50,100},size={150,15},title="Beam Intensity",value=root:Packages:NIST:VSANS:VCALC:gBeamIntensity 
     84        ValDisplay valDisp_a,pos={50,380},size={150,15},title="Beam Intensity",value=root:Packages:NIST:VSANS:VCALC:gBeamIntensity 
     85 
     86        ValDisplay valDisp_b,pos={50,410},size={150,15},title="Q min (Front) (1/A)",value=root:Packages:NIST:VSANS:VCALC:gQmin_F 
     87        ValDisplay valDisp_c,pos={250,410},size={150,15},title="Q max (Front) (1/A)",value=root:Packages:NIST:VSANS:VCALC:gQmax_F 
     88        ValDisplay valDisp_d,pos={50,440},size={150,15},title="Q min (Mid) (1/A)",value=root:Packages:NIST:VSANS:VCALC:gQmin_M 
     89        ValDisplay valDisp_e,pos={250,440},size={150,15},title="Q max (Mid) (1/A)",value=root:Packages:NIST:VSANS:VCALC:gQmax_M 
     90        ValDisplay valDisp_f,pos={50,470},size={150,15},title="Q min (Back) (1/A)",value=root:Packages:NIST:VSANS:VCALC:gQmin_B 
     91        ValDisplay valDisp_g,pos={250,470},size={150,15},title="Q max (Back) (1/A)",value=root:Packages:NIST:VSANS:VCALC:gQmax_B 
     92        ValDisplay valDisp_h,pos={50,500},size={200,15},title="Beam Diam (middle) (cm)",value=root:Packages:NIST:VSANS:VCALC:gBeamDiam 
     93        ValDisplay valDisp_i,pos={50,530},size={200,15},title="Beam Stop Diam (middle) (in)",value=root:Packages:NIST:VSANS:VCALC:gBeamStopDiam 
     94        ValDisplay valDisp_j,pos={50,560},size={200,15},title="Real Q min (1/A)",value=root:Packages:NIST:VSANS:VCALC:gRealQMin 
    8595 
    8696 
     
    149159         
    150160// tab(0), collimation - initially visible 
    151         Slider VCALCCtrl_0a,pos={223,324},size={200,45},limits={0,10,1},value= 1,vert= 0 
    152         SetVariable VCALCCtrl_0b,pos={25,294},size={120,15},title="wavelength" 
     161        Slider VCALCCtrl_0a,pos={223,324-50},size={200,45},limits={0,9,1},value= 1,vert= 0,proc=V_GuideSliderProc 
     162        SetVariable VCALCCtrl_0b,pos={25,294-50},size={120,15},title="wavelength" 
    153163        SetVariable VCALCCtrl_0b,limits={4,20,1},value=_NUM:8,proc=VC_Lambda_SetVarProc 
    154         PopupMenu VCALCCtrl_0c,pos={26,257},size={150,20},title="monochromator" 
     164        PopupMenu VCALCCtrl_0c,pos={26,257-50},size={150,20},title="monochromator" 
    155165        PopupMenu VCALCCtrl_0c,mode=1,popvalue="Velocity Selector",value= root:Packages:NIST:VSANS:VCALC:gMonochromatorType 
    156166        PopupMenu VCALCCtrl_0c,proc=VC_MonochromSelectPopup 
    157         PopupMenu VCALCCtrl_0d,pos={26,321},size={115,20},title="delta lambda" 
    158         PopupMenu VCALCCtrl_0d,mode=1,popvalue="0.10",value= root:Packages:NIST:VSANS:VCALC:gDeltaLambda 
     167        PopupMenu VCALCCtrl_0d,pos={26,321-50},size={115,20},title="delta lambda" 
     168        PopupMenu VCALCCtrl_0d,mode=1,popvalue="0.12",value= root:Packages:NIST:VSANS:VCALC:gDeltaLambda 
    159169        PopupMenu VCALCCtrl_0d,proc=VC_DeltaLamSelectPopup 
    160         PopupMenu VCALCCtrl_0e,pos={291,262},size={132,20},title="source shape" 
     170        PopupMenu VCALCCtrl_0e,pos={291,262-50},size={132,20},title="source shape" 
    161171        PopupMenu VCALCCtrl_0e,mode=1,popvalue="circular",value= root:Packages:NIST:VSANS:VCALC:gSourceShape 
    162172        PopupMenu VCALCCtrl_0e,proc=VC_SourceApShapeSelectPopup 
    163         PopupMenu VCALCCtrl_0f,pos={283,293},size={141,20},title="source aperture" 
    164         PopupMenu VCALCCtrl_0f,mode=1,popvalue="1.0 cm",value= root:Packages:NIST:VSANS:VCALC:gSourceDiam 
     173        PopupMenu VCALCCtrl_0f,pos={283,293-50},size={141,20},title="source aperture" 
     174        PopupMenu VCALCCtrl_0f,mode=1,popvalue="6.0 cm",value= root:Packages:NIST:VSANS:VCALC:gSourceDiam 
    165175        PopupMenu VCALCCtrl_0f,proc=VC_SourceAperDiamSelectPopup 
    166176 
    167177 
    168178// tab(1) - Sample conditions, initially not visible 
    169         PopupMenu VCALCCtrl_1a,pos={38,270},size={142,20},title="table location",disable=1 
     179        PopupMenu VCALCCtrl_1a,pos={38,250-50},size={142,20},title="table location",disable=1 
    170180        PopupMenu VCALCCtrl_1a,mode=1,popvalue="Changer",value= root:Packages:NIST:VSANS:VCALC:gTableLocation 
    171         PopupMenu VCALCCtrl_1b,pos={270,270},size={115,20},title="Aperture Shape",disable=1 
     181        PopupMenu VCALCCtrl_1b,pos={270,250-50},size={115,20},title="Aperture Shape",disable=1 
    172182        PopupMenu VCALCCtrl_1b,mode=1,popvalue="circular",value= root:Packages:NIST:VSANS:VCALC:gSampleApertureShape  
    173         PopupMenu VCALCCtrl_1c,pos={270,330},size={132,20},title="Aperture Size (cm)",disable=1 
    174         PopupMenu VCALCCtrl_1c,mode=1,popvalue="0.5",value= root:Packages:NIST:VSANS:VCALC:gSampleApertureDiam 
    175          
     183        PopupMenu VCALCCtrl_1c,pos={270,310-50},size={132,20},title="Aperture Diam (cm)",disable=1 
     184        PopupMenu VCALCCtrl_1c,mode=1,popvalue="1.27",value= root:Packages:NIST:VSANS:VCALC:gSampleApertureDiam 
     185        SetVariable VCALCCtrl_1d,pos={25,280-50},size={200,15},title="Sample Aperture to Gate Valve (cm)" 
     186        SetVariable VCALCCtrl_1d,limits={4,40,0.1},value=_NUM:22,proc=VC_A2_to_GV_SetVarProc,disable=1 
     187        SetVariable VCALCCtrl_1e,pos={25,310-50},size={200,15},title="Sample Pos to Gate Valve (cm)" 
     188        SetVariable VCALCCtrl_1e,limits={4,40,0.1},value=_NUM:11,proc=VC_Sam_to_GV_SetVarProc,disable=1  
    176189 
    177190// tab(2) - Front detector panels, initially not visible 
    178         SetVariable VCALCCtrl_2a,pos={30,260},size={150,15},title="LEFT Offset (cm)",proc=VC_FDet_LR_SetVarProc 
     191        SetVariable VCALCCtrl_2a,pos={30,260-50},size={150,15},title="LEFT Offset (cm)",proc=VC_FDet_LR_SetVarProc 
    179192        SetVariable VCALCCtrl_2a,limits={-20,19,0.1},disable=1,value=_NUM:-10 
    180         SetVariable VCALCCtrl_2aa,pos={30,290},size={150,15},title="RIGHT Offset (cm)",proc=VC_FDet_LR_SetVarProc 
     193        SetVariable VCALCCtrl_2aa,pos={30,290-50},size={150,15},title="RIGHT Offset (cm)",proc=VC_FDet_LR_SetVarProc 
    181194        SetVariable VCALCCtrl_2aa,limits={-19,20,0.1},disable=1,value=_NUM:10 
    182195         
    183         SetVariable VCALCCtrl_2b,pos={30,330},size={150,15},title="TOP Offset (cm)",proc=VC_FDet_LR_SetVarProc 
     196        SetVariable VCALCCtrl_2b,pos={30,330-50},size={150,15},title="TOP Offset (cm)",proc=VC_FDet_LR_SetVarProc 
    184197        SetVariable VCALCCtrl_2b,limits={0,18,0.1},disable=1,value=_NUM:10 
    185         SetVariable VCALCCtrl_2bb,pos={30,360},size={150,15},title="BOTTOM Offset (cm)",proc=VC_FDet_LR_SetVarProc 
     198        SetVariable VCALCCtrl_2bb,pos={30,360-50},size={150,15},title="BOTTOM Offset (cm)",proc=VC_FDet_LR_SetVarProc 
    186199        SetVariable VCALCCtrl_2bb,limits={-18,0,0.1},disable=1,value=_NUM:-10 
    187200         
    188         SetVariable VCALCCtrl_2d,pos={205,260},size={230,15},title="Sample to Detector Distance (cm)",proc=VC_FDet_SDD_SetVarProc 
     201        SetVariable VCALCCtrl_2d,pos={205,260-50},size={230,15},title="Gate Valve to Detector Distance (cm)",proc=VC_FDet_SDD_SetVarProc 
    189202        SetVariable VCALCCtrl_2d,limits={100,800,1},disable=1   ,value=_NUM:150 
    190203         
    191204 
    192205// tab(3) - Middle detector panels, initially not visible 
    193         SetVariable VCALCCtrl_3a,pos={30,260},size={150,15},title="LEFT Offset (cm)",proc=VC_MDet_LR_SetVarProc 
     206        SetVariable VCALCCtrl_3a,pos={30,260-50},size={150,15},title="LEFT Offset (cm)",proc=VC_MDet_LR_SetVarProc 
    194207        SetVariable VCALCCtrl_3a,limits={-20,19,0.1},disable=1,value=_NUM:-7 
    195         SetVariable VCALCCtrl_3aa,pos={30,290},size={150,15},title="RIGHT Offset (cm)",proc=VC_MDet_LR_SetVarProc 
     208        SetVariable VCALCCtrl_3aa,pos={30,290-50},size={150,15},title="RIGHT Offset (cm)",proc=VC_MDet_LR_SetVarProc 
    196209        SetVariable VCALCCtrl_3aa,limits={-19,20,0.1},disable=1,value=_NUM:7 
    197210                 
    198         SetVariable VCALCCtrl_3b,pos={30,330},size={150,15},title="TOP Offset (cm)",proc=VC_MDet_LR_SetVarProc 
     211        SetVariable VCALCCtrl_3b,pos={30,330-50},size={150,15},title="TOP Offset (cm)",proc=VC_MDet_LR_SetVarProc 
    199212        SetVariable VCALCCtrl_3b,limits={0,18,0.1},disable=1,value=_NUM:14 
    200         SetVariable VCALCCtrl_3bb,pos={30,360},size={150,15},title="BOTTOM Offset (cm)",proc=VC_MDet_LR_SetVarProc 
     213        SetVariable VCALCCtrl_3bb,pos={30,360-50},size={150,15},title="BOTTOM Offset (cm)",proc=VC_MDet_LR_SetVarProc 
    201214        SetVariable VCALCCtrl_3bb,limits={-18,0,0.1},disable=1,value=_NUM:-14 
    202215 
    203         SetVariable VCALCCtrl_3d,pos={205,260},size={230,15},title="Sample to Detector Distance (cm)",proc=VC_MDet_SDD_SetVarProc 
     216        SetVariable VCALCCtrl_3d,pos={205,260-50},size={230,15},title="Gate Valve to Detector Distance (cm)",proc=VC_MDet_SDD_SetVarProc 
    204217        SetVariable VCALCCtrl_3d,limits={800,2000,1},disable=1,value=_NUM:1000 
    205218 
    206219         
    207220// tab(4) - Back detector panel 
    208         SetVariable VCALCCtrl_4a,pos={188,290},size={150,15},title="Lateral Offset (cm)" 
     221        SetVariable VCALCCtrl_4a,pos={188,290-50},size={150,15},title="Lateral Offset (cm)" 
    209222        SetVariable VCALCCtrl_4a,limits={0,20,0.1},disable=1,value=_NUM:0 
    210         SetVariable VCALCCtrl_4b,pos={188,260},size={230,15},title="Sample to Detector Distance (cm)",proc=VC_BDet_SDD_SetVarProc 
     223        SetVariable VCALCCtrl_4b,pos={188,260-50},size={230,15},title="Gate Valve to Detector Distance (cm)",proc=VC_BDet_SDD_SetVarProc 
    211224        SetVariable VCALCCtrl_4b,limits={2000,2500,1},disable=1,value=_NUM:2200 
    212225//      PopupMenu VCALCCtrl_4c,pos={40,260},size={180,20},title="Detector type",disable=1 
     
    214227 
    215228// tab(5) - Simulation setup 
    216         SetVariable VCALCCtrl_5a,pos={40,290},size={200,15},title="Neutrons on Sample (imon)" 
     229        SetVariable VCALCCtrl_5a,pos={40,290-50},size={200,15},title="Neutrons on Sample (imon)" 
    217230        SetVariable VCALCCtrl_5a,limits={1e7,1e15,1e7},disable=1,value=_NUM:1e11,proc=VC_SimImon_SetVarProc 
    218         PopupMenu VCALCCtrl_5b,pos={40,260},size={180,20},title="Model Function",disable=1 
     231        PopupMenu VCALCCtrl_5b,pos={40,260-50},size={180,20},title="Model Function",disable=1 
    219232        PopupMenu VCALCCtrl_5b,mode=1,popvalue="Debye",value= root:Packages:NIST:VSANS:VCALC:gModelFunctionType,proc=VC_SimModelFunc_PopProc 
    220233         
     
    232245        V_beamIntensity() 
    233246         
     247//      Print "Beam diam (middle) = ",VC_beamDiameter("horizontal",2)           //middle carriage 
     248         
     249        // fill in the Qmin and Qmax values 
     250        V_QMinMax_Back() 
     251        V_QMinMax_Middle() 
     252        V_QMinMax_Front() 
     253         
     254        //calculate beam diameter and beamstop size  
     255        V_BeamDiamDisplay("maximum", "MR")      //TODO -- hard-wired here for the Middle carriage (and in the SetVar label) 
     256        V_BeamStopDiamDisplay("MR") 
     257         
     258        //calculate the "real" QMin with the beamstop 
     259        V_QMin_withBeamStop("MR")               //TODO -- hard-wired here as the middle carriage and MR panel 
     260         
     261         
     262        // 
     263//      Print "Still need to truncate the plotted data for Low Q that is behind the beam stop" 
     264        // multiply the averaged data by the shadow factor to simulate a beamstop 
     265        V_IQ_BeamstopShadow() 
     266         
    234267        return(0) 
    235268End 
     269 
     270 
    236271 
    237272// function to control the drawing of controls in the TabControl on the main panel 
     
    291326        endfor 
    292327         
    293  
    294          
    295328        return(0) 
    296329End 
     330 
     331 
     332 
     333// TODO 
     334//changing the number of guides changes the SSD 
     335// the source aperture popup may need to be updated 
     336// 
     337Function V_GuideSliderProc(ctrlName,sliderValue,event) 
     338        String ctrlName 
     339        Variable sliderValue 
     340        Variable event  // bit field: bit 0: value set, 1: mouse down, 2: mouse up, 3: mouse moved 
     341         
     342        Variable recalc=0 
     343        SVAR apStr = root:Packages:NIST:VSANS:VCALC:gSourceDiam 
     344         
     345        if(event %& 0x1)        // bit 0, value set 
     346                if(cmpstr(ctrlName,"") != 0)            //here by direct action, so do LensCheck and recalculate 
     347//                      recalc=1 
     348//                      LensCheckProc("",2)             //make sure lenses are deselected 
     349                endif 
     350//              sourceToSampleDist()            //updates the SSD global and wave 
     351                //change the sourceAp popup, SDD range, etc 
     352                switch(sliderValue) 
     353                        case 0: 
     354//                              ControlInfo/W=SASCALC popup0 
     355//                              mode=V_value 
     356                                apStr = "0.75 cm;1.5 cm;3.0 cm;" 
     357                                break 
     358                        default: 
     359                                apStr = "6 cm;" 
     360                endswitch 
     361                ControlUpdate/W=VCALC VCALCCtrl_0f 
     362//              UpdateControls()                                // the Ng global is actually set inside this function 
     363                Recalculate_AllDetectors() 
     364        endif 
     365        return 0 
     366End 
     367 
     368 
     369 
     370 
    297371 
    298372Function Front2DQ_Log_CheckProc(cba) : CheckBoxControl 
     
    314388        return 0 
    315389End 
    316  
    317  
    318  
    319          
    320  
    321390 
    322391 
     
    565634 
    566635 
    567  
    568          
    569          
    570 // 
    571 // setVar for the wavelength 
    572 // 
    573 Function VC_Lambda_SetVarProc(sva) : SetVariableControl 
     636// 
     637// setVar for the distance from Sample Position to Gave Valve 
     638// 
     639Function VC_Sam_to_GV_SetVarProc(sva) : SetVariableControl 
    574640        STRUCT WMSetVariableAction &sva 
    575641 
     
    582648                         
    583649//                      // don't need to recalculate the views, but need to recalculate the detectors 
    584 //                      fPlotBackPanels() 
    585 //                      fPlotMiddlePanels() 
    586 //                      fPlotFrontPanels() 
     650 
     651                        Recalculate_AllDetectors()               
     652                                 
     653                        break 
     654                case -1: // control being killed 
     655                        break 
     656        endswitch 
     657 
     658        return 0 
     659End 
     660         
     661 
     662// 
     663// setVar for the distance from Sample Aperture to Gave Valve 
     664// 
     665Function VC_A2_to_GV_SetVarProc(sva) : SetVariableControl 
     666        STRUCT WMSetVariableAction &sva 
     667 
     668        switch( sva.eventCode ) 
     669                case 1: // mouse up 
     670                case 2: // Enter key 
     671                case 3: // Live update 
     672                        Variable dval = sva.dval 
     673                        String sval = sva.sval 
     674                         
     675//                      // don't need to recalculate the views, but need to recalculate the detectors 
     676 
     677                        Recalculate_AllDetectors()               
     678                                 
     679                        break 
     680                case -1: // control being killed 
     681                        break 
     682        endswitch 
     683 
     684        return 0 
     685End 
     686         
     687// 
     688// setVar for the wavelength 
     689// 
     690Function VC_Lambda_SetVarProc(sva) : SetVariableControl 
     691        STRUCT WMSetVariableAction &sva 
     692 
     693        switch( sva.eventCode ) 
     694                case 1: // mouse up 
     695                case 2: // Enter key 
     696                case 3: // Live update 
     697                        Variable dval = sva.dval 
     698                        String sval = sva.sval 
     699                         
     700//                      // don't need to recalculate the views, but need to recalculate the detectors 
    587701 
    588702                        Recalculate_AllDetectors()               
     
    11061220        Variable/G gBeamIntensity= 0 
    11071221 
    1108  
     1222        Variable/G gQmin_F,gQmax_F,gQmin_M,gQmax_M,gQmin_B,gQmax_B 
     1223        Variable/G gBeamDiam,gBeamStopDiam 
     1224        Variable/G gRealQMin 
    11091225 
    11101226// popup strings for each tab (then use the string in the panel) 
     
    11121228        String/G gMonochromatorType = "Velocity Selector;Graphite;White Beam;" 
    11131229        String/G gSourceShape = "circular;rectangular;converging pinholes;" 
    1114         String/G gSourceDiam = "1.0 cm;2.0 cm;5.0 cm;" 
     1230        String/G gSourceDiam = "6.0 cm;" 
    11151231        String/G gSourceDiam_0g = "0.75 cm;1.5 cm;3.0 cm;"              // values from John Mar 2018 
    1116         String/G gDeltaLambda = "0.01;0.10;0.20;0.30;0.40;" 
     1232        String/G gDeltaLambda = "0.12;" 
    11171233         
    11181234// tab 1 - sample conditions 
    11191235        String/G gTableLocation = "Changer;Stage;" 
    11201236        String/G gSampleApertureShape = "circular;rectangular;converging pinholes;" 
    1121         String/G gSampleApertureDiam = "0.5;1.0;1.5;2.0;" 
     1237        String/G gSampleApertureDiam = "1.27;1.59;1.0;2.0;" 
    11221238         
    11231239// tab 2 
     
    11441260//      Variable/G gOffset=0 
    11451261        Variable/G gSamAp=1.27          //samAp diameter in cm 
    1146         String/G gSourceApString = "1.43 cm;2.54 cm;3.81 cm;" 
     1262//      String/G gSourceApString = "1.43 cm;2.54 cm;3.81 cm;" 
    11471263        String/G gApPopStr = "1/16\";1/8\";3/16\";1/4\";5/16\";3/8\";7/16\";1/2\";9/16\";5/8\";11/16\";3/4\";other;" 
    11481264        Variable/G gSamApOther = 10             //non-standard aperture diameter, in mm 
     
    12411357        SetDataFolder root: 
    12421358end 
     1359 
     1360// set the global values for display 
     1361Function V_QMinMax_Back() 
     1362 
     1363        NVAR min_b = root:Packages:NIST:VSANS:VCALC:gQmin_B 
     1364        NVAR max_b = root:Packages:NIST:VSANS:VCALC:gQmax_B 
     1365 
     1366        String folderStr = "VCALC" 
     1367        String detStr = "" 
     1368 
     1369        String folderPath = "root:Packages:NIST:VSANS:"+folderStr 
     1370        String instPath = ":entry:instrument:detector_"  
     1371 
     1372        detStr = "B" 
     1373        WAVE qTot_B = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1374 
     1375        min_b = WaveMin(qTot_B) 
     1376        max_b = WaveMax(qTot_B) 
     1377 
     1378 
     1379        return(0) 
     1380end 
     1381 
     1382// set the global values for display 
     1383Function V_QMinMax_Middle() 
     1384 
     1385        NVAR min_m = root:Packages:NIST:VSANS:VCALC:gQmin_M 
     1386        NVAR max_m = root:Packages:NIST:VSANS:VCALC:gQmax_M 
     1387 
     1388        String folderStr = "VCALC" 
     1389        String detStr = "" 
     1390 
     1391        String folderPath = "root:Packages:NIST:VSANS:"+folderStr 
     1392        String instPath = ":entry:instrument:detector_"  
     1393 
     1394        detStr = "ML" 
     1395        WAVE qTot_ML = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1396 
     1397        detStr = "MR" 
     1398        WAVE qTot_MR = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1399 
     1400        detStr = "MT" 
     1401        WAVE qTot_MT = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1402 
     1403        detStr = "MB" 
     1404        WAVE qTot_MB = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1405 
     1406        min_m = min(WaveMin(qTot_ML),WaveMin(qTot_MT),WaveMin(qTot_MR),WaveMin(qTot_MB)) 
     1407        max_m = max(WaveMax(qTot_ML),WaveMax(qTot_MT),WaveMax(qTot_MR),WaveMax(qTot_MB)) 
     1408 
     1409 
     1410        return(0) 
     1411end 
     1412 
     1413// set the global values for display 
     1414Function V_QMinMax_Front() 
     1415 
     1416        NVAR min_f = root:Packages:NIST:VSANS:VCALC:gQmin_F 
     1417        NVAR max_f = root:Packages:NIST:VSANS:VCALC:gQmax_F 
     1418 
     1419        String folderStr = "VCALC" 
     1420        String detStr = "" 
     1421         
     1422        String folderPath = "root:Packages:NIST:VSANS:"+folderStr 
     1423        String instPath = ":entry:instrument:detector_"  
     1424 
     1425        detStr = "FL" 
     1426        WAVE qTot_FL = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1427 
     1428        detStr = "FR" 
     1429        WAVE qTot_FR = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1430 
     1431        detStr = "FT" 
     1432        WAVE qTot_FT = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1433 
     1434        detStr = "FB" 
     1435        WAVE qTot_FB = $(folderPath+instPath+detStr+":qTot_"+detStr) 
     1436 
     1437        min_f = min(WaveMin(qTot_FL),WaveMin(qTot_FT),WaveMin(qTot_FR),WaveMin(qTot_FB)) 
     1438        max_f = max(WaveMax(qTot_FL),WaveMax(qTot_FT),WaveMax(qTot_FR),WaveMax(qTot_FB)) 
     1439 
     1440 
     1441        return(0) 
     1442end 
     1443 
     1444Function V_QMin_withBeamStop(detStr) 
     1445        String detStr 
     1446         
     1447        NVAR val = root:Packages:NIST:VSANS:VCALC:gRealQMin 
     1448 
     1449        Variable BSDiam,SDD,two_theta,lambda,qMin 
     1450 
     1451        BSDiam = VC_beamstopDiam(detStr) 
     1452        SDD = VC_getSDD(detStr) 
     1453        lambda = VCALC_getWavelength() 
     1454         
     1455        two_theta = atan(BSDiam/2/SDD) 
     1456        qMin = 4*pi/lambda*sin(two_theta/2) 
     1457                 
     1458        val = qMin 
     1459         
     1460        return(0) 
     1461End 
     1462 
     1463 
     1464Function V_BeamDiamDisplay(direction, detStr) 
     1465        String direction 
     1466        String detStr 
     1467         
     1468        NVAR val = root:Packages:NIST:VSANS:VCALC:gBeamDiam 
     1469 
     1470        val = VC_beamDiameter(direction, detStr)                //middle carriage, maximum extent, includes gravity 
     1471 
     1472        return(0) 
     1473End 
     1474 
     1475 
     1476// carrNum 1=front, 2=middle, 3=back 
     1477Function V_BeamStopDiamDisplay(detStr) 
     1478        String detStr 
     1479 
     1480        NVAR val = root:Packages:NIST:VSANS:VCALC:gBeamStopDiam 
     1481 
     1482        val = VC_beamstopDiam(detStr)/2.54              //return the value in inches 
     1483 
     1484        return(0) 
     1485End 
     1486         
     1487                 
     1488         
Note: See TracChangeset for help on using the changeset viewer.