/[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.1.1.1 by cafagna, Thu Jul 11 16:02:14 2002 UTC revision 3.3 by cafagna, Tue Jun 21 02:42:04 2005 UTC
# Line 1  Line 1 
1  *  *
2  * $Id$  * $Id: gpucal.F,v 3.2 2003/12/17 11:32:48 pamela Exp $
3    *
4    * $Log: gpucal.F,v $
5    * Revision 3.2  2003/12/17 11:32:48  pamela
6    * CALO SIMULATION COMPLETED: geometry and special tracking parameters updated and simulation checked by a comparison with the Trieste's standalone Monte Carlo simulation
7    *
8    * Revision 3.1.1.1  2002/07/11 16:02:14  cafagna
9    * First GPAMELA release on CVS
10  *  *
 * $Log$  
11  *  *
12  *CMZ :  2.03/00 31/10/2000  10.57.01  by  Francesco Cafagna  *CMZ :  2.03/00 31/10/2000  10.57.01  by  Francesco Cafagna
13  *CMZ :  2.01/00 05/04/2000  14.35.18  by  Marialuigia Ambriola  *CMZ :  2.01/00 05/04/2000  14.35.18  by  Marialuigia Ambriola
# Line 40  Line 46 
46  ************************************************************************  ************************************************************************
47  #include "gphit.inc"  #include "gphit.inc"
48  #include "gcunit.inc"  #include "gcunit.inc"
49    *ml: (19/02/03)
50    #include "gckine.inc"
51    #include "gcflag.inc"
52    #include "gpencal.inc"
53    *end ml
54  *EM:  *EM:
55        PARAMETER (CALIB=0.0001085200)        PARAMETER (CALIB=0.0001085200)
56  *END EM.  *END EM.
57        INTEGER IACT,IS,ID,IPA,IT,NUMVOL(20),IMEC,IDHIT        INTEGER IACT,IS,ID,IPA,IT,NUMVOL(20),IMEC,IDHIT
58        REAL DELOSS,PATH,TRAPAR(7),VHIT(NHCAL),XYZM(3),XYZD(3)        REAL DELOSS,PATH,TRAPAR(7),VHIT(NHCAL),XYZM(3),XYZD(3)
59    *      REAL DELOSS,PATH,TRAPAR(7),XYZM(3),XYZD(3)
60        REAL DELTA2,SIGMA2,SIGMA,GRNDM0,GPGAUS,PATHINI        REAL DELTA2,SIGMA2,SIGMA,GRNDM0,GPGAUS,PATHINI
61        LOGICAL SAVE        LOGICAL SAVE
62  *  *
63    *ml (19/02/02):
64          INTEGER IPL,IMOD,IST
65          DATA IEVOLD/-1/
66    *
67    * It's a new event
68    *
69          IF(IEVOLD.NE.IEVENT) THEN
70    c         print*,'IS,ID,NUMVOL=',IS,ID,NUMVOL
71    c         print*,'GPUCAL:last event=',ievold
72             IEVOLD=IEVENT
73             CALL VZERO(ENEMAT,44*9*32)
74          ENDIF
75    *end ml.
76    *
77  * Track is inside a volume  * Track is inside a volume
78  *  *
79        IF(IACT.EQ.0) THEN        IF(IACT.EQ.0) THEN
80           IF(IMEC.GT.0) THEN           IF(IMEC.GT.0) THEN
81              SAVE = .TRUE.              SAVE = .TRUE.
82  *EM:  *EM:
83              VHIT(4) = (DELOSS/CALIB) + VHIT(4)  cccc            VHIT(4) = (DELOSS/CALIB) + VHIT(4)
84  *            VHIT(4) = DELOSS + VHIT(4)  * END EM
85  *END EM  C ML
86                VHIT(4) = DELOSS + VHIT(4)
87                ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=
88         +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS
89    *END ML
90           ENDIF           ENDIF
91        ENDIF        ENDIF
92  *  *
# Line 71  Line 101 
101           IF(IMEC.GT.0) THEN           IF(IMEC.GT.0) THEN
102              SAVE = .TRUE.              SAVE = .TRUE.
103  *EM:  *EM:
104              VHIT(4) = DELOSS/CALIB  c            VHIT(4) = DELOSS/CALIB
105  *            VHIT(4) = DELOSS  *END EM.
106  *END EM              VHIT(4) = DELOSS
107    C ML:
108                ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=
109         +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS
110    *END ML
111           ENDIF           ENDIF
112           IDHIT = -1           IDHIT = -1
113  * Store the particle and momentum if is the first track  * Store the particle and momentum if is the first track
# Line 90  c         ENDIF Line 124  c         ENDIF
124           IF(IMEC.GT.0) THEN           IF(IMEC.GT.0) THEN
125              SAVE = .TRUE.              SAVE = .TRUE.
126  *EM:  *EM:
127              VHIT(4) = (DELOSS/CALIB) + VHIT(4)  c            VHIT(4) = (DELOSS/CALIB) + VHIT(4)
128  *            VHIT(4) = DELOSS + VHIT(4)  *END EM
129                VHIT(4) = DELOSS + VHIT(4)
130    *ML:
131                ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=
132         +           ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS
133  *END EM  *END EM
134           ENDIF           ENDIF
135  #if defined(GPAMELA_NOGFLUCT)  #if defined(GPAMELA_NOGFLUCT)
# Line 109  c         ENDIF Line 147  c         ENDIF
147              SIGMA=SQRT(SIGMA2)              SIGMA=SQRT(SIGMA2)
148              GRNDM0 = GPGAUS(0.)              GRNDM0 = GPGAUS(0.)
149  *EM:  *EM:
150              VHIT(4)=VHIT(4)+GRNDM0*SIGMA/CALIB  c            VHIT(4)=VHIT(4)+GRNDM0*SIGMA/CALIB
151  c            VHIT(4)=VHIT(4)+GRNDM0*SIGMA  CML17/04/03            VHIT(4)=VHIT(4)+GRNDM0*SIGMA
152  *END EM  *END EM
153              IF(VHIT(4).LT.0.) VHIT(4)=0.  CML17/04/03            IF(VHIT(4).LT.0.) VHIT(4)=0.
154           ENDIF           ENDIF
155  #endif  #endif
156  *  *
# Line 121  c            VHIT(4)=VHIT(4)+GRNDM0*SIGM Line 159  c            VHIT(4)=VHIT(4)+GRNDM0*SIGM
159           IF(IDHIT.EQ.-1) THEN           IF(IDHIT.EQ.-1) THEN
160  *ML:  *ML:
161  *            IF(SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,4,IDHIT)  *            IF(SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,4,IDHIT)
162              IF(SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)              IF(SAVE) THEN
163                   CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)
164    c               CALL GSAHIT (IS,ID,IT,NUMVOL,VHIT,IDHIT)
165                ENDIF
166  *END ML.  *END ML.
167              IF (IDHIT.EQ.0) THEN              IF (IDHIT.EQ.0) THEN
168                 WRITE(CHMAIL,10000) IS,ID,IT                 WRITE(CHMAIL,10000) IS,ID,IT
# Line 143  c            VHIT(4)=VHIT(4)+GRNDM0*SIGM Line 184  c            VHIT(4)=VHIT(4)+GRNDM0*SIGM
184              IF(IMEC.GT.0) THEN              IF(IMEC.GT.0) THEN
185                 SAVE = .TRUE.                 SAVE = .TRUE.
186  *EM:  *EM:
187                 VHIT(4) = (DELOSS/CALIB) + VHIT(4)  c               VHIT(4) = (DELOSS/CALIB) + VHIT(4)
188  c               VHIT(4) = DELOSS + VHIT(4)  * END EM.
189  *END EM                 VHIT(4) = DELOSS + VHIT(4)
190    *ML:
191                   ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))=
192         +              ENEMAT(NUMVOL(1),NUMVOL(2),NUMVOL(3))+DELOSS
193    *END ML.
194              ENDIF              ENDIF
195  #if defined(GPAMELA_NOGFLUCT)  #if defined(GPAMELA_NOGFLUCT)
196  *  *
# Line 162  c               VHIT(4) = DELOSS + VHIT( Line 207  c               VHIT(4) = DELOSS + VHIT(
207                 SIGMA=SQRT(SIGMA2)                 SIGMA=SQRT(SIGMA2)
208                 GRNDM0 = GPGAUS(0.)                 GRNDM0 = GPGAUS(0.)
209  *EM:  *EM:
210                 VHIT(4)=VHIT(4)+GRNDM0*SIGMA/CALIB  c               VHIT(4)=VHIT(4)+GRNDM0*SIGMA/CALIB
211  c               VHIT(4)=VHIT(4)+GRNDM0*SIGMA  CML17/04/03               VHIT(4)=VHIT(4)+GRNDM0*SIGMA
212  *END EM.  *END EM.
213                 IF(VHIT(4).LT.0.) VHIT(4)=0.  CML17/04/03               IF(VHIT(4).LT.0.) VHIT(4)=0.
214              ENDIF              ENDIF
215  #endif  #endif
216  *  *
# Line 173  c               VHIT(4)=VHIT(4)+GRNDM0*S Line 218  c               VHIT(4)=VHIT(4)+GRNDM0*S
218  *  *
219              IF(IDHIT.EQ.-1) THEN              IF(IDHIT.EQ.-1) THEN
220  *ML  *ML
221  *               IF (SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,4,IDHIT)  C               IF (SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,4,IDHIT)
222                 IF (SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)                 IF (SAVE) THEN
223                      CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)
224                   ENDIF
225    CL               IF (SAVE) CALL GSCHIT (IS,ID,1,NUMVOL,VHIT,1,IDHIT)
226  *END ML.  *END ML.
227                 IF (IDHIT.EQ.0) THEN                 IF (IDHIT.EQ.0) THEN
228                    WRITE(CHMAIL,10200) IS,ID,IT                    WRITE(CHMAIL,10200) IS,ID,IT

Legend:
Removed from v.3.1.1.1  
changed lines
  Added in v.3.3

  ViewVC Help
Powered by ViewVC 1.1.23