/[PAMELA software]/gpamela/gpobsolete/gpsdini.F
ViewVC logotype

Contents of /gpamela/gpobsolete/gpsdini.F

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.1.1.1 - (show annotations) (download) (vendor branch)
Thu Jul 11 16:02:14 2002 UTC (22 years, 4 months ago) by cafagna
Branch: v3r0, MAIN
CVS Tags: v4r4, v4r5, v4r6, v4r7, v4r0, v4r1, v4r2, v4r3, v4r8, v4r9, firstrelease, v4r14, v4r12, v4r13, v4r10, v4r11, v3r3, v3r1, v3r2, HEAD
Changes since 3.1: +0 -0 lines
First GPAMELA release on CVS

1 *
2 * $Id$
3 *
4 * $Log$
5 *
6 *CMZ : 2.01/00 05/04/2000 14.35.18 by Marialuigia Ambriola
7 *CMZ : 2.00/00 03/03/2000 15.39.06 by Francesco Cafagna
8 *CMZ : 1.02/00 20/03/97 15.53.07 by Francesco Cafagna
9 *CMZ : 1.01/00 04/05/96 10.27.46 by Francesco Cafagna
10 *-- Author : Paolo (The Magic) Papini 23/04/96
11 SUBROUTINE GPSDINI
12 ************************************************************************
13 * *
14 * To calculate parameters for spectrometer digitizing *
15 * *
16 * Called by: GPDIGI *
17 * Author: Paolo (The Magic) Papini, 23/04/96 17.21.55 *
18 * *
19 ************************************************************************
20 #include "gcunit.inc"
21 #include "gpsed.inc"
22 #include "gpgeo.inc"
23 #include "gpdigi.inc"
24 #include "gpdspe.inc"
25 *
26 INTEGER JUNK
27 *
28 REAL X0,X1,X2,Y0,Y1,Y2,Z0,SIG2X,SIG2Y,SIG1X,SIG1Y,
29 +UDSPE(NUDSPE)
30 *
31 #include "gpddspe.inc"
32 *
33 * CHARX and CHARY calculation and CCX,CCY
34 *
35 STEPX=WXSTR*5.5/NPCHXY
36 STEPY=WYSTR*5.5/NPCHXY
37 STEPZ=2.*TSPA(3)/NPCHZ
38 *
39 * Silicon thickness
40 *
41 D=2.*TSPA(3)
42 *
43 * Diffusion temperature (Volt)
44 *
45 TVX=0.04
46 TVY=0.02
47 *
48 * Volt (junction)
49 *
50 UD=50.
51 *
52 * Volt (external)
53 *
54 UU=100.
55 *
56 DO I=1,NPCHXY
57 X0=(I-0.5)*STEPX
58 C X1=-WXSTR/2.
59 C X2=WXSTR/2.
60 STRDIV=0.6
61 X1=-WXSTR*STRDIV
62 X2=WXSTR*STRDIV
63 X1_I=-WXSTR*(1.-STRDIV)
64 X2_I=WXSTR*(1.-STRDIV)
65 Y0=(I-0.5)*STEPY
66 Y1=-WYSTR/2.
67 Y2=WYSTR/2.
68 DO J=1,NPCHZ
69 Z0=(J-0.5)*STEPZ
70 SIG2X=-1.*D**2*TVX/UD*LOG(1.-2.*UD*(D-Z0)/(UU+UD)/D)
71 SIG2Y=-1.*D**2*TVY/UD*LOG(1.-2.*UD*(D-Z0)/(UU+UD)/D)
72 SIG1X=SQRT(SIG2X)
73 SIG1Y=SQRT(SIG2Y)
74 CHARX(I,J)=FREQ((X2-X0)/SIG1X)-FREQ((X1-X0)/SIG1X)
75 CHARX_I(I,J)=FREQ((X2_I-X0)/SIG1X)-FREQ((X1_I-X0)/SIG1X)
76 CHARY(I,J)=FREQ((Y2-Y0)/SIG1Y)-FREQ((Y1-Y0)/SIG1Y)
77 END DO
78 END DO
79 PX1=0.9 ! C1-x
80 PX2=0.5 ! C2-X
81 PY1=0.98 ! C1-Y
82 PY2=0.5 ! C2-Y
83 CCX(1)=PX1
84 CCX(2)=(1.-PX1)/2.*PX2
85 CCX(3)=(1.-PX1)/2.*(1-PX2)
86 CCY(1)=PY1
87 CCY(2)=(1.-PY1)/2.*PY2
88 CCY(3)=(1.-PY1)/2.*(1.-PY2)
89 *
90 * Store the USER parameters into the User's DIGI bank
91 *
92 JUNK = 0
93 JUNK = JUNK + 1
94 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = ADCX
95 JUNK = JUNK + 1
96 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = ADCY
97 JUNK = JUNK + 1
98 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = PIEDX
99 JUNK = JUNK + 1
100 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = PIEDY
101 JUNK = JUNK + 1
102 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = ENOISX
103 JUNK = JUNK + 1
104 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = ENOISY
105 JUNK = JUNK + 1
106 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = NPCHXY
107 JUNK = JUNK + 1
108 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = NPCHZ
109 JUNK = JUNK + 1
110 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = WXSTR
111 JUNK = JUNK + 1
112 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = WYSTR
113 JUNK = JUNK + 1
114 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = D
115 JUNK = JUNK + 1
116 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = TVX
117 JUNK = JUNK + 1
118 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = TVY
119 JUNK = JUNK + 1
120 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = UD
121 JUNK = JUNK + 1
122 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = UU
123 JUNK = JUNK + 1
124 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = PX1
125 JUNK = JUNK + 1
126 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = PX2
127 JUNK = JUNK + 1
128 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = PY1
129 JUNK = JUNK + 1
130 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = PY2
131 JUNK = JUNK + 1
132 IF(JUNK.LE.NUDSPE) UDSPE(JUNK) = STRDIV
133 *
134 IF(JUNK.EQ.NUDSPE) THEN
135 CALL GSDETU('SPE ',CNSED(ISSPE,IDTSPA),NUDSPE,UDSPE)
136 ELSE
137 WRITE(CHMAIL,10000) JUNK,NUDSPE
138 ENDIF
139 *
140 10000 FORMAT(' GPSDINI: Too many user`s DIGI parameter: NUDSPE=',
141 + I4,', NCOUNT=',I4)
142 RETURN
143 END

  ViewVC Help
Powered by ViewVC 1.1.23