]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HIJING/hipyset1_35/lujoin_hijing.F
Containers definition
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / lujoin_hijing.F
1 * $Id$
2     
3 C*********************************************************************  
4     
5       SUBROUTINE LUJOIN_HIJING(NJOIN,IJOIN)    
6     
7 C...Purpose: to connect a sequence of partons with colour flow indices, 
8 C...as required for subsequent shower evolution (or other operations).  
9 #include "lujets_hijing.inc"
10 #include "ludat1_hijing.inc"
11 #include "ludat2_hijing.inc"
12       DIMENSION IJOIN(*)    
13     
14 C...Check that partons are of right types to be connected.  
15       IF(NJOIN.LT.2) GOTO 120   
16       KQSUM=0   
17       DO 100 IJN=1,NJOIN    
18       I=IJOIN(IJN)  
19       IF(I.LE.0.OR.I.GT.N) GOTO 120 
20       IF(K(I,1).LT.1.OR.K(I,1).GT.3) GOTO 120   
21       KC=LUCOMP_HIJING(K(I,2)) 
22       IF(KC.EQ.0) GOTO 120  
23       KQ=KCHG(KC,2)*ISIGN(1,K(I,2)) 
24       IF(KQ.EQ.0) GOTO 120  
25       IF(IJN.NE.1.AND.IJN.NE.NJOIN.AND.KQ.NE.2) GOTO 120    
26       IF(KQ.NE.2) KQSUM=KQSUM+KQ    
27   100 IF(IJN.EQ.1) KQS=KQ   
28       IF(KQSUM.NE.0) GOTO 120   
29     
30 C...Connect the partons sequentially (closing for gluon loop).  
31       KCS=(9-KQS)/2 
32       IF(KQS.EQ.2) KCS=INT(4.5+RLU_HIJING(0))  
33       DO 110 IJN=1,NJOIN    
34       I=IJOIN(IJN)  
35       K(I,1)=3  
36       IF(IJN.NE.1) IP=IJOIN(IJN-1)  
37       IF(IJN.EQ.1) IP=IJOIN(NJOIN)  
38       IF(IJN.NE.NJOIN) IN=IJOIN(IJN+1)  
39       IF(IJN.EQ.NJOIN) IN=IJOIN(1)  
40       K(I,KCS)=MSTU(5)*IN   
41       K(I,9-KCS)=MSTU(5)*IP 
42       IF(IJN.EQ.1.AND.KQS.NE.2) K(I,9-KCS)=0    
43   110 IF(IJN.EQ.NJOIN.AND.KQS.NE.2) K(I,KCS)=0  
44     
45 C...Error exit: no action taken.    
46       RETURN    
47   120 CALL LUERRM_HIJING(12,   
48      &'(LUJOIN_HIJING:) given entries can not be joined by one string')    
49     
50       RETURN    
51       END