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  }