Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 /// \file eventgenerator/HepMC/HepMCEx02/src/H 27 /// \brief Implementation of the HEPEvtcom cla 28 // 29 // =========================================== 30 // PARAMETER (NMXHEP=4000) 31 // COMMON/HEPEVT/NEVHEP,NHEP,ISTHEP(NMXHE 32 // & JMOHEP(2,NMXHEP),JDAHEP(2,NMXH 33 // =========================================== 34 ///******************************************* 35 ///* D E S C R I P T I O N : 36 ///*------------------------------------------ 37 ///* NEVHEP - event number (or some s 38 ///* (see documentation for 39 ///* NHEP - actual number of entrie 40 ///* event. 41 ///* ISTHEP[IHEP] - status code for IHEP'th 42 ///* documentation for deta 43 ///* IDHEP [IHEP] - IHEP'th particle identi 44 ///* to PDG. 45 ///* JMOHEP[IHEP][0] - pointer to position of 46 ///* JMOHEP[IHEP][1] - pointer to position of 47 ///* JDAHEP[IHEP][0] - pointer to position of 48 ///* JDAHEP[IHEP][1] - pointer to position of 49 ///* PHEP [IHEP][0] - X momentum [Gev/c] 50 ///* PHEP [IHEP][1] - Y momentum [Gev/c] 51 ///* PHEP [IHEP][2] - Z momentum [Gev/c] 52 ///* PHEP [IHEP][3] - Energy [Gev] 53 ///* PHEP [IHEP][4] - Mass[Gev/c^2] 54 ///* VHEP [IHEP][0] - X vertex [mm] 55 ///* VHEP [IHEP][1] - Y vertex [mm] 56 ///* VHEP [IHEP][2] - Z vertex [mm] 57 ///* VHEP [IHEP][3] - production time [mm/c] 58 ///*========================================== 59 // 60 // This interface to HEPEVT common block treat 61 // an array of bytes --- the precision and num 62 // is determined "on the fly" by the wrapper a 63 // each entry. 64 // 65 // HEPEVT_EntriesAllocation is the maximum siz 66 // that can be interfaced. It is NOT the actua 67 // used in each individual application. The ac 68 // the fly using HepMC::HEPEVT_Wrapper::set_ma 69 // Thus HEPEVT_EntriesAllocation should typica 70 // to the maximum possible number of entries - 71 // (and is the number used by ATLAS versions o 72 73 #include <ctype.h> 74 75 //....oooOO0OOooo........oooOO0OOooo........oo 76 77 enum 78 { 79 HEPEVT_EntriesAllocation = 4000 80 }; 81 82 const unsigned int hepevt_bytes_allocation = s 83 + 84 85 //....oooOO0OOooo........oooOO0OOooo........oo 86 87 extern "C" struct hepevt 88 { 89 char data[hepevt_bytes_allocation]; 90 }; 91 92 hepevt hepevt_; 93