#-----------------------------------------------------------------------------
# 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
     }
}