go-hep.org/x/hep@v0.38.1/hepevt/hepevt.go (about) 1 // Copyright ©2017 The go-hep Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Package hepevt provides access to the HEPEVT event format record from FORTRAN-77. 6 package hepevt // import "go-hep.org/x/hep/hepevt" 7 8 // Event is the Go representation of the FORTRAN-77 HEPEVT common block: 9 // 10 // PARAMETER (NMXHEP=2000) 11 // COMMON/HEPEVT/NEVHEP,NHEP,ISTHEP(NMXHEP),IDHEP(NMXHEP), 12 // & JMOHEP(2,NMXHEP),JDAHEP(2,NMXHEP),PHEP(5,NMXHEP),VHEP(4,NMXHEP) 13 type Event struct { 14 Nevhep int // event number (or some special meaning, see doc for details) 15 Nhep int // actual number of entries in current event 16 Isthep []int // status code for n'th entry 17 Idhep []int // particle identifier according to PDG 18 Jmohep [][2]int // index of 1st and 2nd mother 19 Jdahep [][2]int // index of 1st and 2nd daughter 20 Phep [][5]float64 // particle 5-vector (px,py,pz,e,m) 21 Vhep [][4]float64 // vertex 4-vector (x,y,z,t) 22 } 23 24 // Particle holds informations about a MC-truth particle, in the 25 // HEPEVT format. 26 type Particle struct { 27 Status int32 // status code (see hepevt doc) 28 Id int32 // barcode 29 Mothers [2]int32 // indices of 1st and 2nd mothers 30 Daughters [2]int32 // indices of 1st and 2nd mothers 31 P [5]float64 // (px,py,pz,e,m) 32 V [4]float64 // vertex position (x,y,z,t) 33 }