--- gpamela/gptof/gptofv.F 2005/06/21 02:42:29 3.2 +++ gpamela/gptof/gptofv.F 2006/05/02 10:40:13 3.4 @@ -1,7 +1,13 @@ * -* $Id: gptofv.F,v 3.1.1.1 2002/07/11 16:02:01 cafagna Exp $ +* $Id: gptofv.F,v 3.3 2006/04/09 23:29:22 cafagna Exp $ * * $Log: gptofv.F,v $ +* Revision 3.3 2006/04/09 23:29:22 cafagna +* Several new things, among this: ND and CARD +* +* Revision 3.2 2005/06/21 02:42:29 cafagna +* Major modification to the geometry and to the random number chain +* * Revision 3.1.1.1 2002/07/11 16:02:01 cafagna * First GPAMELA release on CVS * @@ -25,31 +31,56 @@ INTEGER IROT,IVOLU,N,NMED,NUM REAL X,Y,Z * + NMED=MAL +* +* Define the S1 volume +* + CALL GSVOLU('S1 ','BOX ',NMED,S1, 3,IVOLU) +* +* Define the S2 volume +* + CALL GSVOLU('S2 ','BOX ',NMED,S2, 3,IVOLU) +* NMED=MN2 * -* Define the S11 volume +* Define the S1A volume +* + CALL GSVOLU('S1A ','BOX ',NMED,S1A, 3,IVOLU) +* +* Define the S2A volume +* + CALL GSVOLU('S2A ','BOX ',NMED,S2A, 3,IVOLU) +* +* Define the S3A volume * - CALL GSVOLU('S11 ','BOX ',NMED,S11, 3,IVOLU) + CALL GSVOLU('S3A ','BOX ',NMED,S3A, 3,IVOLU) * -* Define the S12 volume + NMED=MMYL * - CALL GSVOLU('S12 ','BOX ',NMED,S12, 3,IVOLU) +* Define the S11M volume * -* Define the S21 volume + CALL GSVOLU('S11M','BOX ',NMED,S11M, 3,IVOLU) * - CALL GSVOLU('S21 ','BOX ',NMED,S21, 3,IVOLU) +* Define the S12M volume * -* Define the S22 volume + CALL GSVOLU('S12M','BOX ',NMED,S12M, 3,IVOLU) * - CALL GSVOLU('S22 ','BOX ',NMED,S22, 3,IVOLU) +* Define the S21M volume * -* Define the S31 volume + CALL GSVOLU('S21M','BOX ',NMED,S21M, 3,IVOLU) * - CALL GSVOLU('S31 ','BOX ',NMED,S31, 3,IVOLU) +* Define the S22M volume * -* Define the S32 volume + CALL GSVOLU('S22M','BOX ',NMED,S22M, 3,IVOLU) +* +* Define the S31M volume +* + CALL GSVOLU('S31M','BOX ',NMED,S31M, 3,IVOLU) +* +* Define the S32M volume +* + CALL GSVOLU('S32M','BOX ',NMED,S32M, 3,IVOLU) * - CALL GSVOLU('S32 ','BOX ',NMED,S32, 3,IVOLU) * * Change medium just for S4. * @@ -61,20 +92,14 @@ * * Start subvolume definition. * -c ml: 27/10/04: * -c* Define the S11X volume * Define the S11Y volume * -c CALL GSVOLU('S11X','BOX ',NMED,S11X, 3,IVOLU) CALL GSVOLU('S11Y','BOX ',NMED,S11Y, 3,IVOLU) * -c* Define the S12Y volume * Define the S12X volume * -c CALL GSVOLU('S12Y','BOX ',NMED,S12Y, 3,IVOLU) CALL GSVOLU('S12X','BOX ',NMED,S12X, 3,IVOLU) -c end ml. * * Define the S21X volume * @@ -92,25 +117,28 @@ * CALL GSVOLU('S32X','BOX ',NMED,S32X, 3,IVOLU) -c ml: 21/12/04: - NMED=MCF -* -* Define the SC11 volume -* - CALL GSVOLU('SC11','BOX ',NMED,SC11, 3,IVOLU) -* -* Define the SC12 volume -* - CALL GSVOLU('SC12','BOX ',NMED,SC12, 3,IVOLU) -* -* Define the SC21 volume -* - CALL GSVOLU('SC21','BOX ',NMED,SC21, 3,IVOLU) -* -* Define the SC22 volume -* - CALL GSVOLU('SC22','BOX ',NMED,SC22, 3,IVOLU) - +c$$$<<<<<<< gptofv.F +c$$$======= +c$$$c ml: 21/12/04: +c$$$ NMED=MAL +c$$$* +c$$$* Define the SC11 volume +c$$$* +c$$$ CALL GSVOLU('SC11','BOX ',NMED,SC11, 3,IVOLU) +c$$$* +c$$$* Define the SC12 volume +c$$$* +c$$$ CALL GSVOLU('SC12','BOX ',NMED,SC12, 3,IVOLU) +c$$$* +c$$$* Define the SC21 volume +c$$$* +c$$$ CALL GSVOLU('SC21','BOX ',NMED,SC21, 3,IVOLU) +c$$$* +c$$$* Define the SC22 volume +c$$$* +c$$$ CALL GSVOLU('SC22','BOX ',NMED,SC22, 3,IVOLU) +c$$$ +c$$$>>>>>>> 3.3 c* c* Define the STOF volume c* @@ -139,91 +167,122 @@ c CALL GSVOLU('SPV2','BOX ',NMED,SPV2, 3,IVOLU) cc end ml. * -* Define the SC31 volume -* - CALL GSVOLU('SC31','BOX ',NMED,SC31, 3,IVOLU) -* -* Define the SC32 volume -* - CALL GSVOLU('SC32','BOX ',NMED,SC32, 3,IVOLU) - -* * Positioning volumes * -c ml: 21/12/04: - Y= 0 - Z= 0 -c ml: 27/10/04: -c DO I=1,NS11X - DO I=1,NS11Y + X=0. + Y=0. + Z=0. + CALL GSPOS('S1A ',N,'S1 ',X,Y,Z,0,'ONLY') +* + X=0. + Z=-S1A(3)+HGLUTOF+HPVCMIN+S12M(3) + DO I=1,NS12X N= I -c X= -S11(1) + (2*I-1)*S11X(1) - X= -S11(1) + (2*I-1)*S11Y(1) -c CALL GSPOS('S11X',N,'S11 ',X,Y,Z,0,'ONLY') - CALL GSPOS('S11Y',N,'S11 ',X,Y,Z,0,'ONLY') + Y= -S1A(2) + HMYLTOF + (2*I-1)*S12M(2) + CALL GSPOS('S12M',N,'S1A ',X,Y,Z,0,'ONLY') ENDDO -c end ml. - X= 0. Y= 0. - DO I=1,2 + Z=-S1A(3)+HGLUTOF+HPVCMIN+2*S12M(3)+S11M(3) + DO I=1,NS11Y N= I - Z= (-1.)**I*S11(3) + (-1.)**(I+1)*SC11(3) - CALL GSPOS('SC11',N,'S11 ',X,Y,Z,0,'ONLY') + X= -S1A(1) + HMYLTOF + (2*I-1)*S11M(1) + CALL GSPOS('S11M',N,'S1A ',X,Y,Z,0,'ONLY') ENDDO +C Z=-S1A(3)+HGLUTOF+HPVCMAX+S12M(3) +C CALL GSPOS('S12M',N,'S1A ',X,Y,Z,0,'ONLY') +C Z=-S1A(3)+HGLUTOF+0.4+2*S12M(3)+S11M(3) +C CALL GSPOS('S11M',N,'S1A ',X,Y,Z,0,'ONLY') +* + X=0. + Y=0. + Z=0. + CALL GSPOS('S2A ',N,'S2 ',X,Y,Z,0,'ONLY') * - X= 0 - Z= 0 -c ml: 27/10/04 -c DO I=1,NS12Y - DO I=1,NS12X - N= I -c Y= -S12(2) + (2*I-1)*S12Y(2) - Y= -S12(2) + (2*I-1)*S12X(2) -c CALL GSPOS('S12Y',N,'S12 ',X,Y,Z,0,'ONLY') - CALL GSPOS('S12X',N,'S12 ',X,Y,Z,0,'ONLY') - ENDDO -c end ml. - X= 0. Y= 0. - DO I=1,2 + Z=-S2A(3)+HGLUTOF+S22M(3) + DO I=1,NS22Y N= I - Z= (-1.)**I*S12(3) + (-1.)**(I+1)*SC12(3) - CALL GSPOS('SC12',N,'S12 ',X,Y,Z,0,'ONLY') + X= -S2A(1) + HMYLTOF + (2*I-1)*S22M(1) + CALL GSPOS('S22M',N,'S2A ',X,Y,Z,0,'ONLY') ENDDO * - Y= 0 - Z= 0 + X= 0. + Z=-S2A(3)+HGLUTOF+2*S22M(3)+S21M(3) DO I=1,NS21X N= I -c ml: 27/10/04 X= -S21(1) + (2*I-1)*S21X(1) - Y= -S21(2) + (2*I-1)*S21X(2) -c end ml. - CALL GSPOS('S21X',N,'S21 ',X,Y,Z,0,'ONLY') + Y= -S2A(2) + HMYLTOF+ (2*I-1)*S21M(2) + CALL GSPOS('S21M',N,'S2A ',X,Y,Z,0,'ONLY') ENDDO +C Z=-S2A(3)+HGLUTOF+S22M(3) +C CALL GSPOS('S22M',N,'S2A ',X,Y,Z,0,'ONLY') +C Z=-S2A(3)+HGLUTOF+2*S22M(3)+S21M(3) +C CALL GSPOS('S21M',N,'S2A ',X,Y,Z,0,'ONLY') +* X= 0. - Y= 0. - DO I=1,2 + Z=-S3A(3)+HAIRS3+S32M(3) + DO I=1,NS32X N= I - Z= (-1.)**I*S21(3) + (-1.)**(I+1)*SC21(3) - CALL GSPOS('SC21',N,'S21 ',X,Y,Z,0,'ONLY') + Y= -S3A(2)+ (2*I-1)*S32M(2) + CALL GSPOS('S32M',N,'S3A ',X,Y,Z,0,'ONLY') ENDDO * - X= 0 - Z= 0 - DO I=1,NS22Y + Y= 0. + Z= -S3A(3)+HAIRS3+2*S32M(3)+HAIRS3+S31M(3) + DO I=1,NS31Y N= I -c ml: 27/10/04 Y= -S22(2) + (2*I-1)*S22Y(2) - X= -S22(1) + (2*I-1)*S22Y(1) -c end ml. - CALL GSPOS('S22Y',N,'S22 ',X,Y,Z,0,'ONLY') + X= -S3A(1)+(2*I-1)*S31M(1) + CALL GSPOS('S31M',N,'S3A ',X,Y,Z,0,'ONLY') ENDDO +* +C Z=-S3A(3)+HAIRS3+S32M(3) +C CALL GSPOS('S32M',N,'S3A ',X,Y,Z,0,'ONLY') +C Z=-S32(3)+HAIRS3+2*S32M(3)+HAIRS3+S31M(3) +C CALL GSPOS('S31M',N,'S3A ',X,Y,Z,0,'ONLY') +**************************************** +c ml: 21/12/04: + X=0. + Y= 0. + Z= 0. + N=1 +c ml: 27/10/04: +c DO I=1,NS11Y +c N= I +c X= -S11M(1) + HMYLTOF + (2*I-1)*S11Y(1) + CALL GSPOS('S11Y',N,'S11M',X,Y,Z,0,'ONLY') +c ENDDO +c end ml. +* X= 0. + Y=0. + Z= 0. + N=1 +c ml: 27/10/04 +C DO I=1,NS12X +C N= I +C Y= -S11M(2) + HMYLTOF + (2*I-1)*S12X(2) + CALL GSPOS('S12X',N,'S12M',X,Y,Z,0,'ONLY') +C ENDDO +c end ml. +* + X=0. + y=0. + Z= 0. + N=1 +C DO I=1,NS21X +C N= I +c Y= -S21M(2) + HMYLTOF+ (2*I-1)*S21X(2) + CALL GSPOS('S21X',N,'S21M',X,Y,Z,0,'ONLY') +C ENDDO +* + X=0. Y= 0. - DO I=1,2 - N= I - Z= (-1.)**I*S22(3) + (-1.)**(I+1)*SC22(3) - CALL GSPOS('SC22',N,'S22 ',X,Y,Z,0,'ONLY') - ENDDO + Z= 0. + N=1 +C DO I=1,NS22Y +C N= I +C X= -S22M(1) + HMYLTOF + (2*I-1)*S22Y(1) + CALL GSPOS('S22Y',N,'S22M',X,Y,Z,0,'ONLY') +C ENDDO c* c* Positioning volumes into S11: c+ @@ -259,42 +318,25 @@ c Z=Z+STOF(3)+SGLU(3) c CALL GSPOS('SGLU',N,'SGLU',X,Y,Z,0,'ONLY') c Z=Z+SGLU(3)+SPV2 - X= 0 - Z= 0 - DO I=1,NS31Y - N= I -c ml: 27/10/04: -c Y= -S31(2) + (2*I-1)*S31Y(2) - X= -S31(1) + (2*I-1)*S31Y(1) -c end ml. - CALL GSPOS('S31Y',N,'S31 ',X,Y,Z,0,'ONLY') - ENDDO - X= 0. Y= 0. - DO I=1,2 - N= I - Z= (-1.)**I*S31(3) + (-1.)**(I+1)*SC31(3) - CALL GSPOS('SC31',N,'S31 ',X,Y,Z,0,'ONLY') - ENDDO + Z= -S31M(3)+HMYLTOF+S31Y(3) + N=1 +C DO I=1,NS31Y +C N= I +C X= -S31M(1) + HMYLTOF+(2*I-1)*S31Y(1) + X= -S31M(1) + 2*(HMYLTOF/2)+S31Y(1) + CALL GSPOS('S31Y',N,'S31M',X,Y,Z,0,'ONLY') +C ENDDO * - Y= 0 - Z= 0 - DO I=1,NS32X - N= I -c ml: 27/10/04: -c X= -S32(1) + (2*I-1)*S32X(1) - Y= -S32(2) + (2*I-1)*S32X(2) -c end ml. - CALL GSPOS('S32X',N,'S32 ',X,Y,Z,0,'ONLY') - - ENDDO X= 0. - Y= 0. - DO I=1,2 - N= I - Z= (-1.)**I*S32(3) + (-1.)**(I+1)*SC32(3) - CALL GSPOS('SC32',N,'S32 ',X,Y,Z,0,'ONLY') - ENDDO + Z= -S32M(3)+HMYLTOF+S32X(3) + N=1 +C DO I=1,NS32X +C N= I +C Y= -S32M(2) + HMYLTOF+ (2*I-1)*S32X(2) + Y= -S32M(2) + 2*(HMYLTOF/2)+ S32X(2) + CALL GSPOS('S32X',N,'S32M',X,Y,Z,0,'ONLY') +C ENDDO * RETURN END