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.jl
Ensure 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 above
See 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)
.