Re: TPad coordinate systems

Rene Brun (Rene.Brun@cern.ch)
Wed, 19 Nov 1997 15:40:00 +0100


ROHLFS Reiner wrote:

> Hi ROOTers,
>
> looking to the documentation of TPad I found several coordinate systems:
>
> 1) X/Y see functions XtoPixel, YtoPixel
> 2) U/V see functions UtoPixel, VtoPixel
> 3) Pixel see functions XtoPixel, UtoPixel
> 4) AbsPixel see functions XtoAbsPixel, UtoAbsPixel
> 5) Pad see functions XtoPad, YtoPad
> 6) CurrentPad World coordinates see functions PaintLine, PaintText
> 7) NDC coordinates see functions PaintLineNDC, PaintTextNDC
> 8) px/py see function ResizePad
> 9) pad axis coordinates see function GetRangeAxis
>
> Is there any description of all these coordinate systems?
>

The Root pads use 3 different coordinate systems. - the user coordinate
system. Most Pad user callable functions
are working in this system. All graphics primitives have parameters
defined in terms of user coordinates.

- the Normalized Coordinate System in the range [0,1]
Several internal Root functions use this system.
(3-d primitives, log scale mapping to lin scale, PostScript)
Creation of a pad inside another pad is also expressed in NDC.

- the pixel coordinate system used by functions
such as DistancetoPrimitive and ExecuteEvent.
Utility functions like XtoPixel, PixeltoX convert from the user
coordinate system to pixels and vice-versa.

By default, the pad user coordinate system is set to [0,1] and
is the same as NDC, unless you set a different range.

Rene Brun