]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EPOS/epos167/models.f
Reading muon trigger scalers with the DA of the muon trigger and transfer
[u/mrichter/AliRoot.git] / EPOS / epos167 / models.f
1       subroutine NumberModel(cmodel,model)
2       character cmodel*21
3       n=index(cmodel,' ')-1
4       if(cmodel(1:n).eq.'qgsjet' )   model=2    
5       if(cmodel(1:n).eq.'gheisha')   model=3    
6 c      if(cmodel(1:n).eq.'gheisha' )stop'wrong choice!!!!'  !    model=4   
7       if(cmodel(1:n).eq.'pythia' )stop'wrong choice!!!!'  !    model=4   
8       if(cmodel(1:n).eq.'hijing' )stop'wrong choice!!!!'  !    model=5 
9       if(cmodel(1:n).eq.'sibyll' )   model=6             
10       if(cmodel(1:n).eq.'IIqgsjet' ) model=7             
11       end
12       
13       subroutine IniModel(model)      
14       if(model.eq.2)call IniQGSjet                 
15       if(model.eq.3)call IniGheisha                
16 cxxx      if(model.eq.4)call IniPythia             
17 cxxx      if(model.eq.5)call IniHijing                 
18       if(model.eq.6)call IniSibyll                 
19       if(model.eq.7)call IniQGSJetII                 
20       end      
21       
22       subroutine IniEvtModel  
23       include 'epos.inc' 
24       if(model.eq.2)call IniEvtQGS
25       if(model.eq.3)call IniEvtGhe
26 cxxx      if(model.eq.4)then
27 cxxx        engysave=engy
28 cxxx        if(engy.lt.egymin)engy=egymin      
29 cxxx        call IniEvtPyt
30 cxxx        engy=engysave
31 cxxx      endif
32 c      if(model.eq.5)then
33 c        engysave=engy
34 c        if(engy.lt.egymin)engy=egymin      
35 c        call IniEvtHij
36 c        engy=engysave
37 c      endif
38       if(model.eq.6)call IniEvtSib
39       if(model.eq.7)call IniEvtQGSII
40       end  
41       
42       subroutine emsaaaModel(model,iret)
43         if(model.eq.2)then
44           if(idtargin.eq.0)call IniEvtQGS
45           call emsqgs(iret)
46         endif
47         if(model.eq.3)call emsghe(iret)           
48 cxxx        if(model.eq.4)call emspyt(iret)       
49 c        if(model.eq.5)call emshij(iret)           
50         if(model.eq.6)call emssib(iret)           
51         if(model.eq.7)then
52           if(idtargin.eq.0)call IniEvtQGSII
53           call emsqgsII(iret)
54         endif           
55       end 
56       
57       function crseModel(model,ekin,maproj,matarg,idtarg)
58         if(model.eq.2)crseModel=qgscrse(ekin,maproj,matarg,idtarg)         
59 cxxx        if(model.eq.4)?????????????????? 
60 c        if(model.eq.5)crseModel=hijcrse(ekin,maproj,matarg,idtarg)   
61         if(model.eq.6)crseModel=sibcrse(ekin,maproj,matarg,idtarg)   
62         if(model.eq.7)crseModel=qgsIIcrse(ekin,maproj,matarg,idtarg)   
63       end             
64       
65       
66       subroutine m2XXFZ( a,b)
67       double precision a,b
68         CALL XXFZ(a,b)
69       end       
70
71       subroutine m3SIGMA(ek,idpro,idtar,latar,matar,sigi,sige)
72       call ghecrse(ek,idpro,idtar,latar,matar,sigi,sige)
73       end
74
75       subroutine m6SIGMA(icl,engy,stot,sela,sine,sdifr,slela,Rho)
76         if(icl.eq.1)then
77           L=2
78         elseif(icl.eq.2)then
79           L=1
80         else
81           L=3
82         endif
83         call SIB_SIGMA_HP(L,engy,stot,sela,sine,sdifr,slela,Rho)
84       end       
85
86
87       subroutine m7SIGMA(stot,scut,sine,slela)
88       double precision GzZ0(5)
89       common /qgarr1/  ia(2),icz,icp
90       ia2save=ia(2)
91       ia(2)=1
92       call qgfz(0.d0,gzz0,0,0)
93       scut=real(gzz0(2))/2.   !cut pomerons cross-section
94       stot=real(gzz0(1))                     !tot cross-section
95       sine=real(gzz0(2)+gzz0(3)+gzz0(4))/2. !inelastic cross section
96       slela=real(gzz0(5))
97       ia(2)=ia2save
98       end