(file) Return to gukine.f CVS log (file) (dir) Up to [HallC] / geant_gep / src

Diff for /geant_gep/src/gukine.f between version 1.6 and 1.10

version 1.6, 2005/09/29 22:06:18 version 1.10, 2006/01/18 15:50:44
Line 29 
Line 29 
       real*8 xfp,yfp,tthfp,tphfp,pfp,junk2,junk3,thfp,phfp       real*8 xfp,yfp,tthfp,tphfp,pfp,junk2,junk3,thfp,phfp
       real*8 e0(10),eang(10),hang(10),targ_thick(10)       real*8 e0(10),eang(10),hang(10),targ_thick(10)
       real*8 xtgt,ytgt,thtgt,phtgt,ptgt,dptgt       real*8 xtgt,ytgt,thtgt,phtgt,ptgt,dptgt
       real yf,ff,thetaf        real yf,ff,thetaf,dptgt2
       character*80 junkline       character*80 junkline
 c c
 c The following variables are the SIMC variables c The following variables are the SIMC variables
Line 92 
Line 92 
      $        thtgt,phtgt,ptgt,dptgt)      $        thtgt,phtgt,ptgt,dptgt)
  
 c c
 c At this point, after using polynomials from Lerose, we should  
 c have x,y,theta,phi, and dpmom at the focal plane.  
 c  
 c      write(*,*)'Back from kincalc ...'  
 c      write(*,*)xtgt,ytgt,thtgt,phtgt,dptgt  
 c      x(1)=tan(phtgt)  
 c      x(2)=ytgt  
 c      x(3)=tan(thtgt)  
 c      x(4)=dptgt  
       y_target=ytgt*100.0  
 c  
 c Here is where we call the SIMC routines to calculate the focal plane  
 c quantities from the target quantities.  
 c  
 c      xfp=xfinal(x,4)*100.0  
 c      phfp=atan(thetaf(x,4))/3.14159265*180.0  
 c      yfp=yf(x,4)*100.0  
 c      thfp=atan(ff(x,4))/3.14159265*180.0  
       p_spec=ptgt       p_spec=ptgt
       th_spec=hrsh_ang  c
       dpp=dptgt*100.00        if(nevent.le.2)write(*,*)'******** mom = ',p_spec,' ******'
       x=xtgt  c
       y=ytgt        call grndm(rndm,3)
       z=0.0        dptgt2=rndm(1)*0.200-0.100
       dxdz=tan(phtgt*3.14159265/180.0)        xfp=rndm(2)*80.00-40.00
       dydz=tan(thtgt*3.14159265/180.0)        phfp=rndm(3)*5.0-2.5
 c      write(*,*)p_spec,th_spec,dpp  c
 c      write(*,*)x,y,z        call grndm(rndm,3)
 c      write(*,*)dxdz,dydz        yfp=rndm(1)*60.00-30.00
 c        thfp=rndm(2)*5.0-2.5
 c Call to SIMC routine  c
 c  c      write(6,*)'x,phi,y,theta,ok_spec ='
       decay_flag=.false.  c      write(6,*)xfp,phfp,yfp,thfp,ok_spec
       wcs_flag=.false.  
       ms_flag=.false.  
       m2=(938.2796**2)  
       call mc_hms (p_spec, th_spec, dpp, x, y, z, dxdz, dydz,  
      >          x_fp, dx_fp, y_fp, dy_fp, m2,  
      >          ms_flag, wcs_flag, decay_flag, resmult, fry,  
      > ok_spec, pathlen)  
       write(*,*)p_spec,th_spec,dpp  
 c      write(*,*)x,y,z  
 c      write(*,*)dxdz,dydz  
       write(6,*)x_fp,dx_fp,y_fp,dy_fp,ok_spec  
 c      write(*,*)m2,ms_flag,wcs_flag,decay_flag  
 c      write(*,*)resmult,fry,ok_spec,pathlen  
   
       xfp=x_fp  
       phfp=atan(dx_fp)/3.14159265*180.0  
       yfp=y_fp*100.0  
       thfp=atan(dy_fp)/3.14159265*180.0*100.0  
 c c
       do ii=1,20       do ii=1,20
         ntuple_array(ii)=0.0         ntuple_array(ii)=0.0
