Ignore:
Timestamp:
Nov 21, 2007 3:28:50 PM (15 years ago)
Author:
ajj
Message:

Add ability to plot individual detectors (from Mark Laver)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/utils/bt5/bt5plot/bt5plot

    r110 r208  
    22 
    33package require BLT 
    4 package require Tix 
    54 
    65#set images(normal) [image create photo -format gif -data { 
     
    3635} ] 
    3736 
    38 proc loadBT5File  {fileName x c cr t m} { 
     37proc loadBT5File  {fileName x c cr t m cn br bl fr fl} { 
    3938        global datasets 
    40         global $x $c $cr $t $m 
    41  
    42         #puts "In load proc: $x $c $cr $t $m" 
     39        global $x $c $cr $t $m $cn $br $bl $fr $fl 
     40 
     41        #puts "In load proc: $x $c $cr $t $m $cn $br $bl $fr $fl" 
    4342 
    4443        set lc 0 
     
    8281 
    8382        foreach index [lsort -integer [array names xvar]] { 
    84                 $x append {$xvar($index)} 
    85                 $c append {$det1($index)+$det2($index)+$det3($index)+$det4($index)+$det5($index)} 
    86                 $cr append [expr [$c index $index] / $counttime] 
    87                 $t append {$trans($index)} 
    88                 $m append {$mon($index)} 
     83            $x append {$xvar($index)} 
     84            $c append {$det1($index)+$det2($index)+$det3($index)+$det4($index)+$det5($index)} 
     85            $cr append [expr [$c index $index] / $counttime] 
     86            $t append {$trans($index)} 
     87            $m append {$mon($index)} 
     88            $cn append {$det2($index)} 
     89            $bl append {$det1($index)} 
     90            $br append {$det3($index)} 
     91            $fl append {$det4($index)} 
     92            $fr append {$det5($index)} 
     93 
    8994        } 
    9095 
     
    97102 
    98103        foreach elem [ $graph element show] { 
    99                 $graph element delete $elem 
    100  
    101                 set xvec [join "$elem _xvec" ""] 
    102                 set countratevec [join "$elem _countratevec" ""] 
    103                 set countvec [join "$elem _countvec" ""] 
    104                 set transvec [join "$elem _transvec" ""] 
    105                 set monvec [join "$elem _monvec" ""] 
    106          
    107                 global $xvec $countvec $countratevec $transvec $monvec 
    108          
    109                 blt::vector destroy $xvec 
    110                 blt::vector destroy $countratevec 
    111                 blt::vector destroy $countvec 
    112                 blt::vector destroy $transvec  
    113                 blt::vector destroy $monvec 
     104            $graph element delete $elem 
     105 
     106            set xvec [join "$elem _xvec" ""] 
     107            set countratevec [join "$elem _countratevec" ""] 
     108            set countvec [join "$elem _countvec" ""] 
     109            set transvec [join "$elem _transvec" ""] 
     110            set monvec [join "$elem _monvec" ""] 
     111            set cvec [join "$elem _cvec" ""] 
     112            set brvec [join "$elem _brvec" ""] 
     113            set blvec [join "$elem _blvec" ""] 
     114            set frvec [join "$elem _frvec" ""] 
     115            set flvec [join "$elem _flvec" ""] 
     116         
     117            global $xvec $countvec $countratevec $transvec $monvec 
     118            global $cvec $brvec $blvec $frvec $flvec 
     119             
     120            blt::vector destroy $xvec 
     121            blt::vector destroy $countratevec 
     122            blt::vector destroy $countvec 
     123            blt::vector destroy $transvec  
     124            blt::vector destroy $monvec 
     125            blt::vector destroy $cvec 
     126            blt::vector destroy $brvec 
     127            blt::vector destroy $blvec 
     128            blt::vector destroy $frvec 
     129            blt::vector destroy $flvec 
    114130        } 
    115131         
     
    140156                set transvec [join "$filebase _transvec" ""] 
    141157                set monvec [join "$filebase _monvec" ""] 
     158                set cvec [join "$filebase _cvec" ""] 
     159                set brvec [join "$filebase _brvec" ""] 
     160                set blvec [join "$filebase _blvec" ""] 
     161                set frvec [join "$filebase _frvec" ""] 
     162                set flvec [join "$filebase _flvec" ""] 
    142163         
    143164                global $xvec $countvec $countratevec $transvec $monvec 
     165                global $cvec $brvec $blvec $frvec $flvec 
    144166         
    145167                blt::vector create $xvec 
     
    148170                blt::vector create $transvec  
    149171                blt::vector create $monvec 
    150  
    151                 loadBT5File $fileName $xvec $countvec $countratevec $transvec $monvec 
     172                blt::vector create $cvec 
     173                blt::vector create $brvec 
     174                blt::vector create $blvec 
     175                blt::vector create $frvec 
     176                blt::vector create $flvec 
     177 
     178 
     179                loadBT5File $fileName $xvec $countvec $countratevec $transvec $monvec $cvec $brvec $blvec $frvec $flvec 
    152180 
    153181                $graph element create $filebase -symbol scross \ 
     
    156184 
    157185                switch -exact $plotType { 
    158                         count { $graph element configure $filebase -ydata $countvec} 
    159                         countrate { $graph element configure $filebase -ydata $countratevec} 
    160                         trans { $graph element configure $filebase -ydata $transvec} 
    161                         mon { $graph element configure $filebase -ydata  $monvec} 
     186                    count { $graph element configure $filebase -ydata $countvec} 
     187                    countrate { $graph element configure $filebase -ydata $countratevec} 
     188                    trans { $graph element configure $filebase -ydata $transvec} 
     189                    mon { $graph element configure $filebase -ydata  $monvec} 
     190                    central { $graph element configure $filebase -ydata  $cvec} 
     191                    backl {$graph element configure $filebase -ydata $blvec} 
     192                    backr {$graph element configure $filebase -ydata $brvec} 
     193                    frontl {$graph element configure $filebase -ydata $flvec} 
     194                    frontr {$graph element configure $filebase -ydata $frvec} 
    162195                } 
    163196 
    164197        } else { 
    165                 $tv entry configure $nodeID -activeicons "$images(normal) $images(normal)" 
    166                 $tv entry configure $nodeID -icons "$images(normal) $images(normal)"             
    167          
    168                 $graph element delete $filebase 
    169          
    170                 set xvec [join "$filebase _xvec" ""] 
    171                 set countratevec [join "$filebase _countratevec" ""] 
    172                 set countvec [join "$filebase _countvec" ""] 
    173                 set transvec [join "$filebase _transvec" ""] 
    174                 set monvec [join "$filebase _monvec" ""] 
    175          
    176                 global $xvec $countvec $transvec $monvec 
     198            $tv entry configure $nodeID -activeicons "$images(normal) $images(normal)" 
     199            $tv entry configure $nodeID -icons "$images(normal) $images(normal)"                 
     200         
     201            $graph element delete $filebase 
     202         
     203            set xvec [join "$filebase _xvec" ""] 
     204            set countratevec [join "$filebase _countratevec" ""] 
     205            set countvec [join "$filebase _countvec" ""] 
     206            set transvec [join "$filebase _transvec" ""] 
     207            set monvec [join "$filebase _monvec" ""] 
     208            set cvec [join "$filebase _cvec" ""] 
     209            set brvec [join "$filebase _brvec" ""] 
     210            set blvec [join "$filebase _blvec" ""] 
     211            set frvec [join "$filebase _frvec" ""] 
     212            set flvec [join "$filebase _flvec" ""] 
     213         
     214            global $xvec $countvec $transvec $monvec 
     215            global $cvec $brvec $blvec $frvec $flvec 
    177216         
    178217                blt::vector destroy $xvec 
     
    181220                blt::vector destroy $transvec  
    182221                blt::vector destroy $monvec 
    183  
     222                blt::vector destroy $cvec 
     223                blt::vector destroy $brvec 
     224                blt::vector destroy $blvec 
     225                blt::vector destroy $frvec 
     226                blt::vector destroy $flvec       
    184227         
    185228        } 
     
    190233        global plotType 
    191234 
    192         set xvec [join "$elem _xvec" ""] 
    193         set countratevec [join "$elem _countratevec" ""] 
    194         set countvec [join "$elem _countvec" ""] 
    195         set transvec [join "$elem _transvec" ""] 
    196         set monvec [join "$elem _monvec" ""] 
     235    set xvec [join "$elem _xvec" ""] 
     236    set countratevec [join "$elem _countratevec" ""] 
     237    set countvec [join "$elem _countvec" ""] 
     238    set transvec [join "$elem _transvec" ""] 
     239    set monvec [join "$elem _monvec" ""] 
     240    set cvec [join "$elem _cvec" ""] 
     241    set brvec [join "$elem _brvec" ""] 
     242    set blvec [join "$elem _blvec" ""] 
     243    set frvec [join "$elem _frvec" ""] 
     244    set flvec [join "$elem _flvec" ""] 
    197245 
    198246        global $xvec $countvec $transvec $monvec 
     247    global $cvec $brvec $blvec $frvec $flvec 
    199248         
    200249        switch -exact $plotType { 
     
    203252                        trans { $graph element configure $elem -ydata $transvec} 
    204253                        mon { $graph element configure $elem -ydata  $monvec} 
     254                    central { $graph element configure $elem -ydata  $cvec} 
     255                    backl {$graph element configure $elem -ydata $blvec} 
     256                    backr {$graph element configure $elem -ydata $brvec} 
     257                    frontl {$graph element configure $elem -ydata $flvec} 
     258                    frontr {$graph element configure $elem -ydata $frvec} 
    205259        } 
    206260} 
     
    298352$ptm add radio -label "Trans" -variable plotType -value "trans" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
    299353$ptm add radio -label "Mon" -variable plotType -value "mon" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     354$ptm add radio -label "Central" -variable plotType -value "central" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     355$ptm add radio -label "Back Left" -variable plotType -value "backl" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     356$ptm add radio -label "Back Right" -variable plotType -value "backr" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     357$ptm add radio -label "Front Left" -variable plotType -value "frontl" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     358$ptm add radio -label "Front Right" -variable plotType -value "frontr" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
    300359 
    301360#Set defaults 
     
    334393pack $tvf -side left -fill y -anchor w 
    335394 
    336 # Create Notebook 
    337 #set nb [tixNoteBook .vp.nb] 
    338 #$nb add plot -label "Plot" -underline 0 
    339 #$nb add data -label "File Data" -underline 0 
    340 #set plottab [frame [$nb subwidget plot].f] 
    341 #set datatab [frame [$nb subwidget data].f] 
    342 #pack $nb $plottab $datatab -fill both -expand true  
    343  
    344 # Create File Details Tab 
    345  
    346  
    347395# Create graph 
    348 #set graph [blt::graph $plottab.g] 
    349396set graph [blt::graph .vp.g] 
    350397pack $graph -fill both -expand true -side left -anchor w 
     
    356403bind .filter.filterEntry <Return> {filterTree [%W get]} 
    357404 
     405#button .filter.filterButton -text "Filter" -command {filterTree [.filter.filterEntry get]}  
    358406pack .filter.filterLabel -side left 
    359407pack .filter.filterEntry -side left  
     408#pack .filter.filterButton -side left 
     409#pack .filter.filterReset -side right -padx 25 
    360410 
    361411#Plot controls 
     
    364414button $pcf.filterReset -text "Clear Plot" -command {resetGraph} 
    365415 
     416##Frame for radiobutton set to control plot type 
     417#set ptf [frame .filter.pc.pt -borderwidth 1 -relief raised] 
     418#radiobutton $ptf.c -text "Counts" -variable plotType -value "count" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     419#radiobutton $ptf.cr -text "Count Rate" -variable plotType -value "countrate" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     420#radiobutton $ptf.t -text "Trans" -variable plotType -value "trans" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     421#radiobutton $ptf.m -text "Mon" -variable plotType -value "mon" -command {foreach elem [$graph element show] { changePlotType $elem  }} 
     422#$ptf.c select 
     423#pack $ptf.m -side right 
     424#pack $ptf.t -side right 
     425#pack $ptf.cr -side right 
     426#pack $ptf.c -side right  
     427 
     428##Frame for y-axis log/lin choice 
     429#set logfy [frame .filter.pc.logy -borderwidth 1 -relief raised] 
     430##Log/lin radiobutton set 
     431#radiobutton $logfy.log -text "Log Y" -variable loglinY -value "yes" -command { changeLogLinY } 
     432#radiobutton $logfy.lin -text "Lin Y" -variable loglinY -value "no" -command { changeLogLinY } 
     433#$logfy.lin select 
     434#pack $logfy.log -side right 
     435#pack $logfy.lin -side right 
     436 
     437##Frame for y-axis log/lin choice 
     438#set logfx [frame .filter.pc.logx -borderwidth 1 -relief raised] 
     439##Log/lin radiobutton set 
     440#radiobutton $logfx.log -text "Log X" -variable loglinX -value "yes" -command { changeLogLinX } 
     441#radiobutton $logfx.lin -text "Lin X" -variable loglinX -value "no" -command { changeLogLinX } 
     442#$logfx.lin select 
     443#pack $logfx.log -side right 
     444#pack $logfx.lin -side right 
     445 
    366446pack $pcf.filterReset -side right -padx 25 
     447#pack $logfy -side right 
     448#pack $logfx -side right 
     449#pack $ptf -side right 
    367450pack $pcf -side right 
    368451 
Note: See TracChangeset for help on using the changeset viewer.