/[PAMELA software]/DarthVader/CalorimeterLevel2/src/cluster4.for
ViewVC logotype

Annotation of /DarthVader/CalorimeterLevel2/src/cluster4.for

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Fri Aug 10 08:01:27 2007 UTC (17 years, 3 months ago) by mocchiut
Branch: MAIN
CVS Tags: v4r00
Calorimeter routine cluster4 added

1 mocchiut 1.1 C
2     C----------------------------------------------------------------------
3     SUBROUTINE CLUSTER4
4     C----------------------------------------------------------------------
5     C-
6     C- Purpose and Methods : IT WORKS AS CLUSTER BUT USING TWO PARTS OF THE
7     C- CALORIMETER (LAYERS 1 - 4 AND LAYERS 5 - 8) INSTEAD OF THE 8
8     C- LAYERS .
9     C-
10     C- Created 25-FEB-1995 MIRKO BOEZIO
11     C- Modified 30-MAR-1995 MIRKO BOEZIO . CORRECTED AN ERROR IN THE
12     C- DEFINITION OF THE TWO PARTS , OTHERWISE IT WAS LAYERS 1 - 5 AND
13     C- LAYERS 6 - 8 .
14     C-
15     C----------------------------------------------------------------------
16     INCLUDE 'INTEST.TXT'
17    
18     REAL QQQ(NCHA)
19     COMMON / SHIFT / SHIFT
20     SAVE / SHIFT /
21     C
22     DO J = 1,4
23     DO N = 1,2
24     DO M = 1,NCHA
25     CLUS4(N,J,M) = 0.
26     ENDDO
27     NCL4(N,J) = 0
28     ENDDO
29     ENDDO
30     C
31     LPIANO = NPLA / 2
32     C
33     DO N = 1,2
34     DO J = 1,4
35     DO M = 1,NCHA
36     QQQ(M) = 0.
37     DO L = 1,NPLA
38     NLK = (M - 1) * NPLA + L
39     EN = DEXY(N,L,M)
40     IF (EN.GT.EMIN.AND.J.EQ.1.AND.L.LE.(LPIANO-6)) THEN
41     QQQ(M) = QQQ(M) + EN
42     ENDIF
43     IF (EN.GT.EMIN.AND.J.EQ.2.AND.L.GT.(LPIANO-6).AND.L.LE.
44     + LPIANO) THEN
45     QQQ(M) = QQQ(M) + EN
46     ENDIF
47     IF (EN.GT.EMIN.AND.J.EQ.3.AND.L.GT.LPIANO.AND.L.LE.
48     + (LPIANO+6)) THEN
49     QQQ(M) = QQQ(M) + EN
50     ENDIF
51     IF (EN.GT.EMIN.AND.J.EQ.4.AND.L.GT.(LPIANO+6)) THEN
52     QQQ(M) = QQQ(M) + EN
53     ENDIF
54     ENDDO
55     ENDDO
56     C
57     IGIRO = 0.
58     C
59     50 CONTINUE
60     MAX = LVMAX(QQQ,NCHA)
61     IF (QQQ(MAX).LT.EMIN) GO TO 100
62     MSTR = MAX
63     55 CONTINUE
64     MSTR = MSTR + 1
65     IF (MSTR.GT.NCHA) GO TO 56
66     IF (QQQ(MSTR).GT.EMIN) GO TO 55
67     56 CONTINUE
68     IB = MSTR - 1
69     C
70     MSTR = MAX
71     65 CONTINUE
72     MSTR = MSTR - 1
73     IF (MSTR.LT.1) GO TO 66
74     IF (QQQ(MSTR).GT.EMIN) GO TO 65
75     66 CONTINUE
76     IA = MSTR + 1
77     C
78     NN = 0
79     IF (M.EQ.2) NN = 1
80     IF (MOD(I,2).EQ.NN) THEN
81     IF (REVERSE.EQ.0) THEN
82     SHIFT = +0.5
83     ELSE
84     SHIFT = -0.5
85     ENDIF
86     ELSE
87     IF (REVERSE.EQ.0) THEN
88     SHIFT = -0.5
89     ELSE
90     SHIFT = +0.5
91     ENDIF
92     ENDIF
93     CALL BARIC(QQQ,IA,IB,BAR,ENE,IERR1)
94     IGIRO = IGIRO + 1
95     IGI = IGIRO + NCHA / 2
96     CLUS4(N,J,IGIRO) = BAR
97     CLUS4(N,J,IGI) = ENE
98     C
99     DO LL = IA,IB
100     QQQ(LL) = 0.
101     ENDDO
102     GO TO 50
103     C
104     100 CONTINUE
105     NCL4(N,J) = IGIRO
106     ENDDO
107     ENDDO
108     C
109     RETURN
110     END

  ViewVC Help
Powered by ViewVC 1.1.23