001 *
002 *
003 *
004 *
005
006 * Author : Saclay Muon Software Group (SaMuSoG)
007 ***************************************************************************
008 SUBROUTINE RBMAGL(LUN,I1MAG,I2MAG,I1FEL,I2FEL,AVER,
009 +NVERSION,BINNER,RMAINN,ZMAINN,RTORI,ZTORI,RTORO,ZTORO,EPS0,
010 +SECMAG,NRMAG,NFMAG,NZMAG,RMAG ,FMAG ,ZMAG ,BRMAG,BFMAG,BZMAG,
011 +SECFEL,NRR ,NFF ,NZZ ,RRPOS,FFPOS,ZZPOS,TABBR,TABBF,TABBZ)
012 *
013 *>> Reads general tabulated 3D ATLAS mag. field
014 *>> from logical unit LUN !
015 *>> Author : Saclay Muon Software Group (SaMuSoG)
016 *>> Date : 28/07/98
017 *
018 IMPLICIT NONE
019 *
020 *
021 CHARACTER*4 AVER
022 INTEGER LUN, I1MAG,I2MAG, I1FEL,I2FEL, NVERSION
023 INTEGER NRMAG(*),NFMAG,NZMAG, NRR,NFF,NZZ
024 REAL BINNER, RMAINN, ZMAINN, RTORI, ZTORI, RTORO, ZTORO, EPS0
025 REAL SECFEL, SECMAG, RMAG(*),FMAG(*),ZMAG(*)
026 REAL BRMAG(*),BFMAG(*),BZMAG(*), RRPOS(*),FFPOS(*),ZZPOS(*)
027 REAL TABBR(*),TABBF(*),TABBZ(*)
028 *
029 INTEGER NSUBVER
030 CHARACTER*80 dtbname
031 LOGICAL FIRST
032 DATA FIRST/.TRUE./
033 *
034 IF( FIRST ) THEN
035 FIRST = .FALSE.
036 IF(AVER.NE."iron") THEN
037 READ(LUN,4000) dtbname(1:7),NSUBVER
038 4000 FORMAT(A7,I1)
039 AVER(1:2) = dtbname(6:7)
040 REWIND LUN
041 ENDIF
042 ENDIF
043 *
044 IF( AVER(1:1).EQ.'O' .OR. AVER(1:1).EQ.'P' .OR.
045 + AVER(1:1).EQ.'Q' .OR. AVER(1:1).EQ.'R' .OR.
046 + AVER(1:1).EQ.'X' ) THEN
047 CALL REAMAG(LUN,I1MAG,I2MAG,
048 + SECMAG,NRMAG,NFMAG,NZMAG,RMAG ,FMAG ,ZMAG ,BRMAG,BFMAG,BZMAG)
049 CALL RFELIX(LUN,I1FEL,I2FEL,
050 + NVERSION,BINNER,RMAINN,ZMAINN,RTORI,ZTORI,RTORO,ZTORO,EPS0,
051 + SECFEL,NRR ,NFF ,NZZ ,RRPOS,FFPOS,ZZPOS,TABBR,TABBF,TABBZ)
052 ELSEIF( AVER(1:1).EQ.'M') THEN
053 CALL REAMAG(LUN,I1MAG,I2MAG,
054 + SECMAG,NRMAG,NFMAG,NZMAG,RMAG ,FMAG ,ZMAG ,BRMAG,BFMAG,BZMAG)
055 NRR = 0
056 NFF = 0
057 NZZ = 0
058 ELSEIF( dtbname(1:2).EQ.'IC' .OR. AVER(1:4).EQ.'iron' ) THEN
059 CALL RFELIX(LUN,I1FEL,I2FEL,
060 + NVERSION,BINNER,RMAINN,ZMAINN,RTORI,ZTORI,RTORO,ZTORO,EPS0,
061 + SECFEL,NRR ,NFF ,NZZ ,RRPOS,FFPOS,ZZPOS,TABBR,TABBF,TABBZ)
062 NFMAG = 0
063 NZMAG = 0
064 ELSE
065 PRINT 1000,dtbname(1:7)
066 1000 FORMAT(/' Mag. field file of type ',A7,' cannot be read'
067 + ,' by routine REAMAG ======> STOP !')
068 STOP
069 ENDIF
070 *
071 IF( I2FEL.EQ.1 ) THEN
072 WRITE (6,2000) RTORI,ZTORI,RTORO,ZTORO
073 2000 FORMAT(/' ===> Tabulated 3D mag. field limits set to :'
074 + /' ===> RTORI,ZTORI,RTORO,ZTORO =',4F8.1,' (cm)'/)
075 ENDIF
076 *
077 *
078 RETURN
079 END
Due to the LXR bug, the updates fail sometimes to remove references to deleted files. The Saturday's full rebuilds fix these problems |
This page was automatically generated by the
LXR engine.
|
|