# Absolute coordinate and world coordinate

Hi,

I am trying to understand better the coordinate systems used in ROOT, so that I can read and understand the implementations for zooming.

In the manual, I can see the definitions of three coordinate systems:

1. User coordinate system
2. NDC coordinate system
3. Pixel coordinate system

However, when I try to read the source for TPad, I see two other coordinate systems used:

AbsolutePixel (AbsPixel) and World coordinate system.

I think the world-coordinates actually means the user-coordinates,
but I canâ€™t figure the difference between Absolute Pixel and Pixel.

When is Absolute pixel coordinate used?

Thanks

for example, one inline method in TPad.h

{
if (fAbsCoord) return fAbsPixeltoXk + pxfPixeltoX;
else return fPixeltoXk + px
fPixeltoX;
}

1 Like

The diffierence is the pxlow factor:

``````  fXtoAbsPixelk = rounding + pxlow - pxrange*fX1/xrange;
fXtoPixelk = rounding +  -pxrange*fX1/xrange;``````

Which is computed as follow:

``````  Double_t wh = (Double_t)gPad->GetWh();
Double_t pxlow   = fAbsXlowNDC*ww;``````

fAbsXlowNDC is nul in case of a single pad but is not in case of multiple pads (Divide()). So you should one method or the other depending if you want to convert in pixels in â€śCanvas pixel coordinatesâ€ť or in the current â€śpad pixel coordinatesâ€ť. I would suggest you create a canvas with multiple subpads and make yourself some tries to understand the difference.

[quote=â€śtimtranâ€ť]Hi,
I am trying to understand better the coordinate systems used in ROOT, so that I can read and understand the implementations for zooming.