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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Thu Nov 29 16:11:54 2007 UTC (17 years ago) by mocchiut
Branch: MAIN
CVS Tags: v5r00
Changes since 1.2: +6 -4 lines
More bugs related to plane shifting fixed

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

  ViewVC Help
Powered by ViewVC 1.1.23