hep: go-hep.org/x/hep/fmom Index | Files

package fmom

import "go-hep.org/x/hep/fmom"

Package fmom provides types and functions to operate with Lorentz 4-vectors.

Index

Package Files

eetaphim.go etetaphim.go fmom.go iptcotthphim.go ops.go p3.go p4.go ptetaphim.go pxpypze.go utils.go

func CosTheta Uses

func CosTheta(p1, p2 P4) float64

CosTheta returns the cosine of the angle between the momentum of two 4-vectors.

func DeltaEta Uses

func DeltaEta(p1, p2 P4) float64

DeltaEta returns the delta Eta between two P4

func DeltaPhi Uses

func DeltaPhi(p1, p2 P4) float64

DeltaPhi returns the delta Phi in range [-pi,pi[ from two P4

func DeltaR Uses

func DeltaR(p1, p2 P4) float64

DeltaR returns the delta R between two P4

func DotProduct Uses

func DotProduct(p1, p2 P4) float64

DotProduct returns the dot product of two 4-vectors.

func Equal Uses

func Equal(p1, p2 P4) bool

Equal returns true if p1==p2

func InvMass Uses

func InvMass(p1, p2 P4) float64

InvMass computes the invariant mass of two incoming 4-vectors p1 and p2.

type EEtaPhiM Uses

type EEtaPhiM [4]float64

func NewEEtaPhiM Uses

func NewEEtaPhiM(et, eta, phi, m float64) EEtaPhiM

func (*EEtaPhiM) Clone Uses

func (p4 *EEtaPhiM) Clone() P4

func (*EEtaPhiM) CosPhi Uses

func (p4 *EEtaPhiM) CosPhi() float64

func (*EEtaPhiM) CosTh Uses

func (p4 *EEtaPhiM) CosTh() float64

func (*EEtaPhiM) CotTh Uses

func (p4 *EEtaPhiM) CotTh() float64

func (*EEtaPhiM) E Uses

func (p4 *EEtaPhiM) E() float64

func (*EEtaPhiM) Et Uses

func (p4 *EEtaPhiM) Et() float64

func (*EEtaPhiM) Eta Uses

func (p4 *EEtaPhiM) Eta() float64

func (*EEtaPhiM) IPt Uses

func (p4 *EEtaPhiM) IPt() float64

func (*EEtaPhiM) M Uses

func (p4 *EEtaPhiM) M() float64

func (*EEtaPhiM) M2 Uses

func (p4 *EEtaPhiM) M2() float64

func (*EEtaPhiM) P Uses

func (p4 *EEtaPhiM) P() float64

func (*EEtaPhiM) P2 Uses

func (p4 *EEtaPhiM) P2() float64

func (*EEtaPhiM) Phi Uses

func (p4 *EEtaPhiM) Phi() float64

func (*EEtaPhiM) Pt Uses

func (p4 *EEtaPhiM) Pt() float64

func (*EEtaPhiM) Px Uses

func (p4 *EEtaPhiM) Px() float64

func (*EEtaPhiM) Py Uses

func (p4 *EEtaPhiM) Py() float64

func (*EEtaPhiM) Pz Uses

func (p4 *EEtaPhiM) Pz() float64

func (*EEtaPhiM) Rapidity Uses

func (p4 *EEtaPhiM) Rapidity() float64

func (*EEtaPhiM) Set Uses

func (p4 *EEtaPhiM) Set(p P4)

func (*EEtaPhiM) SinPhi Uses

func (p4 *EEtaPhiM) SinPhi() float64

func (*EEtaPhiM) SinTh Uses

func (p4 *EEtaPhiM) SinTh() float64

func (*EEtaPhiM) TanTh Uses

func (p4 *EEtaPhiM) TanTh() float64

type EtEtaPhiM Uses

type EtEtaPhiM [4]float64

func NewEtEtaPhiM Uses

func NewEtEtaPhiM(et, eta, phi, m float64) EtEtaPhiM

func (*EtEtaPhiM) Clone Uses

func (p4 *EtEtaPhiM) Clone() P4

func (*EtEtaPhiM) CosPhi Uses

func (p4 *EtEtaPhiM) CosPhi() float64

func (*EtEtaPhiM) CosTh Uses

func (p4 *EtEtaPhiM) CosTh() float64

func (*EtEtaPhiM) CotTh Uses

func (p4 *EtEtaPhiM) CotTh() float64

func (*EtEtaPhiM) E Uses

func (p4 *EtEtaPhiM) E() float64

func (*EtEtaPhiM) Et Uses

func (p4 *EtEtaPhiM) Et() float64

func (*EtEtaPhiM) Eta Uses

func (p4 *EtEtaPhiM) Eta() float64

func (*EtEtaPhiM) IPt Uses

func (p4 *EtEtaPhiM) IPt() float64

func (*EtEtaPhiM) M Uses

func (p4 *EtEtaPhiM) M() float64

func (*EtEtaPhiM) M2 Uses

func (p4 *EtEtaPhiM) M2() float64

func (*EtEtaPhiM) P Uses

func (p4 *EtEtaPhiM) P() float64

func (*EtEtaPhiM) P2 Uses

func (p4 *EtEtaPhiM) P2() float64

func (*EtEtaPhiM) Phi Uses

func (p4 *EtEtaPhiM) Phi() float64

func (*EtEtaPhiM) Pt Uses

func (p4 *EtEtaPhiM) Pt() float64

func (*EtEtaPhiM) Px Uses

func (p4 *EtEtaPhiM) Px() float64

func (*EtEtaPhiM) Py Uses

func (p4 *EtEtaPhiM) Py() float64

func (*EtEtaPhiM) Pz Uses

func (p4 *EtEtaPhiM) Pz() float64

func (*EtEtaPhiM) Rapidity Uses

func (p4 *EtEtaPhiM) Rapidity() float64

func (*EtEtaPhiM) Set Uses

func (p4 *EtEtaPhiM) Set(p P4)

func (*EtEtaPhiM) SinPhi Uses

func (p4 *EtEtaPhiM) SinPhi() float64

func (*EtEtaPhiM) SinTh Uses

func (p4 *EtEtaPhiM) SinTh() float64

func (*EtEtaPhiM) TanTh Uses

func (p4 *EtEtaPhiM) TanTh() float64

type IPtCotThPhiM Uses

type IPtCotThPhiM [4]float64

func NewIPtCotThPhiM Uses

func NewIPtCotThPhiM(pt, eta, phi, m float64) IPtCotThPhiM

func (*IPtCotThPhiM) Clone Uses

func (p4 *IPtCotThPhiM) Clone() P4

func (*IPtCotThPhiM) CosPhi Uses

func (p4 *IPtCotThPhiM) CosPhi() float64

func (*IPtCotThPhiM) CosTh Uses

func (p4 *IPtCotThPhiM) CosTh() float64

func (*IPtCotThPhiM) CotTh Uses

func (p4 *IPtCotThPhiM) CotTh() float64

func (*IPtCotThPhiM) E Uses

func (p4 *IPtCotThPhiM) E() float64

func (*IPtCotThPhiM) Et Uses

func (p4 *IPtCotThPhiM) Et() float64

func (*IPtCotThPhiM) Eta Uses

func (p4 *IPtCotThPhiM) Eta() float64

func (*IPtCotThPhiM) IPt Uses

func (p4 *IPtCotThPhiM) IPt() float64

func (*IPtCotThPhiM) M Uses

func (p4 *IPtCotThPhiM) M() float64

func (*IPtCotThPhiM) M2 Uses

func (p4 *IPtCotThPhiM) M2() float64

func (*IPtCotThPhiM) P Uses

func (p4 *IPtCotThPhiM) P() float64

func (*IPtCotThPhiM) P2 Uses

func (p4 *IPtCotThPhiM) P2() float64

func (*IPtCotThPhiM) Phi Uses

func (p4 *IPtCotThPhiM) Phi() float64

func (*IPtCotThPhiM) Pt Uses

func (p4 *IPtCotThPhiM) Pt() float64

func (*IPtCotThPhiM) Px Uses

func (p4 *IPtCotThPhiM) Px() float64

func (*IPtCotThPhiM) Py Uses

func (p4 *IPtCotThPhiM) Py() float64

func (*IPtCotThPhiM) Pz Uses

func (p4 *IPtCotThPhiM) Pz() float64

func (*IPtCotThPhiM) Rapidity Uses

func (p4 *IPtCotThPhiM) Rapidity() float64

func (*IPtCotThPhiM) Set Uses

func (p4 *IPtCotThPhiM) Set(p P4)

func (*IPtCotThPhiM) SinPhi Uses

func (p4 *IPtCotThPhiM) SinPhi() float64

func (*IPtCotThPhiM) SinTh Uses

func (p4 *IPtCotThPhiM) SinTh() float64

func (*IPtCotThPhiM) TanTh Uses

func (p4 *IPtCotThPhiM) TanTh() float64

type P4 Uses

type P4 interface {
    Px() float64       // x component of 4-momentum
    Py() float64       // y component of 4-momentum
    Pz() float64       // z component of 4-momentum
    M() float64        // mass
    M2() float64       // mass squared
    P() float64        // momentum magnitude
    P2() float64       // square of momentum magnitude
    Eta() float64      // pseudo-rapidity
    Rapidity() float64 // rapidity
    Phi() float64      // azimuthal angle in [-pi,pi)
    E() float64        // energy of 4-momentum
    Et() float64       // transverse energy defined to be E*sin(Theta)
    Pt() float64       // transverse momentum
    IPt() float64      // inverse of transverse momentum
    CosPhi() float64   // cosine(Phi)
    SinPhi() float64   // sine(Phi)
    CosTh() float64    // cosine(Theta)
    SinTh() float64    // sine(Theta)
    CotTh() float64    // cottan(Theta)
    TanTh() float64    // tan(Theta)

    Set(p4 P4)
    Clone() P4
}

P4 models a Lorentz 4-vector.

func Add Uses

func Add(p1, p2 P4) P4

Add returns the sum p1+p2.

func IAdd Uses

func IAdd(dst, src P4) P4

IAdd adds src into dst, and returns dst

func Scale Uses

func Scale(a float64, p P4) P4

Scale returns a*p

type PtEtaPhiM Uses

type PtEtaPhiM [4]float64

func NewPtEtaPhiM Uses

func NewPtEtaPhiM(pt, eta, phi, m float64) PtEtaPhiM

func (*PtEtaPhiM) Clone Uses

func (p4 *PtEtaPhiM) Clone() P4

func (*PtEtaPhiM) CosPhi Uses

func (p4 *PtEtaPhiM) CosPhi() float64

func (*PtEtaPhiM) CosTh Uses

func (p4 *PtEtaPhiM) CosTh() float64

func (*PtEtaPhiM) CotTh Uses

func (p4 *PtEtaPhiM) CotTh() float64

func (*PtEtaPhiM) E Uses

func (p4 *PtEtaPhiM) E() float64

func (*PtEtaPhiM) Et Uses

func (p4 *PtEtaPhiM) Et() float64

func (*PtEtaPhiM) Eta Uses

func (p4 *PtEtaPhiM) Eta() float64

func (*PtEtaPhiM) IPt Uses

func (p4 *PtEtaPhiM) IPt() float64

func (*PtEtaPhiM) M Uses

func (p4 *PtEtaPhiM) M() float64

func (*PtEtaPhiM) M2 Uses

func (p4 *PtEtaPhiM) M2() float64

func (*PtEtaPhiM) P Uses

func (p4 *PtEtaPhiM) P() float64

func (*PtEtaPhiM) P2 Uses

func (p4 *PtEtaPhiM) P2() float64

func (*PtEtaPhiM) Phi Uses

func (p4 *PtEtaPhiM) Phi() float64

func (*PtEtaPhiM) Pt Uses

func (p4 *PtEtaPhiM) Pt() float64

func (*PtEtaPhiM) Px Uses

func (p4 *PtEtaPhiM) Px() float64

func (*PtEtaPhiM) Py Uses

func (p4 *PtEtaPhiM) Py() float64

func (*PtEtaPhiM) Pz Uses

func (p4 *PtEtaPhiM) Pz() float64

func (*PtEtaPhiM) Rapidity Uses

func (p4 *PtEtaPhiM) Rapidity() float64

func (*PtEtaPhiM) Set Uses

func (p4 *PtEtaPhiM) Set(p P4)

func (*PtEtaPhiM) SinPhi Uses

func (p4 *PtEtaPhiM) SinPhi() float64

func (*PtEtaPhiM) SinTh Uses

func (p4 *PtEtaPhiM) SinTh() float64

func (*PtEtaPhiM) TanTh Uses

func (p4 *PtEtaPhiM) TanTh() float64

type PxPyPzE Uses

type PxPyPzE [4]float64

func NewPxPyPzE Uses

func NewPxPyPzE(px, py, pz, e float64) PxPyPzE

func (*PxPyPzE) Clone Uses

func (p4 *PxPyPzE) Clone() P4

func (*PxPyPzE) CosPhi Uses

func (p4 *PxPyPzE) CosPhi() float64

func (*PxPyPzE) CosTh Uses

func (p4 *PxPyPzE) CosTh() float64

func (*PxPyPzE) CotTh Uses

func (p4 *PxPyPzE) CotTh() float64

func (*PxPyPzE) E Uses

func (p4 *PxPyPzE) E() float64

func (*PxPyPzE) Et Uses

func (p4 *PxPyPzE) Et() float64

func (*PxPyPzE) Eta Uses

func (p4 *PxPyPzE) Eta() float64

func (*PxPyPzE) IPt Uses

func (p4 *PxPyPzE) IPt() float64

func (*PxPyPzE) M Uses

func (p4 *PxPyPzE) M() float64

func (*PxPyPzE) M2 Uses

func (p4 *PxPyPzE) M2() float64

func (*PxPyPzE) P Uses

func (p4 *PxPyPzE) P() float64

func (*PxPyPzE) P2 Uses

func (p4 *PxPyPzE) P2() float64

func (*PxPyPzE) Phi Uses

func (p4 *PxPyPzE) Phi() float64

func (*PxPyPzE) Pt Uses

func (p4 *PxPyPzE) Pt() float64

func (*PxPyPzE) Px Uses

func (p4 *PxPyPzE) Px() float64

func (*PxPyPzE) Py Uses

func (p4 *PxPyPzE) Py() float64

func (*PxPyPzE) Pz Uses

func (p4 *PxPyPzE) Pz() float64

func (*PxPyPzE) Rapidity Uses

func (p4 *PxPyPzE) Rapidity() float64

func (*PxPyPzE) Set Uses

func (p4 *PxPyPzE) Set(p P4)

func (*PxPyPzE) SinPhi Uses

func (p4 *PxPyPzE) SinPhi() float64

func (*PxPyPzE) SinTh Uses

func (p4 *PxPyPzE) SinTh() float64

func (*PxPyPzE) T Uses

func (p4 *PxPyPzE) T() float64

func (*PxPyPzE) TanTh Uses

func (p4 *PxPyPzE) TanTh() float64

func (*PxPyPzE) X Uses

func (p4 *PxPyPzE) X() float64

func (*PxPyPzE) Y Uses

func (p4 *PxPyPzE) Y() float64

func (*PxPyPzE) Z Uses

func (p4 *PxPyPzE) Z() float64

type Vec3 Uses

type Vec3 [3]float64

Vec3 is a 3-dim vector.

func (*Vec3) X Uses

func (vec *Vec3) X() float64

func (*Vec3) Y Uses

func (vec *Vec3) Y() float64

func (*Vec3) Z Uses

func (vec *Vec3) Z() float64

Package fmom imports 2 packages (graph) and is imported by 5 packages. Updated 2018-08-01. Refresh now. Tools for package owners.