
c===============================================================================
c                          INITIALIZE.INC
c===============================================================================


c die Spezifizierungen der Schleifen-Parameter (character*22):

	par_text(UTarget)  =  'U(Target) [kV]      : '
	par_text(UGuard	)  =  'U(Guard)  [kV]      : '
	par_text(UGi1	)  =  'U(Gitter1)[kV]      : '
	par_text(BTD    )  =  'B(TD)     [Gauss]   : '
	par_text(BHelm  )  =  'B(Helmh.) [Gauss]   : '
	par_text(mass	)  =  'Masse     [keV/c**2]: '
	par_text(charge	)  =  'Ladung    [e]       : '
	par_text(ener	)  =  'Energie   [keV]     : '
	par_text(yPos	)  =  'y0        [mm]      : '
	par_text(zPos	)  =  'z0        [mm]      : '
	par_text(thetAng)  =  'theta0    [degree]  : '
	par_text(phiAng	)  =  'phi0      [degree]  : '


c die Gebiets-Bezeichnungen (character*40):

	Gebiet_Text(upToGrid1)    = 'in 1. Beschl.Stufe:'
	Gebiet_Text(upToGrid2)    = 'in 2. Beschl.Stufe:'
	Gebiet_Text(upToHeShield) = 'bis He-Schild:'
	Gebiet_Text(upToLNShield) = 'bis LN-Schild:'


c die Bezeichnungen fuer die moeglichen Teilchenschicksale (character*26):

	code_text(code_vor_Mappe      )	=  'Testort vor Potentialmappe: '
	code_text(code_neben_Mappe    )	=  'Potentialmappe verlassen:   '
	code_text(code_hit_grid2      )	=  'auf Gitter 2 aufgeschlagen: '
	code_text(code_hit_grid1      )	=  'auf Gitter 1 aufgeschlagen: '
	code_text(code_hit_TgtHolder  )	=  'Targethalter getroffen:     '

	code_text(code_OK	      )	=  'bis jetzt alles ok:         '

	code_text(code_decay	      )	=  'zerfallen:                  '
	code_text(code_reflektiert    )	=  'reflektiert:                '
	code_text(code_wand	      )	=  'aufgeschlagen:              '
	code_text(code_lost	      )	=  'verloren (steps>maxsteps):  '
	code_text(code_dtsmall	      )	=  'zu oft dt < dtSmall:        '


c die Ueberschriften der Tabellen-files (character*9):

	statName(Nr_S1M2)    = 'S1M2     '


c die Extensions der Tabellen-files (character*9):

	TabExt(Nr_S1M2)	   = '._S1M2    '


c die Reihenfolge, in welcher die Schleifen der 'Schleifenparameter' par(i,k)
c im Hauptprogramm abgearbeitet werden:

	DATA reihenfolge /
     +		UTarget,UGuard,UGi1, BHelm,BTD, mass,charge,  
     +		ener,thetAng,phiAng,yPos,zPos  /


c====== Initialisierungen fuer die benutzerdefinierbaren Parameter ============

c Das Startgebiet 'Gebiet0' wird indirekt im SUB 'READ_INPUTFILE' via eine der
c lokalen Variablen 'Startflaeche' oder 'x0_' initialisiert.

c - - - - - - - - - - zufallsverteilte Startparameter - - - - - - - - - - - - -

c Energie:

	DATA random_E0		/.false./
	DATA random_energy 	/   0   /

	DATA random_E0_equal	/.false./
	DATA lowerE0 		/ 0.000 /
	DATA upperE0		/ 0.010 /

	DATA random_E0_gauss	/.false./
	DATA sigmaE0		/ 0.010 /


c Position:

	DATA random_pos		/.false./
	DATA random_position	/   0   /
	DATA sigmaPosition      /  15.  /

	DATA random_y0z0_equal	/.false./
	DATA random_r0_equal	/.false./
	DATA random_y0z0_Gauss	/.false./
	DATA random_r0_Gauss	/.false./
	DATA StartBreite	/  -1.  /
	DATA StartHoehe		/  -1.  /
	DATA StartRadius	/  -1.  /


c Winkel:

	DATA random_angle 	/.false./
	DATA random_winkel	/   0   /

	DATA random_lambert	/.false./
	DATA random_gauss  	/.false./
	DATA StartLambertOrd	/   1.  /
	DATA sigmaWinkel	/   1.  /

	DATA ener_offset	/ .true. /
	DATA pos_offset		/ .true. /
	DATA angle_offset	/ .true. /

c - - - - - - - - - - Schleifen-Parameter - - - - - - - - - - - - - - - - - - -

	! Das Schleifenparameterfeld 'par(i,k)' (1 <= k <= par_Anzahl) 
	! wird indirekt im SUB 'read_inputFile' ueber die dortigen lokalen
	! Variablen '_parameter' initialisiert. (siehe dort).
	! Hier wird nur die 'Zufallsschleife' par(i,0) initialisiert.

	DATA par(1,0)		/   1.  /
	DATA par(2,0)		/   1.  /
	DATA par(3,0)		/   1.  /


c - - - - - - - - - - Projektile- - - - - - - - - - - - - - - - - - - - - - - -

	DATA art_Name   /    'm+  ',    'm-  ',		! character*4
     +			     'Mu  ',    'Mu- ',
     +			     'e+  ',    'e-  ',
     +			     'H+  ',    'H   ',    'H-  ',
     +			     'H2+ ',    'H2  ',    'H2- ',
     +			     'alfa',

     +			     'A11+',    'A12+',    'A21+',    'A31+',    'A32+',
     +			     'N11+',    'N21+',
     +			     'K11+',    'K12+',

     +                       'H2O1',    'H2O2',    'H2O3',    'H2O4',    'H2O5',

     +                       'Hyd1',    'Hyd2',    'Hyd3',    'Hyd4',    'Hyd5',
     +                       'Hyd6',    'Hyd7',    'Hyd8',    'Hyd9'
     +			     /
 
