Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support coordinate systems #93

Open
3 tasks
szabo137 opened this issue Jul 16, 2023 · 0 comments
Open
3 tasks

Support coordinate systems #93

szabo137 opened this issue Jul 16, 2023 · 0 comments
Labels
05 - Enhancement Improvements of existing code 06 - Feature-request Missing a feature or functionality

Comments

@szabo137
Copy link
Member

Currently, only cartesian coordinates are supported by the Lorentz vector interface. However, in some situations, it is more convenient to initialise and use Lorentz vectors in other coordinate systems.

Suggested coordinate systems to be supported

Besides the cartesian coordinates, the following coordinate systems would be conceivable:

  • spherical coordinates: Energy $E$, abs. value of the three momentum $\varrho$, cosine polar angle $\cos\theta$, azimuthal angle $\phi$
  • transverse coordinates: (pseudo) rapidity $y/ \eta$, transverse energy $m_T$, transverse momentum $p_T$, azimuthal angle $\phi$
  • light code coordinates: minus component $p^-$, plus component $p^+$, transversal components $p_x, p_y$.

Additionally, the implementing transformations between those coordinate systems are necessary.

Suggested implementation

Since it is convenient to not limit the four-momentum types to a common abstract super type, the coordinate systems above could be implemented as traits. This would be analogous to the current implementation of LorentzVectorLike which is essential the trait for cartesian coordinates.
For each coordinate system trait, a set of accessor functions could be implemented, which by themself are used in the Lorentz vector library, simliar to the current implementation.

@szabo137 szabo137 added good first issue Good for newcomers 05 - Enhancement Improvements of existing code 06 - Feature-request Missing a feature or functionality labels Jul 16, 2023
@szabo137 szabo137 removed the good first issue Good for newcomers label Jan 6, 2025
@szabo137 szabo137 transferred this issue from QEDjl-project/QEDbase.jl Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
05 - Enhancement Improvements of existing code 06 - Feature-request Missing a feature or functionality
Projects
None yet
Development

No branches or pull requests

1 participant