phodem.f

00001 
00002 
00003 C.----------------------------------------------------------------------
00004 C.
00005 C.    PHOTOS:   PHOton radiation in decays TeST program
00006 C.
00007 C.    Purpose:  Example of application of PHOTOS.
00008 C.
00009 C.    Input Parameters:   None
00010 C.
00011 C.    Output Parameters:  None
00012 C.
00013 C.    Author(s):  B. van Eijk, E. Barberio        Created at:  31/05/90
00014 C.                                                Last Update: 05/06/90
00015 C.
00016 C.----------------------------------------------------------------------
00017       PROGRAM PHOTST
00018 C      IMPLICIT NONE
00019       INTEGER EVENT,NHEP0
00020 C this is the hepevt class in old style. No d_h_ class pre-name
00021       INTEGER NMXHEP
00022       PARAMETER (NMXHEP=10000)
00023       REAL*8  phep,  vhep ! to be real*4/ *8  depending on host
00024       INTEGER nevhep,nhep,isthep,idhep,jmohep,
00025      $        jdahep
00026       COMMON /hepevt/
00027      $      nevhep,               ! serial number
00028      $      nhep,                 ! number of particles
00029      $      isthep(nmxhep),   ! status code
00030      $      idhep(nmxhep),    ! particle ident KF
00031      $      jmohep(2,nmxhep), ! parent particles
00032      $      jdahep(2,nmxhep), ! childreen particles
00033      $      phep(5,nmxhep),   ! four-momentum, mass [GeV]
00034      $      vhep(4,nmxhep)    ! vertex [mm]
00035 * ----------------------------------------------------------------------
00036       LOGICAL qedrad
00037       COMMON /phoqed/ 
00038      $     qedrad(nmxhep)    ! Photos flag
00039 * ----------------------------------------------------------------------
00040       SAVE hepevt,phoqed
00041       INTEGER PHLUN
00042       COMMON/PHOLUN/PHLUN
00043 C--
00044 C--   Initialise PHOTOS
00045       CALL PHOINI
00046 C--
00047 C--   Loop over JETSET event until PHOTOS has generated one or more pho-
00048 C--   tons.  Do this  for 10 JETSET events.  The event record is printed
00049 C--   before and after photon emission.
00050       DO 20 EVENT=1,1 
00051         CALL LUEEVT(4,91.)
00052 C--
00053 C--   Conversion to /HEPEVT/ standard
00054         CALL LUHEPC(1)
00055 C--
00056 C--   Write event record before emission...
00057         NEVHEP=EVENT
00058         CALL PHODMP
00059         NHEP0=NHEP
00060 C--
00061 C--   Generate photon(s)... Arbitrary enforced generation.
00062 C--   Normally line: IF (NHEP.EQ.NHEP0) GOTO 10 must be absent!
00063    10   CALL PHOTOS(1)
00064         IF (NHEP.EQ.NHEP0) GOTO 10
00065 C--
00066 C--   Write event record...
00067       WRITE(PHLUN,9050)
00068       WRITE(PHLUN,9040)
00069         CALL PHODMP
00070    20 CONTINUE
00071       WRITE(PHLUN,9000)
00072       WRITE(PHLUN,9010)
00073       WRITE(PHLUN,9020)
00074       WRITE(PHLUN,9030)
00075       WRITE(PHLUN,9020)
00076       WRITE(PHLUN,9010)
00077       STOP
00078  9000 FORMAT(1H1)
00079  9010 FORMAT(1H ,80('*'))
00080  9020 FORMAT(1H ,'*',78X,'*')
00081  9030 FORMAT(1H ,'**** PHOTOS Test Run has successfully ended',32X,
00082      &' ****')
00083  9040 FORMAT(1H ,26X,'=== after PHOTOS: ===')
00084  9050 FORMAT(1H0,80('='))
00085       END
Generated on Sun Oct 20 20:24:09 2013 for C++InterfacetoTauola by  doxygen 1.6.3