00001 // -*- C++ -*- 00009 /* 00010 ** Basic HEPEVT COMMON block 00011 C ------------------------------------------------------------------ 00012 C 00013 integer NMXHEP 00014 parameter (NMXHEP=4000) 00015 common/HEPEVT/NEVHEP,NHEP,ISTHEP(NMXHEP),IDHEP(NMXHEP), 00016 &JMOHEP(2,NMXHEP),JDAHEP(2,NMXHEP),PHEP(5,NMXHEP),VHEP(4,NMXHEP) 00017 integer NEVHEP,NHEP,ISTHEP,IDHEP,JMOHEP,JDAHEP 00018 double precision PHEP,VHEP 00019 save /HEPEVT/ 00020 C... NEVHEP - event number 00021 C... NHEP - number of entries in this event 00022 C... ISTHEP(..) - status code 00023 C... IDHEP(..) - particle ID, P.D.G. standard 00024 C... JMOHEP(1,..) - position of mother particle in list 00025 C... JMOHEP(2,..) - position of second mother particle in list 00026 C... JDAHEP(1,..) - position of first daughter in list 00027 C... JDAHEP(2,..) - position of last daughter in list 00028 C... PHEP(1,..) - x momentum in GeV/c 00029 C... PHEP(2,..) - y momentum in GeV/c 00030 C... PHEP(3,..) - z momentum in GeV/c 00031 C... PHEP(4,..) - energy in GeV 00032 C... PHEP(5,..) - mass in GeV/c**2 00033 C... VHEP(1,..) - x vertex position in mm 00034 C... VHEP(2,..) - y vertex position in mm 00035 C... VHEP(3,..) - z vertex position in mm 00036 C... VHEP(4,..) - production time in mm/c 00037 C 00038 C ------------------------------------------------------------------- 00039 C 00040 */ 00041 00042 /* note that to avoid alignment problems, structures and common blocks 00043 should be in the order: double precision, real, integer. 00044 */ 00045 00046 #define NMXHEP 4000 00047 struct hepevt_t { 00048 int nevhep; /* The event number */ 00049 int nhep; /* The number of entries in this event */ 00050 int isthep[NMXHEP]; /* The Particle id */ 00051 int idhep[NMXHEP]; /* The particle id */ 00052 int jmohep[NMXHEP][2]; /* The position of the mother particle */ 00053 int jdahep[NMXHEP][2]; /* Position of the first daughter... */ 00054 double phep[NMXHEP][5]; /* 4-Momentum, mass */ 00055 double vhep[NMXHEP][4]; /* Vertex information */ 00056 }; 00057 00058 /* prototypes */ 00059 extern "C" 00060 { 00061 extern struct hepevt_t hepevt_; 00062 } 00063 00064 #define FTNhep hepevt_ 00065