Zum Inhaltsverzeichnis
Zurück zum Anhang A

B Implementierung der Programme

Die Programme TRACKFIT und SED sind VAX-FORTRAN Programme. Als Libraries stehen BOS [Bl 87], CERN-Library [CE 89a], GKS [En 87], GEANT [Br 84] und eigene Libraries der SINDRUM Gruppe zur Verfügung. In diesem Kapitel soll der Aufbau der beiden Programme durch Aufrufdiagramme und Nassi-Shneidermann Diagramme dargestellt werden. Bei den Aufrufdiagrammen werden die Routinen aus GKS und GEANT nicht einzeln aufgeführt, sondern nur als Paket. GKS_2 sind eigene Routinen, die GKS-Routinen leicht erweitern. Auch sie werden nicht einzeln aufgeführt. Selbst mit diesen Kürzungen wäre das Aufrufdiagramm noch zu umfangreich, deshalb wurden einige Routinen im Hauptdiagramm als Unterprogramme eingetragen und anschließend in eigenen Diagrammen aufgeführt. Es werden auch Unterroutinen aufgeführt, die so nicht existieren. Die bereits erwähnten: GKS, GKS_2 und GEANT und außerdem als weitere Zusammenfassung dieser und anderer Graphikroutinen: GRAPHIK. Solche Pseudoroutinen sind in Großbuchstaben geschrieben, alle anderen klein. GRAPHIK ist als Unterprogramm, als eigenes Diagramm, aufgeführt, die anderen Pseudoroutinen nicht.

    (a)                 (b)             (c)

Abb. B.1. Die verschiedenen Arten von Routinen. (a) der Aufruf einer normalen Routine. Falls sie weitere Routinen aufruft, sind diese eingetragen. (b) der Aufruf einer Routine, die später als eigenes Unterprogramm aufgeführt wird. (c) Aufruf einer Pseudoroutine (s.Text)
 

B.1 Trackfit (incl. FILL_MARK)

Das Programm TRACKFIT.FOR ist kein eigenständiges Programm. Es enthält mehrere Routinen, die aus anderen Modulen aufgerufen werden können. Als BATCH-Programm werden von MAINFRAME.FOR die Routinen init_trackfit, trackfit und trackfit_last aufgerufen. Aus dem SED wird fit aufgerufen. Da fill_mark auch vom SED benutzt wird und deshalb als eigenes Programm FILL_MARK.FOR existiert, ist es hier als Unterprogramm aufgeführt. Die Routinen read_eventstructure und fill_mark sind auch als Nassi-Shneidermann-Diagramme dargestellt.


 

Abb. B.2. Die aus anderen Programmen aufrufbaren Routinen aus TRACKFIT.FOR und FILL_MARK.FOR
Abb. B.3. Die Unterroutine calculate_track_dft aus TRACKFIT.FOR
Abb. B.4. Algorithmus der Hauptroutine trackfit
 
 
Abb. B.5. Algorithmus der Einleseroutine read_event-structure des TRACKFIT.
Abb. B.6. Ablaufdiagramm der Routine prepare_combination
Abb. B.7. Die Routine fill_mark
Abb. B.8. Der Teil der Routine fill_mark, der im vorigen Diagramm als fill_mark_cseg bezeichnet ist.
 

B.2 SED

SED.FOR enthält im Gegensatz zu TRACKFIT.FOR seine eigene Startroutine. Dieser ruft sed_main auf. Die hier dargestellten Routinen sind teilweise in SED_RUMPF.FOR enthalten. Der Grund zur Teilung des Quellcodes ist, Zeit beim Compilieren zu sparen. Deshalb wird hier auch nicht zwischen den beiden unterschieden. Die Routinen fit und FILL_MARK sind im vorigen Unterkapitel beschrieben.


 

Abb. B.9.a 1.Teil des Aufrufdiagramms von sed_main
Abb. B.9.b 2.Teil des Aufrufdiagramms von sed_main
Abb. B.9.c 3.Teil des Aufrufdiagramms von sed_main
 
 
Abb. B.10. Der erste Teil der von sed_main aufgerufenen Routinen.

 
 
Abb. B.11. Der zweite Teil der von sed_main aufgerufenen Routinen.
Abb. B.12. Die Graphikroutinen des SED zusammengefaßt zur Pseudoroutine GRAPHIK. Die hier vorkommenden Pseudoroutinen GKS, GKS_2 und GEANT werden nicht weiter behandelt.


Weiter zum Anhang C
Zum Inhaltsverzeichnis