* * $Id: arbocm.F,v 1.1.1.1 1996/01/11 14:05:16 mclareni Exp $ * * $Log: arbocm.F,v $ * Revision 1.1.1.1 1996/01/11 14:05:16 mclareni * Fritiof * * C*********************************************************************** C $Id: arbocm.F,v 1.1.1.1 1996/01/11 14:05:16 mclareni Exp $ SUBROUTINE ARBOCM(ID) C...ARiadne subroutine BOost to Center of Mass C...Boost the partons in dipole ID to the CMS of the dipole PARAMETER(MAXDIP=500,MAXPAR=500,MAXSTR=100) IMPLICIT DOUBLE PRECISION (D) IMPLICIT DOUBLE PRECISION (B) IMPLICIT LOGICAL (Q) COMMON /ARPART/ BP(MAXPAR,5),IFL(MAXPAR),IEX(MAXPAR),QQ(MAXPAR), $ IDI(MAXPAR),IDO(MAXPAR),INO(MAXPAR),IPART SAVE /ARPART/ COMMON /ARDIPS/ BX1(MAXDIP),BX3(MAXDIP),PT2IN(MAXDIP), $ SDIP(MAXDIP),IP1(MAXDIP),IP3(MAXDIP), $ AEX1(MAXDIP),AEX3(MAXDIP),QDONE(MAXDIP), $ QEM(MAXDIP),IRAD(MAXDIP),ISTR(MAXDIP),IDIPS SAVE /ARDIPS/ COMMON /ARSTRS/ IPF(MAXSTR),IPL(MAXSTR),IFLOW(MAXSTR), $ PT2LST,IMF,IML,IO,QDUMP,ISTRS SAVE /ARSTRS/ COMMON /ARINT2/ DBEX,DBEY,DBEZ,PHI,THE SAVE /ARINT2/ C...Calculate boostvector and boost I1=IP1(ID) I3=IP3(ID) DPE1=BP(I1,4) DPE3=BP(I3,4) DPE=DPE1+DPE3 DPX1=BP(I1,1) DPX3=BP(I3,1) DBEX=(DPX1+DPX3)/DPE DPY1=BP(I1,2) DPY3=BP(I3,2) DBEY=(DPY1+DPY3)/DPE DPZ1=BP(I1,3) DPZ3=BP(I3,3) DBEZ=(DPZ1+DPZ3)/DPE CALL AROBO2(0.0,0.0,-DBEX,-DBEY,-DBEZ,I1,I3) C...Calculate rotation angles but no need for rotation yet PX=BP(I1,1) PY=BP(I1,2) PZ=BP(I1,3) PHI=ULANGL(PX,PY) THE=ULANGL(PZ,SQRT(PX**2+PY**2)) RETURN C**** END OF ARBOCM **************************************************** END