c folgende Werte wurden aus bzw. mittels 'HANDBOOK OF CHEMESTRY AND PHYSICS,
c 74th edition' und 'PHYSICAL REVIEW D, 50, S.1173-1826 (August 1994)' bestimmt:

 	DATA art_Masse  /    105658.,    105658., 
     +		             106169.,    106680.,
     +		            510.9991,   510.9991,
     +		            938272.3,   938783.3,  939294.3,
     +		           1877055.6,  1877566.6, 1878077.6, 
     +		           3727380.2,

     +			     37.96238E6,37.22371E6,74.44896E6,111.673689E6,111.673178E6,
     +			     13.043273 ,26.087057,
     +			     78.16258E6,78.162070E6,

     +                     16.77623E6,33.55297E6,50.32971E6,67.10644E6,83.88318E6,

     +                     17.71501E6,34.49175E6,51.26849E6,68.04523E6,84.82197E6,
     +                     101.59870E6,118.37544E6,135.15218E6,151.92892E6

     +			     /
 
	DATA art_Ladung /       +1.,       -1.,
     +			         0.,       -1.,
     +			        +1.,       -1.,
     +			        +1.,        0.,       -1.,
     +			        +1.,        0.,       -1.,
     +			        +2.,
 
     +				+1.,       +2.,       +1.,      +1.,      +2.,
     +				+1.,       +1.,
     +				+1.,       +2.,

     +                          +1.,       +1.,       +1.,      +1.,      +1.,

     +                          +1.,       +1.,       +1.,      +1.,      +1.,
     +                          +1.,       +1.,       +1.,      +1.
     +				/

	DATA artList		/  ' '  /
	DATA artList_defined	/.false./

c - - - - - - - - - - Programmsteuerung - - - - - - - - - - - - - - - - - - - -

	DATA scaleFactor      /    1.   /

	DATA UseDecay	      / .false. /

	DATA DEBUG            / .false. /

	DATA HVs_from_map     / .false. /
	DATA TestRun	      / .false. /
	DATA log_confine      / .false. /
	DATA maxBelowDtSmall  /    50   /

c - - - - - - - - - - Graphikausgabe- - - - - - - - - - - - - - - - - - - - - -
	
	DATA GRAPHICS         / .false. /
	DATA GRAPHICS_Anzahl  /    25   /

	DATA n_postSkript     /    1    /

	DATA imonitor         /    2    /
            
c - - - - - - - - - - FileName- - - - - - - - - - - - - - - - - - - - - - - - -

	DATA filename         /  'AC_'  /

c - - - - - - - - - - Vorgaben fuer das Summary - - - - - - - - - - - - - - - -

	DATA n_outWhere       /     2   /

	DATA LogFile          / .false. /
	DATA smallLogFile     / .false. /

	DATA statsInSummary   / .false. /

	! 'statInSummary' wird indirekt im SUB 'read_inputFile' ueber die
	! lokalen Variablen 'SUM_*' initialisiert (alle auf .false.)

c - - - - - - - - WELCHE FILES sollen erzeugt werden? (ausser .SUM)- - - - - -

	DATA createTabellen   / .false. /

	! 'createTabelle' wird indirekt im SUB 'read_inputFile' ueber die
	! lokalen Variablen 'TAB_*' initialisiert (alle auf .false.)

	DATA createPhysTab    / .false. /

	DATA NTP_Misc 	      / .false. /
	DATA NTP_start	      / .false. /
	DATA NTP_stop 	      / .false. /
	DATA NTP_40mm 	      / .false. /

c - - - - - - - - - - Fehlerkontrolle - - - - - - - - - - - - - - - - - - - - -

	DATA eps_x            /  1.e-5  /
	DATA eps_v            /  1.e-5  /
	DATA log_relativ      / .false. /

	DATA maxStep          /   6000  /

	DATA dtsmall	      /   .001  /

c - - - - - - - - - - Programmablauf- - - - - - - - - - - - - - - - - - - - - -

	DATA n_dtsmall		/ 0 /
	DATA n_dtsmall_Max	/ 0 /
	DATA dtsmall_counter	/ 0 /
	DATA Lost_counter	/ 0 /

	DATA Startflaeche	/   0   /
	DATA SchleifenNr	/   0   /

c Ausgabekanaele (fuer die 'do indx = indx1, indx2 ....' Anweisungen):

	DATA lun		/ lunLOG, lunScreen /

	DATA OneLoop		/ .false. /
	DATA OneStartPerLoop	/ .false. /


c fuer Random-Generator: 'seed' soll gross und ungerade sein. ->
c nimm den Sinus von secnds, und mache daraus durch Multiplikation mit ent-
c sprechender 10er-Potenz eine 8stellige Integer-Zahl. Sollte seed dann
c gerade sein, mache es ungerade:

	help1= abs(sin(secnds(0.)))		! abs(), da sonst log10(sec) zu Fehler fuehrt
	seed = int(help1* 10.**(8-int(log10(help1)) ) )
	if ((seed/2)*2.EQ.seed) seed=seed-1	! z.B. seed=3 -> seed/2=1, wegen Integer


