1 jones 1.1 subroutine me_gen_name (target, fpvars, name)
2
3 implicit none
4
5 include 'db.inc'
6
7 integer target ! index of target variable
8 integer fpvars(MAX_ORDER) ! focal plane variables
9 character*(*) name ! element name we generate
10
11 character*12 target_names(TARG_VAR)
12 > /'x', 'theta', 'y', 'phi', 'p'/
13 character*12 fp_names(FP_VAR) /'x', 't', 'y', 'p'/
14 integer EXTRA_VAR
15 parameter (EXTRA_VAR = 11)
16 character*12 extra_names(EXTRA_VAR) /
17 > 'x_det', 'y_det', 'theta_det', 'z', 'theta', 'phi',
18 > 'drift',
19 > 'ang_slope_x', 'ang_slope_y', 'ang_offset_x', 'ang_offset_y'
20 > /
21
22 jones 1.1 integer i
23 integer lnblnk ! ret non-blank length
24
25 if (target .lt. 0) then ! not a normal one
26 name = '<' // extra_names(abs(target) - 1)
27 else
28 name = '<' // target_names(target) ! put in target name
29 name = name(1:lnblnk(name)) // '|' ! add in seperator
30 do i = 1, MAX_ORDER
31 if ((fpvars(i) .ge. 1) .and. (fpvars(i) .le. FP_VAR)) then
32 name = name(1:lnblnk(name)) // fp_names(fpvars(i))
33 else
34 name = name(1:lnblnk(name))
35 endif
36 enddo
37 endif
38
39 name = name(1:lnblnk(name)) // '>'
40
41 end
|