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/HepMCEx01/src/H 27 /// \brief Implementation of the HEPEvtcom cla 28 // 29 // 30 // =========================================== 31 // PARAMETER (NMXHEP=4000) 32 // COMMON/HEPEVT/NEVHEP,NHEP,ISTHEP(NMXHE 33 // & JMOHEP(2,NMXHEP),JDAHEP(2,NMXH 34 // =========================================== 35 ///******************************************* 36 ///* D E S C R I P T I O N : 37 ///*------------------------------------------ 38 ///* NEVHEP - event number (or some s 39 ///* (see documentation for 40 ///* NHEP - actual number of entrie 41 ///* event. 42 ///* ISTHEP[IHEP] - status code for IHEP'th 43 ///* documentation for deta 44 ///* IDHEP [IHEP] - IHEP'th particle identi 45 ///* to PDG. 46 ///* JMOHEP[IHEP][0] - pointer to position of 47 ///* JMOHEP[IHEP][1] - pointer to position of 48 ///* JDAHEP[IHEP][0] - pointer to position of 49 ///* JDAHEP[IHEP][1] - pointer to position of 50 ///* PHEP [IHEP][0] - X momentum [Gev/c] 51 ///* PHEP [IHEP][1] - Y momentum [Gev/c] 52 ///* PHEP [IHEP][2] - Z momentum [Gev/c] 53 ///* PHEP [IHEP][3] - Energy [Gev] 54 ///* PHEP [IHEP][4] - Mass[Gev/c^2] 55 ///* VHEP [IHEP][0] - X vertex [mm] 56 ///* VHEP [IHEP][1] - Y vertex [mm] 57 ///* VHEP [IHEP][2] - Z vertex [mm] 58 ///* VHEP [IHEP][3] - production time [mm/c] 59 ///*========================================== 60 // 61 // This interface to HEPEVT common block treat 62 // an array of bytes --- the precision and num 63 // is determined "on the fly" by the wrapper a 64 // each entry. 65 // 66 // HEPEVT_EntriesAllocation is the maximum siz 67 // that can be interfaced. It is NOT the actua 68 // used in each individual application. The ac 69 // the fly using HepMC::HEPEVT_Wrapper::set_ma 70 // Thus HEPEVT_EntriesAllocation should typica 71 // to the maximum possible number of entries - 72 // (and is the number used by ATLAS versions o 73 74 #include <ctype.h> 75 76 //....oooOO0OOooo........oooOO0OOooo........oo 77 78 enum 79 { 80 HEPEVT_EntriesAllocation = 4000 81 }; 82 83 const unsigned int hepevt_bytes_allocation = s 84 + 85 86 //....oooOO0OOooo........oooOO0OOooo........oo 87 88 extern "C" struct hepevt 89 { 90 char data[hepevt_bytes_allocation]; 91 }; 92 93 hepevt hepevt_; 94