/[PAMELA software]/calo/flight/CaloDoubleShower/src/dblsc.for
ViewVC logotype

Annotation of /calo/flight/CaloDoubleShower/src/dblsc.for

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download)
Tue Aug 4 13:59:09 2009 UTC (15 years, 4 months ago) by mocchiut
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +4 -2 lines
Changed to work with GCC 4.x (gfortran) + ROOT >= 5.24

1 mocchiut 1.1 SUBROUTINE DBLSC(INDIC,QQQ,DEVT)
2     C----------------------------------------------------------------------
3     C-
4     C- Purpose and Methods :
5     C-
6     C- Inputs :
7     C- Outputs :
8     C- Controls:
9     C-
10     C- Created 31-JAN-1995 MIRKO BOEZIO
11     C-
12     C----------------------------------------------------------------------
13     IMPLICIT NONE
14    
15     INCLUDE 'INTEST.TXT'
16    
17     INTEGER J,K,L,M,INDIC,NGIR,ISTOP
18     INTEGER LK,LVMIN,DBLS
19     REAL A,B,VAR
20     REAL QQQ,DAT,DAD,RR,DD
21     REAL POS,ANGOL,DBLSQ
22     REAL DEVT
23     REAL RIL(NCHA/2)
24     REAL YY(2),XX(2)
25     REAL DBNCL(4)
26     REAL DBCLUS(4,NCHA)
27     REAL DIST
28     C
29     REAL CX,CY, PIANO(NPLAV)
30     REAL BAR(2,NPLAV),SHIFT
31     INTEGER ITL, LPIANO
32     INTEGER II
33     INTEGER IBAR(2,NPLAV)
34     C
35     COMMON / SHIFT / SHIFT
36     SAVE / SHIFT /
37     C
38     COMMON / ANGOLO / BAR, IBAR
39     SAVE / ANGOLO /
40     C
41     COMMON / WHERE / CX, CY, PIANO
42     SAVE / WHERE /
43     C
44     COMMON /SDOUBLE/ POS,ANGOL,DBLSQ,DBLS
45     SAVE / SDOUBLE /
46     C
47     C Begin!
48     C
49     LPIANO = NPLA / 2
50     C
51     DO K = 1,NCHA/2
52     RIL(K) = 1000.
53     ENDDO
54     C
55     DO J = 1,4
56     DO K = 1,NCHA
57     DBCLUS(J,K) = CLUS4(1,J,K)
58     ENDDO
59     DBNCL(J) = NCL4(1,J)
60     ENDDO
61     C
62     QQQ = 0.
63     INDIC = 0
64     NGIR = 0
65     M = 1
66     C
67     DO 5 J = 1,2
68     C
69     IF (J.EQ.1) ITL = (LPIANO-6 + 1) / 2
70     IF (J.EQ.2) ITL = (LPIANO + LPIANO-6 + 1) / 2
71    
72     DAD = BAR(M,ITL)
73     C
74     NGIR = NCL4(M,J)
75     IF (NGIR.EQ.0) GO TO 5
76     DO L = 1,NGIR
77     RR = ABS(DAD - CLUS4(M,J,L))
78     DD = CLUS4(M,J,L)
79     IF (RR.LE.10) THEN
80     DBNCL(J) = DBNCL(J) - 1
81     DBCLUS(J,L) = 0.
82     DBCLUS(J,L+NCHA/2) = 0.
83     ENDIF
84     ENDDO
85     C
86     5 CONTINUE
87     C
88     DO J = 1,2
89     C
90     IF (J.EQ.1) ITL = (LPIANO-6 + 1) / 2
91     IF (J.EQ.2) ITL = (LPIANO + LPIANO-6 + 1) / 2
92     C
93     C CHE COS'E' QUESTO DIST?
94     C
95     II = MOD((ITL-1),2)
96     DIST = II * 8.09 + INT((ITL-1)/2) * (8.09 + 10.09)
97     IF (M.EQ.1) DIST = -DIST - 0.68 - 5.81
98     C
99     DAT = DIST * ANGOL
100     C
101     DAD = POS + DAT
102     C
103     NGIR = NCL4(M,J)
104     C
105     IF (NGIR.GE.1) THEN
106     DO L = 1,NGIR
107     RIL(L) = ABS(DAD - DBCLUS(J,L))
108     RR = RIL(L)
109     IF (RIL(L).LE.15.AND.DBCLUS(J,L).NE.0) THEN
110     QQQ = QQQ + DBCLUS(J,L+NCHA/2)
111     ENDIF
112     ENDDO
113     LK = LVMIN(RIL,NCHA/2)
114     IF (RIL(LK).LE.10.AND.DBCLUS(J,LK).NE.0) THEN
115     YY(J) = DBCLUS(J,LK)
116     ENDIF
117 mocchiut 1.2 c 7 ENDIF
118     ENDIF
119 mocchiut 1.1 ENDDO
120     C
121     CALL LFIT(XX,YY,2,0,A,B,VAR)
122     DEVT = ANGOL - A
123     C
124     DO K = 1,NCHA/2
125     RIL(K) = 1000.
126     ENDDO
127     C
128     ISTOP = 0
129     C
130     IF (QQQ.GT.30.AND.ISTOP.EQ.0) INDIC = 1
131     C
132 mocchiut 1.2 c 999 RETURN
133     RETURN
134 mocchiut 1.1 END

  ViewVC Help
Powered by ViewVC 1.1.23