Line 153 
Line 117 
       ntuple_array(14)=real(phfp)       ntuple_array(14)=real(phfp)
 c c
       pcentral=ptgt       pcentral=ptgt
       pfp=dptgt        pfp=dptgt2
 c  
 c  
 c       write(*,*)'Focal plane quantities ...'  
 c       write(*,*)xfp,yfp,thfp,phfp,pcentral,pfp  
   
 c      xfp=xtgt      ! in cm  
 c      yfp=ytgt      ! in cm  
 c      thfp=thtgt/3.14159265*180.0   ! in degrees  
 c      phfp=phtgt/3.14159265*180.0   ! in degrees  
 c      pcentral=ptgt ! in MeV/c  
 c      pfp=dptgt     ! fraction of central momentum  
 c c
 c Finally, we convert this information over to a format that GEANT likes. c Finally, we convert this information over to a format that GEANT likes.
 c c
Line 321 
Line 274 
 c     what the corresponding theta and phi are for the other arm. c     what the corresponding theta and phi are for the other arm.
  
       if (abs(eang).gt.abs(hang)) then       if (abs(eang).gt.abs(hang)) then
          phie=-.025+rndm(1)*.050  c         phie=-.025+rndm(1)*.050
          thetae=-.009+rndm(2)*.018  c         thetae=-.009+rndm(2)*.018
 c         phie=-.0+rndm(1)*.0           if(pcentral.ge.5000) then
 c         thetae=-.0+rndm(2)*.0  c           phie=-.00+rndm(1)*.00
   c           thetae=-.00+rndm(2)*.00
              phie=-.130+rndm(1)*.260
              thetae=-.065+rndm(2)*.130
            else if(pcentral.ge.3000.and.pcentral.lt.5000) then
              phie=-.067+rndm(1)*.135
              thetae=-.034+rndm(2)*.067
            else
              phie=-.087+rndm(1)*.174
              thetae=-.044+rndm(2)*.087
            endif
   c         phie=-.00+rndm(1)*.00
   c         thetae=-.00+rndm(2)*.00
          escat=mp/(1.0+mp/e0-cos(fg*eang+thetae)*cos(phie))          escat=mp/(1.0+mp/e0-cos(fg*eang+thetae)*cos(phie))
          pscat=sqrt(e0**2+escat**2-          pscat=sqrt(e0**2+escat**2-
      $        2.0*e0*escat*cos(fg*eang+thetae)*cos(phie))      $        2.0*e0*escat*cos(fg*eang+thetae)*cos(phie))
Line 334 
Line 299 
       else       else
 c Hadron arm defining acceptance c Hadron arm defining acceptance
  1221    call grndm ( rndm, 3)  1221    call grndm ( rndm, 3)
          phie=-.025+rndm(1)*.050           phie=-.080+rndm(1)*.160
          thetae=-.009+rndm(2)*.018           thetae=-.030+rndm(2)*.060
 c         phie=-.0+rndm(1)*.0  c         phie=-.00+rndm(1)*.00
 c         thetae=-.0+rndm(2)*.0  c         thetae=-.00+rndm(2)*.00
          escat=mp/(1.0+mp/e0-cos(fg*eang+thetae)*cos(phie))          escat=mp/(1.0+mp/e0-cos(fg*eang+thetae)*cos(phie))
          pscat=sqrt(e0**2+escat**2-          pscat=sqrt(e0**2+escat**2-
      $        2.0*e0*escat*cos(fg*eang+thetae)*cos(phie))      $        2.0*e0*escat*cos(fg*eang+thetae)*cos(phie))


Legend:
Removed from v.1.6  
changed lines
  Added in v.1.10

Analyzer/Replay: Mark Jones, Documents: Stephen Wood
Powered by
ViewCVS 0.9.2-cvsgraph-1.4.0