Ignore:
Timestamp:
Jun 21, 2018 9:42:24 AM (4 years ago)
Author:
srkline
Message:

changes mostly to VCALC to add in what bits of information I have about the instrument dimensions. Added in stubs (based on NG3 SANS) for the beam intensity. Added in a preset condition for Front+Middle. Still need a more uniform way to do this.

File:
1 edited

Legend:

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

    r1100 r1108  
    7171        PopupMenu popup_a,pos={50,40},size={142,20},title="Presets" 
    7272        PopupMenu popup_a,mode=1,popvalue="Low Q",value= root:Packages:NIST:VSANS:VCALC:gPresetPopStr 
    73  
    74         PopupMenu popup_b,pos={690,310},size={142,20},title="Binning type",proc=VC_RebinIQ_PopProc 
     73        PopupMenu popup_a,proc=VC_PresetConfigPopup 
     74 
     75        PopupMenu popup_b,pos={670,311},size={142,20},title="Binning type",proc=VC_RebinIQ_PopProc 
    7576        PopupMenu popup_b,mode=1,value= root:Packages:NIST:VSANS:VCALC:gBinTypeStr 
    76          
     77        SetVariable setVar_b,pos={476,313},size={120,15},title="axis Q",proc=Front2DQ_Range_SetVarProc 
     78        SetVariable setVar_b,limits={0.02,1,0.02},value=_NUM:0.3 
     79        CheckBox check_0a title="Log?",size={60,20},pos={619,313},proc=Front2DQ_Log_CheckProc 
     80                 
    7781        SetVariable setVar_a,pos={476,26},size={120,15},title="axis degrees",proc=FrontView_Range_SetVarProc 
    7882        SetVariable setVar_a,limits={0.3,30,0.2},value=_NUM:20 
     83 
     84        ValDisplay valDisp_a,pos={50,100},size={150,15},title="Beam Intensity",value=root:Packages:NIST:VSANS:VCALC:gBeamIntensity 
     85 
     86 
    7987 
    8088        // for panels (in degrees)       
     
    97105        ModifyGraph rgb=(0,0,0) 
    98106        ModifyGraph tick=2,mirror=1 
    99         Label left "Vertical position (mm)" 
    100         Label bottom "SDD (m)"   
     107        Label left "Vertical position (cm)" 
     108        Label bottom "SDD (cm)"  
    101109        SetActiveSubwindow ##    
    102110         
     
    108116        ModifyGraph rgb=(0,0,0) 
    109117        ModifyGraph tick=2,mirror=1 
    110         Label left "Horizontal position (mm)" 
    111         Label bottom "SDD (m)"   
     118        Label left "Horizontal position (cm)" 
     119        Label bottom "SDD (cm)"  
    112120        SetActiveSubwindow ##    
    113121 
     
    124132        SetActiveSubwindow ## 
    125133 
    126         SetVariable setVar_b,pos={476,314},size={120,15},title="axis Q",proc=Front2DQ_Range_SetVarProc 
    127         SetVariable setVar_b,limits={0.02,1,0.02},value=_NUM:0.3 
    128         CheckBox check_0a title="Log?",size={60,20},pos={619,313},proc=Front2DQ_Log_CheckProc 
     134 
    129135 
    130136        // for averaged I(Q) 
     
    148154        PopupMenu VCALCCtrl_0c,pos={26,257},size={150,20},title="monochromator" 
    149155        PopupMenu VCALCCtrl_0c,mode=1,popvalue="Velocity Selector",value= root:Packages:NIST:VSANS:VCALC:gMonochromatorType 
     156        PopupMenu VCALCCtrl_0c,proc=VC_MonochromSelectPopup 
    150157        PopupMenu VCALCCtrl_0d,pos={26,321},size={115,20},title="delta lambda" 
    151158        PopupMenu VCALCCtrl_0d,mode=1,popvalue="0.10",value= root:Packages:NIST:VSANS:VCALC:gDeltaLambda 
     159        PopupMenu VCALCCtrl_0d,proc=VC_DeltaLamSelectPopup 
    152160        PopupMenu VCALCCtrl_0e,pos={291,262},size={132,20},title="source shape" 
    153161        PopupMenu VCALCCtrl_0e,mode=1,popvalue="circular",value= root:Packages:NIST:VSANS:VCALC:gSourceShape 
     162        PopupMenu VCALCCtrl_0e,proc=VC_SourceApShapeSelectPopup 
    154163        PopupMenu VCALCCtrl_0f,pos={283,293},size={141,20},title="source aperture" 
    155164        PopupMenu VCALCCtrl_0f,mode=1,popvalue="1.0 cm",value= root:Packages:NIST:VSANS:VCALC:gSourceDiam 
    156          
     165        PopupMenu VCALCCtrl_0f,proc=VC_SourceAperDiamSelectPopup 
     166 
    157167 
    158168// tab(1) - Sample conditions, initially not visible 
     
    220230        fPlotFrontPanels() 
    221231 
     232        Print "Beam Intensity = ",beamIntensity() 
     233         
    222234        return(0) 
    223235End 
     
    303315End 
    304316 
     317 
     318 
     319         
     320 
     321 
     322 
     323 
     324Function VC_SourceAperDiamSelectPopup(pa) : PopupMenuControl 
     325        STRUCT WMPopupAction &pa 
     326 
     327        switch( pa.eventCode ) 
     328                case 2: // mouse up 
     329                        Variable popNum = pa.popNum 
     330                        String popStr = pa.popStr 
     331                         
     332                        Print "Not filled in yet" 
     333                         
     334                        // a recalculation is needed after the change 
     335                        //Recalculate_AllDetectors() 
     336                                         
     337                        break 
     338                case -1: // control being killed 
     339                        break 
     340        endswitch 
     341 
     342        return 0 
     343End 
     344 
     345Function VC_SourceApShapeSelectPopup(pa) : PopupMenuControl 
     346        STRUCT WMPopupAction &pa 
     347 
     348        switch( pa.eventCode ) 
     349                case 2: // mouse up 
     350                        Variable popNum = pa.popNum 
     351                        String popStr = pa.popStr 
     352                         
     353                        Print "Not filled in yet" 
     354 
     355                        // a recalculation is needed after the change 
     356                        //Recalculate_AllDetectors() 
     357                                                                         
     358                        break 
     359                case -1: // control being killed 
     360                        break 
     361        endswitch 
     362 
     363        return 0 
     364End 
     365 
     366Function VC_DeltaLamSelectPopup(pa) : PopupMenuControl 
     367        STRUCT WMPopupAction &pa 
     368 
     369        switch( pa.eventCode ) 
     370                case 2: // mouse up 
     371                        Variable popNum = pa.popNum 
     372                        String popStr = pa.popStr 
     373                         
     374                        // a recalculation is needed after the change 
     375                        Recalculate_AllDetectors() 
     376                                                                         
     377                        break 
     378                case -1: // control being killed 
     379                        break 
     380        endswitch 
     381 
     382        return 0 
     383End 
     384 
     385// change the choices for deltaLam based on the 
     386// type of monochromator selected 
     387// 
     388// some cases force a change of the wavelength 
     389// 
     390// then recalculate 
     391Function VC_MonochromSelectPopup(pa) : PopupMenuControl 
     392        STRUCT WMPopupAction &pa 
     393 
     394        switch( pa.eventCode ) 
     395                case 2: // mouse up 
     396                        Variable popNum = pa.popNum 
     397                        String popStr = pa.popStr 
     398                         
     399                        SVAR DLStr = root:Packages:NIST:VSANS:VCALC:gDeltaLambda 
     400                         
     401                        strswitch(popStr) 
     402                                case "Velocity Selector": 
     403                                        DLStr = "0.12;" 
     404                                        PopupMenu VCALCCtrl_0d,mode=1,popvalue="0.12",value= root:Packages:NIST:VSANS:VCALC:gDeltaLambda 
     405                                         
     406                                        SetVariable VCALCCtrl_0b,disable=0,noedit=0             // allow user editing again 
     407 
     408                                        break 
     409                                case "Graphite": 
     410                                        DLStr = "0.01;" 
     411                                        PopupMenu VCALCCtrl_0d,mode=1,popvalue="0.01",value= root:Packages:NIST:VSANS:VCALC:gDeltaLambda 
     412                                         
     413                                        SetVariable VCALCCtrl_0b,value=_NUM:4.75,disable=2              // wavelength 
     414                                        break 
     415                                case "White Beam": 
     416                                        DLStr = "0.40;" 
     417                                        PopupMenu VCALCCtrl_0d,mode=1,popvalue="0.40",value= root:Packages:NIST:VSANS:VCALC:gDeltaLambda 
     418 
     419                                        SetVariable VCALCCtrl_0b,value=_NUM:5.3,disable=2               //wavelength 
     420                                        break            
     421                                default: 
     422                                        Print "Error--No match in VC_MonochromSelectPopup" 
     423                                        return(0) 
     424                        endswitch 
     425                         
     426 
     427                        // a recalculation is needed after the change 
     428                        Recalculate_AllDetectors() 
     429                                                                 
     430                        break 
     431                case -1: // control being killed 
     432                        break 
     433        endswitch 
     434 
     435        return 0 
     436End 
     437 
     438 
     439Function VC_PresetConfigPopup(pa) : PopupMenuControl 
     440        STRUCT WMPopupAction &pa 
     441 
     442        switch( pa.eventCode ) 
     443                case 2: // mouse up 
     444                        Variable popNum = pa.popNum 
     445                        String popStr = pa.popStr 
     446                         
     447                 
     448                        strswitch(popStr) 
     449                                case "Low Q": 
     450                                         
     451                                        break 
     452                                case "High Q": 
     453                                         
     454                                        break 
     455                                case "White Beam": 
     456                                         
     457                                        break    
     458                                case "Narrow Slit": 
     459                                         
     460                                        break 
     461                                case "Front+Middle Only": 
     462                                        VC_FrontMiddlePreset() 
     463                                         
     464                                        break 
     465                                case "Converging Pinholes": 
     466                                         
     467                                        break 
     468                                case "Polarizer": 
     469                                         
     470                                        break 
     471                                         
     472                                default: 
     473                                        Print "Error--No match in VC_PresetConfigPopup" 
     474                                        return(0) 
     475                        endswitch 
     476                         
     477                        // update the views 
     478                        VC_UpdateViews() 
     479                         
     480                        // a recalculation is needed after the change 
     481                        Recalculate_AllDetectors() 
     482                         
     483                                                                         
     484                        break 
     485                case -1: // control being killed 
     486                        break 
     487        endswitch 
     488 
     489        return 0 
     490End 
     491 
     492 
     493 
     494 
     495 
    305496// 
    306497// recalculate the detectors with a preset model function 
     
    652843End 
    653844 
    654  
    655  
    656  
    657 // this all needs to be fixed and updated - it is all pertinent to SANS (SASCALC) 
    658 // and not yet specific to VSANS 
     845// call to update the views (not the q-calculation, that is a separate call) 
     846Function VC_UpdateViews() 
     847 
     848        UpdateSideView() 
     849        UpdateTopView() 
     850        FrontView_1x() 
     851         
     852        return(0) 
     853End 
     854 
     855// this all needs to be fixed and updated - not yet specific to VSANS 
    659856// 
    660857// -- all of the simulation stuff will need to be re-thought 
     
    8061003        Variable/G gBack_h = 50.4 
    8071004         
    808         Make/O/D/N=1 :entry:instrument:detector_B:x_pixel_size = 0.034          // 340 micron resolution (units of cm here) 
     1005        Make/O/D/N=1 :entry:instrument:detector_B:x_pixel_size = 0.034          // 340 micron resolution (units of [cm] here) 
    8091006        Make/O/D/N=1 :entry:instrument:detector_B:y_pixel_size = 0.034           
    8101007 
     
    8151012 
    8161013// pixel beam center - HDF style 
    817         Make/O/D/N=1 :entry:instrument:detector_B:beam_center_x = 340.1 // == x beam center, in pixels 
     1014        Make/O/D/N=1 :entry:instrument:detector_B:beam_center_x = 340.1 // == x beam center, in pixels +0.1 so I know it's from here 
    8181015        Make/O/D/N=1 :entry:instrument:detector_B:beam_center_y = 828.1         // == y beam center, in pixels 
    8191016 
     
    8811078// to fill in: 
    8821079// values for always-visible items 
    883         String/G gPresetPopStr = "Low Q;High Q;Converging Pinholes;Narrow Slit Aperture;White Beam;Polarizer;" 
     1080        String/G gPresetPopStr = "Low Q;High Q;Front+Middle Only;Converging Pinholes;Narrow Slit;White Beam;Polarizer;" 
    8841081        String/G gBinTypeStr = ksBinTypeStr 
    885  
     1082        Variable/G gBeamIntensity= 0 
    8861083 
    8871084 
     
    8931090        String/G gSourceDiam = "1.0 cm;2.0 cm;5.0 cm;" 
    8941091        String/G gSourceDiam_0g = "0.75 cm;1.5 cm;3.0 cm;"              // values from John Mar 2018 
    895         String/G gDeltaLambda = "0.10;0.20;0.30;" 
     1092        String/G gDeltaLambda = "0.01;0.10;0.20;0.30;0.40;" 
    8961093         
    8971094// tab 1 - sample conditions 
Note: See TracChangeset for help on using the changeset viewer.