EWMK-Soft Projekt HFSFit
Eberhard Kümmel



Übersicht

 

Person

 

Physik

 

Projekte

 

WoGoCal

 

elenco+

 

XYPlot

 

KTM

 

PACOM

 

Oxytest

 

HFSFit

HFS

 

Tektro

 

Dopres

 

Hanle

 

Impressum

 

Projektname HFSFIT
Aufgabenstellung Programm zur Auswertung der mit HFS gemessenen atomaren Spektren. Mittels "Least Square Fit" lassen sich Lorenz oder Gausskurven (oder Summen der beiden) an die Messdaten anpassen. Umfangreiche Zusatzfunktionen erlauben die Berechnung von atomaren Hyperfeinstrukturkonstanten oder die Einblendung zusätzlicher Crossoversignale in die Anpassung.
Auftraggeber Physikalisches Institut der Universität Tübingen
Zeitraum 1990-1992
Zielsystem 80386/80486 PC mit 10 MB Festplatte und 2 MB RAM.
Betriebssystem Microsoft Windows 3.0.
Programmiersprache Borland Pascal

Programmfunktionen  
Das Hauptfenster des Programms zeigt das gemessene Spektrum (grün) und die theoretische Kurve (rot). Die für die Anpassung notwendigen Startparameter (Linienpositionen usw.) werden interaktiv mit der Maus festgelegt. Eine Zoomfunktion erlaubt die Vergrößerung von Bereichen. Datenauswertung
Nach Zuordnung der quantenmechanischen Drehimpulswerte für die einzelnen Übergänge kann ein theoretisches Spektrum berechnet werden. Die dafür notwendigen A/B-Faktoren werden aus den Messdaten ermittelt. Eingabe Fitparameter
Die Daten können in verschiedenen Formaten ausgegeben werden: Als normale Windows Druckausgabe, als HPGL Plotdatei oder im PicTeX Format. Eine Vorschauansicht erlaubt die Einstellung des gewünschten Druckumfangs. Druckvorschau
Druckeinstellungen
Eine eingebauter Skriptinterpreter erlaubt die Bearbeitung großer Datenmengen über Skripte. So kann ein Skript z.B. eine Serie von Messdateien mit ihren Anpassungen einlesen und über eine gewünschte Größen den Mittelwert bilden. Das zugehörige Skript sieht dann so aus:
Makroeditor
%echo off
output window
output file log.hfm

procedure exit
? "------------------"
set &su1:=&su1/&n
set &su2:=sqrt((&su2-&n*sqr(&su1))/(&n-1))
? &n:1:0,"   ",&su1:1:2,"(",&su2:1:2,")"
output
? &n:1:0,"   ",&su1:1:2,"(",&su2:1:2,")"
return

define ifeld : 611,609,608,607,606,605,604,603,602,601,600,599;
              ,598,597,596,595,594,593,592,591,590,589,588,587,586
define rstack: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
var &a,&i,&c1,&c2,&su1,&su2,&n
set &n:=0
set &su1:=0
set &su2:=0
set &i:=1
1:getentry ifeld,&i,&a
set &error:=0
l hfs&asc
l hfs&af1/fit/nocheck
data /bez105/F'1.5/F1.5
pop rstack
getentry rstack,2,&c1
getentry rstack,3,&c2
if (&error=0)
 ? &a:1:0,"   ",&c1:1:1,"(",&c2:1:1,")"
 set &n:=&n+1
 set &su1:=&su1+&c1
 set &su2:=&su2+sqr(&c1)
else
  output
  ? " Fehler beim Einlesen einer Messung aufgetreten [bel. Taste]"
  wait
endif
set &i:=&i+1
goto 1

 Letzte Änderung
 Mar 18, 2012