|
|
|
|
For Windows/XP users > Run SEETRAM ( P:\FRSTOOLS\SEETRAM.BAT ) Source text (FORTRAN) C 00010000
C *********************************************************** 00012000
C *** *** 00013000
C *** DETERMINATION OF SEETRAM CALIBRATION FACTOR *** 00014000
C *** *** 00014100
C *** !!! REPLACES UNIVERSAL CALIBRATION CURVE !!! *** 00014200
C *** *** 00014300
C *** AUTHOR: T. BROHM MAY 1994 *** 00014400
C *** *** 00014500
C *********************************************************** 00015000
C 00022000
C *********************************************************** 00022100
C *** DECLARATION OF VARIABLES *************************** 00022200
C *********************************************************** 00022300
C 00022400
REAL*8 E,EA,DEA,RIN,ROUT,EAOUT,RGIN,ELOSS,YIELD,CALIB
INTEGER*4 AP,ZP,MODE,A,Z
C CHARACTER*1 C$YES /'N'/ 00025000
C 00027000
C *********************************************************** 00109200
C *** INPUT DATA ***************************************** 00109300
C *********************************************************** 00109400
C 00109500
AP = 197
ZP =79
EA = 900.D0
900 write(6,*) ' '
write(6,*) ' EMPIRICAL SYSTEMATICS OF SEETRAM CALIBRATION'
write(6,*) ' BY THOMAS BROHM (MAY 1994)'
write(6,*) ' '
C MASS NUMBER OF BEAM 00109600
write(6,*) ' CHARGE NUMBER OF BEAM: Z = ',ZP
read(5,1002) Z
write(6,*) ' MASS NUMBER OF BEAM: A = ',AP
read(5,1002) A
C write(6,1000) (' CHARGE, MASS NUMBER OF BEAM: Z,A=',ZP,AP)
C1000 format(a,2I5)
C read(5,1002) Z,A
1002 format(2i6)
if (Z.ne.0) ZP=Z
if (A.ne.0) AP=A
C ENERGY OF BEAM (MEV PER NUCLEON)
write(6,*) ' BEAM ENERGY PER NUCLEON: EA=',EA
C write(6,1001) (' BEAM ENERGY PER NUCLEON: EA=',EA)
C1001 format(a,f7.0)
read(5,1003) E
1003 format(D7.0)
if (E.ne.0) EA=E
C 00110200
C *********************************************************** 00110300
C *** VERIFICATION OF INPUT ******************************* 00110400
C *********************************************************** 00110500
C 00110600
IF (AP.LE.0) THEN 00110700
GOTO 100 00110800
ENDIF 00110900
IF (ZP.LE.0) THEN 00111000
GOTO 100 00111100
ENDIF 00111200
IF (EA.LT.100.D0) THEN 00111300
GOTO 100 00111400
ENDIF 00111500
IF (EA.GT.2000.D0) THEN 00111600
GOTO 100 00111700
ENDIF 00111800
C 00112300
C *********************************************************** 00112400
C *** DETERMINE ENERGY LOSS IN 1MG/CM^2 ALUMINUM ********** 00112500
C *********************************************************** 00112600
C 00112700
RIN = EA 00112800
MODE = 1 00112900
CALL RANGE(AP,ZP,RIN,ROUT,MODE) 00113000
RGIN = ROUT 00113100
RIN = ROUT - 1.D0 00113200
MODE = 2 00113300
CALL RANGE(AP,ZP,RIN,ROUT,MODE) 00113400
EAOUT = ROUT 00113500
DEA = EA - EAOUT 00113600
ELOSS = DFLOAT(AP) * DEA 00113700
C 00113800
C *********************************************************** 00113900
C *** POLY-FIT FOR SPECIFIC YIELD (STATUS MAY 1994) ******** 00114000
C *********************************************************** 00114100
C 00114200
YIELD= 00114300
# 41.1718-1.0908*ZP+1.83165D-2*ZP**2-1.07085D-4*ZP**3 00114400
C YIELD= 00114500
C # 88.3989-5.32178*ZP+0.149316*ZP**2-0.0017656*ZP**3+ 00114700
C # 7.35741E-06*ZP**4 00114800
C 00114900
C *********************************************************** 00115000
C *** CALIBRATION FACTOR FOR 10E-09 SENSITIVITY ******** 00115100
C *********************************************************** 00115200
C 00115300
CALIB = 1.D-13 / (ELOSS * YIELD * 1.6D-19) 00115400
C 00115500
C *********************************************************** 00115600
C *** OUTPUT *********************************************** 00115700
C *********************************************************** 00115800
C 00115900
WRITE(6,10) AP,ZP,EA 00116000
10 FORMAT(' PROJECTILE: ',I3,I3,' AT ',F7.0,' MEV/NUCLEON') 00116100
WRITE(6,*) ' ' 00116200
WRITE(6,11) CALIB 00116300
11 FORMAT(' SEETRAM FACTOR:',F9.0,'+-5 % (SENSITIVITY 10E-09)') 00116400
WRITE(6,*) ' ' 00116600
C 00116700
C *********************************************************** 00116800
C *** END OF PROGRAM ************************************** 00116900
C *********************************************************** 00117000
C 00117100
99 GOTO 101 00117200
100 WRITE(6,*) 'INPUT OUT OF RANGE !' 00117300
101 CONTINUE
GOTO 900 00117400
END 00117500
C 00117600
C *********************************************************** 00117700
C *** SUBROUTINE FOR RANGE/ENERGY RELATION **************** 00117800
C *********************************************************** 00117900
C 00118000
SUBROUTINE RANGE(AIN, ZIN, RIN, ROUT, MODEIN) 00118100
REAL*8 EHPAR, EA, RG, ROUT, RIN, A, Z
INTEGER*4 AIN, ZIN, MODEIN, ZT 00118300
DIMENSION EHPAR(13:13,1:11) 00118400
C FITS TO CALCULATIONS FROM 100-2000 MEV/U, 19.1.87, BY E.HANELT 00118500
EHPAR(13, 1) = -0.668659D-04 00118600
EHPAR(13, 2) = -0.185311D-05 00118700
EHPAR(13, 3) = 0.873192D-07 00118800
EHPAR(13, 4) = -0.690141D-09 00118900
EHPAR(13, 5) = -0.530758D+00 00119000
EHPAR(13, 6) = 0.898953D-02 00120000
EHPAR(13, 7) = 0.268916D+01 00130000
EHPAR(13, 8) = -0.533772D-02 00140000
EHPAR(13, 9) = -0.214131D+00 00150000
EHPAR(13,10) = 0.773008D-03 00160000
EHPAR(13,11) = 1.0D0 00170000
C 0.775 FOR PE, 1.0 FOR AL 00171000
C 00172000
ZT=13 00180000
Z = DFLOAT(ZIN) 00190000
A = DFLOAT(AIN) 00200000
C 00210000
IF (MODEIN.EQ.1) THEN 02840000
EA = RIN 02840100
ROUT = EHPAR(ZT,11) * (A/Z**2) * 10.D0** 02850000
# ((1.E0 + EHPAR(ZT,1)*Z + EHPAR(ZT,2)*Z**2 + 02860000
# EHPAR(ZT,3)*Z**3 + EHPAR(ZT,4)*Z**4) * 02870000
# (EHPAR(ZT,5) + EHPAR(ZT,6) *Z + 02880000
# (EHPAR(ZT,7) + EHPAR(ZT,8) *Z) * DLOG10(EA)+ 02890000
# (EHPAR(ZT,9) + EHPAR(ZT,10)*Z) * (DLOG10(EA))**2)) 02900000
ENDIF 02920000
IF (MODEIN.EQ.2) THEN 02940000
RG = RIN 02941000
ROUT = 10.D0**( 02950000
# -(EHPAR(ZT,7)+EHPAR(ZT,8)*Z) / 02960000
# (2.E0*(EHPAR(ZT,9)+EHPAR(ZT,10)*Z)) 02961000
# -DSQRT( ((EHPAR(ZT,7)+EHPAR(ZT,8)*Z) / 02962000
# (2.E0*(EHPAR(ZT,9)+EHPAR(ZT,10)*Z)))**2 02963000
# -(EHPAR(ZT,5)+EHPAR(ZT,6)*Z) / 02964000
# (EHPAR(ZT,9)+EHPAR(ZT,10)*Z) 02965000
# + DLOG10(RG/EHPAR(ZT,11) * Z**2/A) / 02966000
# ( (1.E0+EHPAR(ZT,1)*Z +EHPAR(ZT,2)*Z**2+ 02967000
# EHPAR(ZT,3)*Z**3+EHPAR(ZT,4)*Z**4) 02968000
# * (EHPAR(ZT,9)+EHPAR(ZT,10)*Z) ) 02969000
# )) 02969100
ENDIF 02969300
RETURN 03210000
END 03220000
|