HadronicLineshapes
The HadronicLineshapes a Julia package provides models for description of hadronic scattering processes within particle physics.
Installation
To install HadronicLineshapes, use the Julia package manager. From the Julia REPL, enter package mode by pressing ], then run:
pkg> add https://github.com/mmikhasenko/HadronicLineshapes.jlEnsure that you have Julia installed on your system and that the Parameters package, a dependency of HadronicLineshapes, is also installed using the same method.
Usage and API Reference
Basic Usage
using HadronicLineshapes
# Create a Breit-Wigner
bw = BreitWigner(1.6, 0.2) # constant-width lineshape function
bw = BreitWigner(1.6, 0.2, 0.1, 0.2, 1, 1.5) # P-wave
bw = BreitWigner(; m = 1.6, Γ = 0.2, ma = 0.1, mb = 0.2, l = 1, d = 1.5) # same as above
#
mbw = MultichannelBreitWigner(
1.6,
[
(gsq = 0.35, ma = 0.1, mb = 0.2, l = 0, d = 1.0),
(gsq = 0.35, ma = 0.3, mb = 0.25, l = 0, d = 1.5),
],
)
mbw = Flatte(1.6, 0.35, 0.1, 0.2, 0.35, 0.3, 0.25) # same as aboveSee detailed definition in lineshape documentation
API Overview
All of the lineshapes are inherited from AbstractFlexFunc enabling mathematical operations on the functions like multiplication and composition.
AbstractFlexFunc: Base type for flexible function operations.WrapFlexFunction: a simple wrapper for a lambda function.ComposeFlexFunc: a composition of two functionsf(g(x)).ScaleFlexFunc: a scaled version of a functionf(x) * a.ProductFlexFunc: a product of two functionsf(x) * g(x).