--- gpamela/gpspe/gpdspe.F 2006/04/09 23:29:19 3.8 +++ gpamela/gpspe/gpdspe.F 2006/05/02 12:00:24 3.9 @@ -1,7 +1,10 @@ * -* $Id: gpdspe.F,v 3.7 2006/02/07 11:38:52 bottai Exp $ +* $Id: gpdspe.F,v 3.8 2006/04/09 23:29:19 cafagna Exp $ * * $Log: gpdspe.F,v $ +* Revision 3.8 2006/04/09 23:29:19 cafagna +* Several new things, among this: ND and CARD +* * Revision 3.7 2006/02/07 11:38:52 bottai * test of mail delivery * @@ -49,6 +52,9 @@ #include "gpspe.inc" #include "gpsed.inc" #include "gpkey.inc" +*et. 04/11/2005 +#include "gpstripspe.inc" +*end et. * INTEGER IS,ID,NV,NVM,GPNHIT,NTHIT,NHFRST CHARACTER*4 CSET @@ -62,6 +68,52 @@ REAL VPOS(3),BMAGNET(3),ANGLEX,ANGLEY,XMULT,YMULT,DXPOS,DYPOS * DATA NTRA,LTRA/1,1/ + +*et. 04/11/2005 +* +* +* Vector zeroed +* + CALL VZERO(ISTRIPX,MAXSTR) + CALL VZERO(NPSTRIPX,MAXSTR) + CALL VZERO(NTSTRIPX,MAXSTR) + CALL VZERO(QSTRIPX,MAXSTR) + CALL VZERO(XSTRIPX,MAXSTR) + CALL VZERO(ISTRIPY,MAXSTR) + CALL VZERO(NPSTRIPY,MAXSTR) + CALL VZERO(NTSTRIPY,MAXSTR) + CALL VZERO(QSTRIPY,MAXSTR) + CALL VZERO(YSTRIPY,MAXSTR) + NSTRPX=0 + NSTRPY=0 + +* + + do ip=1,nplanes + do iip=1,nsensors + isignyesx=0 + isignyesy=0 + do iiip=1,nstripx + if(proxtanti(ip,iip,iiip).gt.0) then + isignyesx=1 + GO TO 456 + endif + enddo + do iiip=1,nstripy + if(proytanti(ip,iip,iiip).gt.0) then + isignyesy=1 + GO TO 456 + endif + enddo +456 if(isignyesx.eq.1.or.isignyesy.eq.1) then + call gpucollection(ip,iip) + endif + enddo + enddo + + + + * * * Vector zeroed @@ -69,6 +121,8 @@ CALL VZERO(ITRPB ,NHM) CALL VZERO(ITRSL ,NHM) CALL VZERO(ITSPA ,NHM) + CALL VZERO(NXMULT ,NHM) + CALL VZERO(NYMULT ,NHM) CALL VZERO(XTSPA,NHM) CALL VZERO(YTSPA,NHM) CALL VZERO(ZTSPA,NHM) @@ -159,36 +213,37 @@ PATHSPE(I) = VHITS(8,I) IPARSPE(I) = VHITS(9,I) P0SPE (I) = VHITS(10,I) - IF(FFIELD.NE.0) THEN + C C ADD RESOLUTION SIMULATION TO XAVSPE C - ANGLEX=0. - ANGLEY=0. - IF(ZOUTSPE(I).NE.ZINSPE(I)) THEN - ANGLEX=RADDEG*ATAN( ABS(XOUTSPE(I)-XINSPE(I) )/ - + ABS(ZOUTSPE(I)-ZINSPE(I) ) ) - ANGLEY=RADDEG*ATAN( ABS(YOUTSPE(I)-YINSPE(I) )/ - + ABS(ZOUTSPE(I)-ZINSPE(I) ) ) - ENDIF + ANGLEX=0. + ANGLEY=0. + IF(ZOUTSPE(I).NE.ZINSPE(I)) THEN + ANGLEX=RADDEG*ATAN( ABS(XOUTSPE(I)-XINSPE(I) )/ + + ABS(ZOUTSPE(I)-ZINSPE(I) ) ) + ANGLEY=RADDEG*ATAN( ABS(YOUTSPE(I)-YINSPE(I) )/ + + ABS(ZOUTSPE(I)-ZINSPE(I) ) ) + ENDIF - VPOS(1)=XAVSPE(I) - VPOS(2)=YAVSPE(I) - VPOS(3)=ZAVSPE(I) - CALL GUFLD(VPOS,BMAGNET) + VPOS(1)=XAVSPE(I) + VPOS(2)=YAVSPE(I) + VPOS(3)=ZAVSPE(I) + CALL GUFLD(VPOS,BMAGNET) - CALL GPRSPE(ANGLEX,ANGLEY,BMAGNET,XMULT,YMULT,DXPOS,DYPOS) + CALL GPRSPE(ANGLEX,ANGLEY,BMAGNET,XMULT,YMULT,DXPOS,DYPOS) - NXMULT(I)=INT(XMULT) - NYMULT(I)=INT(YMULT) + NXMULT(I)=INT(XMULT) + NYMULT(I)=INT(YMULT) - XAVSPE(I) = XAVSPE(I) + DXPOS - YAVSPE(I) = YAVSPE(I) + DYPOS + XAVSPE(I) = XAVSPE(I) + DXPOS + YAVSPE(I) = YAVSPE(I) + DYPOS C C ADD THE SHIFT INDUCED BY THE MAG. FIELD C - + IF(FFIELD.NE.0) THEN + IF(ITRPB(I).LT.6) THEN XAVSPE(I) = XAVSPE(I) - 2.64e-4/4.5*BMAGNET(2) ELSE IF(ITRPB(I).EQ.6) THEN