/[PAMELA software]/gpamela/gpcal/gpucal.F
ViewVC logotype

Diff of /gpamela/gpcal/gpucal.F

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3.2 by pamela, Wed Dec 17 11:32:48 2003 UTC revision 3.4 by cafagna, Wed Dec 14 03:13:53 2005 UTC
# Line 1  Line 1 
1  *  *
2  * $Id: gpucal.F,v 3.1.1.1 2002/07/11 16:02:14 cafagna Exp $  * $Id: gpucal.F,v 3.3 2005/06/21 02:42:04 cafagna Exp $
3  *  *
4  * $Log: gpucal.F,v $  * $Log: gpucal.F,v $
5    * Revision 3.3  2005/06/21 02:42:04  cafagna
6    * Major modification to the geometry and to the random number chain
7    *
8    * Revision 3.2  2003/12/17 11:32:48  pamela
9    * CALO SIMULATION COMPLETED: geometry and special tracking parameters updated and simulation checked by a comparison with the Trieste's standalone Monte Carlo simulation
10    *
11  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna  * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna
12  * First GPAMELA release on CVS  * First GPAMELA release on CVS
13  *  *
# Line 52  Line 58 
58        PARAMETER (CALIB=0.0001085200)        PARAMETER (CALIB=0.0001085200)
59  *END EM.  *END EM.
60        INTEGER IACT,IS,ID,IPA,IT,NUMVOL(20),IMEC,IDHIT        INTEGER IACT,IS,ID,IPA,IT,NUMVOL(20),IMEC,IDHIT
61  CML17/04/03      REAL DELOSS,PATH,TRAPAR(7),VHIT(NHCAL),XYZM(3),XYZD(3)        REAL DELOSS,PATH,TRAPAR(7),VHIT(NHCAL),XYZM(3),XYZD(3)
62        REAL DELOSS,PATH,TRAPAR(7),XYZM(3),XYZD(3)  *      REAL DELOSS,PATH,TRAPAR(7),XYZM(3),XYZD(3)
63        REAL DELTA2,SIGMA2,SIGMA,GRNDM0,GPGAUS,PATHINI        REAL DELTA2,SIGMA2,SIGMA,GRNDM0,GPGAUS,PATHINI
64        LOGICAL SAVE        LOGICAL SAVE
65  *  *
# Line 63  CML17/04/03      REAL DELOSS,PATH,TRAPAR Line 69  CML17/04/03      REAL DELOSS,PATH,TRAPAR
69  *  *
70  * It's a new event  * It's a new event
71  *  *
72        IF(IEVOLD.NE.IEVENT) THEN  C #       IF(IEVOLD.NE.IEVENT) THEN
73  c         print*,'IS,ID,NUMVOL=',IS,ID,NUMVOL  C # c         print*,'IS,ID,NUMVOL=',IS,ID,NUMVOL
74  c         print*,'GPUCAL:last event=',ievold  C # c         print*,'GPUCAL:last event=',ievold
75    C #          IEVOLD=IEVENT
76    C #          CALL VZERO(ENEMAT,44*9*32)
77    C #       ENDIF
78    
79    C # Please note that ENEMAT is zeroed just on the very first event here.
80    C # Then is cleared into GUTREV on an event by event basis.
81          IF(IEVOLD.EQ.-1) THEN
82           IEVOLD=IEVENT           IEVOLD=IEVENT
83           CALL VZERO(ENEMAT,44*9*32)           CALL VZERO(ENEMAT,44*9*32)
84        ENDIF        ENDIF
85    
86  *end ml.  *end ml.
87  *  *
88  * Track is inside a volume  * Track is inside a volume
# Line 80  c         print*,'GPUCAL:last event=',ie Line 94  c         print*,'GPUCAL:last event=',ie
94  cccc            VHIT(4) = (DELOSS/CALIB) + VHIT(4)  cccc            VHIT(4) = (DELOSS/CALIB) + VHIT(4)
95  * END EM  * END EM
96  C ML  C ML
97  CML17/04/03            VHIT(4) = DELOSS + VHIT(4)              VHIT(4) = DELOSS + VHIT(4)
98              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=
99       +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS       +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS
100  *END ML  *END ML
# Line 91  CML17/04/03            VHIT(4) = DELOSS Line 105  CML17/04/03            VHIT(4) = DELOSS
105  *  *
106        IF(IACT.EQ.1) THEN        IF(IACT.EQ.1) THEN
107           SAVE = .FALSE.           SAVE = .FALSE.
108  CML17/04/03         CALL VZERO(VHIT,NHCAL)           CALL VZERO(VHIT,NHCAL)
109  CML17/04/03         DO I=1,3           DO I=1,3
110  CML17/04/03            VHIT(I) = TRAPAR(I)              VHIT(I) = TRAPAR(I)
111  CML17/04/03         ENDDO           ENDDO
112           IF(IMEC.GT.0) THEN           IF(IMEC.GT.0) THEN
113              SAVE = .TRUE.              SAVE = .TRUE.
114  *EM:  *EM:
115  c            VHIT(4) = DELOSS/CALIB  c            VHIT(4) = DELOSS/CALIB
116  *END EM.  *END EM.
117  CML17/04/03            VHIT(4) = DELOSS              VHIT(4) = DELOSS
118  C ML:  C ML:
119              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=
120       +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS       +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS
# Line 123  c         ENDIF Line 137  c         ENDIF
137  *EM:  *EM:
138  c            VHIT(4) = (DELOSS/CALIB) + VHIT(4)  c            VHIT(4) = (DELOSS/CALIB) + VHIT(4)
139  *END EM  *END EM
140  CML17/04/03            VHIT(4) = DELOSS + VHIT(4)              VHIT(4) = DELOSS + VHIT(4)
141  *ML:  *ML:
142              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=
143       +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS       +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS
# Line 156  CML17/04/03            IF(VHIT(4).LT.0.) Line 170  CML17/04/03            IF(VHIT(4).LT.0.)
170           IF(IDHIT.EQ.-1) THEN           IF(IDHIT.EQ.-1) THEN
171  *ML:  *ML:
172  *            IF(SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,4,IDHIT)  *            IF(SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,4,IDHIT)
173  CL            IF(SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)              IF(SAVE) THEN
174                   CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)
175    c               CALL GSAHIT (IS,ID,IT,NUMVOL,VHIT,IDHIT)
176                ENDIF
177  *END ML.  *END ML.
178              IF (IDHIT.EQ.0) THEN              IF (IDHIT.EQ.0) THEN
179                 WRITE(CHMAIL,10000) IS,ID,IT                 WRITE(CHMAIL,10000) IS,ID,IT
# Line 180  CL            IF(SAVE) CALL GSCHIT (IS,I Line 197  CL            IF(SAVE) CALL GSCHIT (IS,I
197  *EM:  *EM:
198  c               VHIT(4) = (DELOSS/CALIB) + VHIT(4)  c               VHIT(4) = (DELOSS/CALIB) + VHIT(4)
199  * END EM.  * END EM.
200  CML17/04/03               VHIT(4) = DELOSS + VHIT(4)                 VHIT(4) = DELOSS + VHIT(4)
201  *ML:  *ML:
202                 ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=                 ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=
203       +              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS       +              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS
# Line 212  CML17/04/03               IF(VHIT(4).LT. Line 229  CML17/04/03               IF(VHIT(4).LT.
229  *  *
230              IF(IDHIT.EQ.-1) THEN              IF(IDHIT.EQ.-1) THEN
231  *ML  *ML
232  *               IF (SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,4,IDHIT)  C               IF (SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,4,IDHIT)
233                   IF (SAVE) THEN
234                      CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)
235                   ENDIF
236  CL               IF (SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)  CL               IF (SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)
237  *END ML.  *END ML.
238                 IF (IDHIT.EQ.0) THEN                 IF (IDHIT.EQ.0) THEN

Legend:
Removed from v.3.2  
changed lines
  Added in v.3.4

  ViewVC Help
Powered by ViewVC 1.1.23