Once again, thanks for your help, it helps a lot! Unfortunately I still have some questions:
First of all, I have following code:
//Create the sensitive area for the sensor
TGeoVolume* plane = geom->MakeBox( "sensarea", Si, 10.6, 5.3, 1.01 );
//Divide the regions to create pixels
TGeoVolume* row = plane->Divide("row", 2 , 52 , 0 , 1, 0, "N");
TGeoVolume* pixel = row->Divide("pixel", 1 , 46, 0 , 1, 0, "N");
Dividing with Divide(“row”, 1, nx) does not work, also I don’t find this type signature in the online documentation, whereas it is the way as described in chapter 18 of the documentation: 
Furthermore, as soon as I increase the division count:
TGeoVolume* row = plane->Divide("row", 2 , 1100 , 0 , 1, 0, "N");
TGeoVolume* pixel = row->Divide("pixel", 1 ,500, 0 , 1, 0, "N");
I only see the division into rows when I look at the result via Draw() (see attached screenshot). But I can browse the correct structure, also the right amount of nodes in created and navigation works as it should. So I guess this is just a limitation of the drawing? In that case that’s fine for me.
My third and final question concerns the coordinate transformations local <-> global: Your above way works like a charm, but if I’m not mistaken it only works as long as I have a constant depth in my divisions/placement of nodes in other nodes. This determines how often I need to call the ->GetMother(1) and do the next transformation. What if my detector consists of different regions, lets say for example this would be a pixel: /world/plane1/region1_1/subdivision_X as well as /world/plane1/region2_1/subdivision_X/subdivision_Y would be one (just in a different region). I now want to get the coordinates in the local frame of /world/plane1 the same way for any of those pixels, given that I obviously know the path to /world/plane1. Is there any quick way without recursively going up one node and checking if this is /world/plane1?
Cheers and many thanks,
Tobias