#----------------------------------------------------------------------------- # This is an implementation for a fit command for SICS. It uses a separate # fit program retrieved from the vast spaces of the net for this purpose. # The scheme is as follows: Data is written to a file, the fit program is # executed and the data retrieved at need. # # Mark Koennecke, October 1997 #---------------------------------------------------------------------------- #----- Initialise this to match your setup set fithome /data/koenneck/src/sics/fit set scancom xxxscan set IIcentervar "" proc fit__run { } { global fithome global scancom global IIcentervar #--------------- set cp [$scancom getcounts] set cp2 [split $cp =] set Counts [lindex $cp2 1] set fp [$scancom getvardata 0] set fp2 [split $fp = ] set fitpar [lindex $fp2 1] #----- set center variable set bg [lindex $fp2 1] set bg2 [split $bg .] set IIcentervar [lindex $bg2 1] unset cp unset cp2 unset fp unset fp2 unset bg unset bg2 #---- write fit input file set fd [open $fithome/sicsin.dat w] set length [llength $Counts] for {set i 0 } { $i < $length } { incr i} { puts $fd [format " %f %d" [lindex $fitpar $i] \ [lindex $Counts $i] ] } close $fd } proc fit args { set l [llength $args] if { $l < 1} { fit__run } }