(file) Return to db_replace.f CVS log (file) (dir) Up to [HallC] / Optics / conversion

 1 jones 1.1 	subroutine me_db_replace (var, me, line, order, index)
 2           *
 3           * This routine will replace a matrix element with the new one
 4           *
 5           * var is matrix element structure to use
 6           * me is the values to use
 7           * line is the line number in the file
 8           * index is an array of the initial variable indices
 9           *
10           * 21-May-94, Pat Welch, Oregon State University (tpw@physics.orst.edu)
11           * 30-Jan-95, TPW modified to use me_db_replace and orders<-1
12           *
13           	implicit none
14           
15           	include 'db.inc'
16           
17           	record /ofp_targ/ var
18           	record /element/ me
19           	integer line, index(MAX_ORDER), order
20           
21           	integer i1, i2, i3, i4, i5, i6
22 jones 1.1 
23           	i1 = index(1)
24           	i2 = index(2)
25           	i3 = index(3)
26           	i4 = index(4)
27           	i5 = index(5)
28           	i6 = index(6)
29           
30           	if (order .eq. -2) then
31           	  call me_db_replace_set(fp_ofp.x_det, me)
32           	else if (order .eq. -3) then
33           	  call me_db_replace_set(fp_ofp.y_det, me)
34           	else if (order .eq. -4) then
35           	  call me_db_replace_set(fp_ofp.theta_det, me)
36           	else if (order .eq. -5) then
37           	  call me_db_replace_set(fp_ofp.z, me)
38           	else if (order .eq. -6) then
39           	  call me_db_replace_set(fp_ofp.theta, me)
40           	else if (order .eq. -7) then
41           	  call me_db_replace_set(fp_ofp.phi, me)
42           	else if (order .eq. -8) then
43 jones 1.1 	  call me_db_replace_set(targ_slit.drift, me)
44           	else if (order .eq. -9) then
45           	  call me_db_replace_set(fp_ofp.ang_slope_x, me)
46           	else if (order .eq. -10) then
47           	  call me_db_replace_set(fp_ofp.ang_slope_y, me)
48           	else if (order .eq. -11) then
49           	  call me_db_replace_set(fp_ofp.ang_offset_x, me)
50           	else if (order .eq. -12) then
51           	  call me_db_replace_set(fp_ofp.ang_offset_y, me)
52           	else if (order .eq. 0) then
53           	  call me_db_replace_set(var.me0, me)
54           	else if (order .eq. 1) then
55           	  call me_db_replace_set(var.me1(i1), me)
56           	else if (order .eq. 2) then
57           	  call me_db_replace_set(var.me2(i1,i2), me)
58           	else if (order .eq. 3) then
59           	  call me_db_replace_set(var.me3(i1,i2,i3), me)
60           	else if (order .eq. 4) then
61           	  call me_db_replace_set(var.me4(i1,i2,i3,i4), me)
62           	else if (order .eq. 5) then
63           	  call me_db_replace_set(var.me5(i1,i2,i3,i4,i5), me)
64 jones 1.1 	else if (order .eq. 6) then
65           	  call me_db_replace_set(var.me6(i1,i2,i3,i4,i5,i6), me)
66           	else
67           	  write (*,*) ' Matrix element order too large, ', order
68           	  write (*,*) ' in line # ', line
69           	endif
70           
71           	return
72           	end
73           
74           	subroutine me_db_replace_set (var, me)
75           
76           	implicit none
77           
78           	include 'db.inc'
79           
80           	record /element/ var
81           	record /element/ me
82           
83           	var.value = me.value
84           	var.error = me.error
85 jones 1.1 	var.lower = me.lower
86           	var.upper = me.upper
87           	var.set   = .TRUE.
88           	var.modified = .FALSE.
89           
90           	end

Analyzer/Replay: Mark Jones, Documents: Stephen Wood
Powered by
ViewCVS 0.9.2-cvsgraph-1.4.0