This is a library of amplitudes which are commonly used in analyses of GlueX data.
Cargo provides the usual command for including this crate in a project, but what you are probably looking for is an installation of this crate alongside rustitude-core
. These crates are bundled into the meta-crate rustitude
, which has a gluex
feature (currently on by default):
cargo add rustitude
See rustitude
's documentation for more information on how to use this library.
There are a few amplitudes from halld_sim which have been implemented, several which need to be implemented, and a few which don't need to be implemented (like Uniform.cc). Additionally, I see a few areas of improvement when it comes to providing a consistent interface across all amplitudes (selection of daughter particles varies a lot across amplitudes written by different people, for instance), and there are possibly a few amplitudes which will become more performant due to the abilities of rustitude
. For example, the Ylm
,ZlmRe
, and ZlmIm
implementations of Ylm.cc and Zlm.cc no longer calculate anything on the compute step, since the entire amplitude can be computed ahead of time. Here is a list of the identified halld_sim
amplitudes:
halld_sim Amplitude |
rustitude Equivalent |
Priority |
---|---|---|
BreitWigner.cc | rustitude-gluex::resonances::BreitWigner |
✅ |
BreitWigner3body.cc | ❌ | |
ComplexCoeff.cc | rustitude::amplitude::ComplexScalar |
✅ |
Compton.cc | ❗ | |
DblRegge_FastEta.cc | ❗ | |
DblRegge_FastPi.cc | ❗ | |
EtaPb_tdist.cc | ❗ | |
Flatte.cc | ||
Hist2D.cc | ❌ | |
Lambda1520Angles.cc | ❌ | |
Lambda1520tdist.cc | ❌ | |
LowerVertexDelta.cc | ❌ | |
OmegaDalitz.cc | rustitude-gluex::dalitz::OmegaDalitz |
✅ |
PhaseOffset.cc | ||
Pi0Regge.cc | ❗ | |
Pi0ReggeModel.cc | ❌ | |
Pi0SAID.cc | ❌ | |
PiPlusRegge.cc | ❌ | |
Piecewise.cc | rustitude::amplitude::Piecewise |
✅ |
SinglePS.cc | rustitude-gluex::harmonics::OnePS |
✅ |
ThreePiAngles.cc | ||
ThreePiAnglesSchilling.cc | rustitude-gluex::sdmes::ThreePiSDME |
✅ |
TwoLeptonAngles.cc | ❗ | |
TwoLeptonAnglesGJ.cc | ❗ | |
TwoPSAngles.cc | rustitude-gluex::harmonics::TwoPS |
✅ |
TwoPSHelicity.cc | rustitude-gluex::harmonics::TwoPS |
✅ |
TwoPiAngles.cc | rustitude-gluex::sdmes::TwoPiSDME |
✅ |
TwoPiAngles_amp.cc | ❗ | |
TwoPiAngles_primakoff.cc | ||
TwoPiEtas_tdist.cc | ❌ | |
TwoPiNC_tdist.cc | ❌ | |
TwoPiW_brokenetas.cc | ❌ | |
TwoPiWt_primakoff.cc | ❗ | |
TwoPiWt_sigma.cc | ❌ | |
TwoPitdist.cc | ❌ | |
Uniform.cc | N/A | ✅ |
VecRadiative_SDME.cc | ||
Vec_ps_refl.cc | ||
Ylm.cc | rustitude-gluex::harmonics::Ylm |
✅ |
Zlm.cc | rustitude-gluex::harmonics::{ZlmRe, ZlmIm} |
✅ |
not yet implemented | rustitude-gluex::resonances::{KMatrixF0, KMatrixF2, KMatrixA0, KMatrixA2, KMatrixRho, KMatrixPi1} |
✅ |