The current coordinate systems XYZT, PxPyPzE, PtEtaPhiM are very inconsistent what and how they define. For instance in PxPyPzE.jl there are defined accessors for any coordinate system
The correspondence between x, y, z,t and px,py,pz,E is mentioned only in their docstring. It's not reflected in the "interface" code (only added ad-hoc in PxPyPzE.jl).
I'm not sure if this can be automatically enforced (or even desired), but I think the provided coordinate systems should follow the design described in the docs. that is defining all accessors from except accessors from coordinate_names. In particular XYZT with coordinate_names=(:x, :y, :z, :t) shouldn't define x, y,z,t and leave them to vector types
The current coordinate systems
XYZT,PxPyPzE,PtEtaPhiMare very inconsistent what and how they define. For instance inPxPyPzE.jlthere are defined accessors for any coordinate systemLorentzVectorBase.jl/src/coordinate_systems/PxPyPzE.jl
Line 52 in b9b9d8f
The correspondence between
x,y,z,tandpx,py,pz,Eis mentioned only in their docstring. It's not reflected in the "interface" code (only added ad-hoc inPxPyPzE.jl).I'm not sure if this can be automatically enforced (or even desired), but I think the provided coordinate systems should follow the design described in the docs. that is defining all accessors from except accessors from
coordinate_names. In particularXYZTwithcoordinate_names=(:x, :y, :z, :t)shouldn't definex,y,z,tand leave them to vector types