]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/iframs.F
- Reset TProcessID count after each event
[u/mrichter/AliRoot.git] / ISAJET / code / iframs.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE IFRAMS(N1,N2,IFR,PAIR)
3C----------------------------------------------------------------------
4C-
5C- Purpose and Methods :
6C- Initialize a center of mass frame for partons N1 to N2
7C- partons must be consecutive unless PAIR is true
8C-
9C- Inputs :
10C- N1 = first parton
11C- N2 = last parton
12C- IFR = index of frame
13C- PAIR= if false N1, N2 denote a range
14C- if true N1 and N2 form a pair
15C-
16C- Created 14-AUG-1991 Serban D. Protopopescu
17C-
18C----------------------------------------------------------------------
19#if defined(CERNLIB_IMPNONE)
20 IMPLICIT NONE
21#endif
22#include "isajet/pjets.inc"
23#include "isajet/jetset.inc"
24#include "isajet/jwork.inc"
25#include "isajet/frame.inc"
26 INTEGER I,J,K,JADD,N1,N2,IFR
27 DOUBLE PRECISION DPASS(5),DSUM(5)
28 LOGICAL PAIR
29C----------------------------------------------------------------------
30C
31 IF ( N2-N1.EQ.1.OR.PAIR ) THEN
32 JMATCH(N1)=N2
33 JMATCH(N2)=N1
34 JADD=N2-N1
35 ELSE
36 JADD=1
37 DO 201 I=N1,N2
38 JMATCH(I)=JPACK*N1+N2
39201 CONTINUE
40 ENDIF
41C Need double precision boosts
42 CALL DBLVEC(PJSET(1,N1),DSUM)
43 DO 211 I=N1+JADD,N2
44 CALL DBLVEC(PJSET(1,I),DPASS)
45 DO 210 K=1,4
46210 DSUM(K)=DSUM(K)+DPASS(K)
47 DSUM(5)=DSQRT(DSUM(4)**2-DSUM(1)**2-DSUM(2)**2-DSUM(3)**2)
48211 CONTINUE
49 DO 212 K=1,5
50 FRAME(K,IFR)=DSUM(K)
51212 CONTINUE
52C
53C Set up and generate final state QCD parton shower.
54C Boost PJSET with -FRAME.
55C
56 DO 240 J=N1,N2,JADD
57 CALL DBOOST(-1,FRAME(1,IFR),PJSET(1,J))
58240 CONTINUE
59C
60999 RETURN
61 END