diff --git a/examples/ILDExDet/compact/ILDEx.xml b/examples/ILDExDet/compact/ILDEx.xml
index c05e327020e288925cd265edccda4444053bffe5..b11ade565d570fccbbdf7754c229476ea980557c 100644
--- a/examples/ILDExDet/compact/ILDEx.xml
+++ b/examples/ILDExDet/compact/ILDEx.xml
@@ -155,7 +155,7 @@
         </detector>
         
       
-        <detector name="TPC" type="XXXILDExTPC" vis="TPCVis" id="3" limits="TPC_limits" readout="TPCCollection" insideTrackingVolume="true">
+        <detector name="TPC" type="ILDExTPC" vis="TPCVis" id="3" limits="TPC_limits" readout="TPCCollection" insideTrackingVolume="true">
            <tubs rmin="TPC_inner_radius" rmax="TPC_outer_radius" zhalf="TPC_zhalf"/>
 
            <!-- GEAR Data-->
diff --git a/examples/ILDExDet/src/AhcalBarrelCalorimeter_geo.cpp b/examples/ILDExDet/src/AhcalBarrelCalorimeter_geo.cpp
index 03af52f73c9228915917fd049f0c1d2f569993fa..8a5759cd8c9e59be59fa460eca6da8b49df7e330 100644
--- a/examples/ILDExDet/src/AhcalBarrelCalorimeter_geo.cpp
+++ b/examples/ILDExDet/src/AhcalBarrelCalorimeter_geo.cpp
@@ -78,7 +78,7 @@ static Ref_t create_detector(LCDD& lcdd, xml_h element, SensitiveDetector sens)
   
   // keep the envelope rotation as the same as the stave
   // the stave number can be changed in the compact XML.
-  Rotation rot(M_PI/2. - M_PI/numSides,0,0);
+  RotationZYX rot(M_PI/2. - M_PI/numSides,0,0);
 
   // Create Hcal Barrel volume with material Steel235 
   IntersectionSolid barrelModuleSolid(tube_shaper,polyhedra_shaper,rot);
diff --git a/examples/ILDExDet/src/ILDExTPC_geo.cpp b/examples/ILDExDet/src/ILDExTPC_geo.cpp
index 42ddc8560d86f0dd40758e3df1cbe359fb8337d7..3beacfe158587dd911a5935a4dcbc5d2cbdcc442 100644
--- a/examples/ILDExDet/src/ILDExTPC_geo.cpp
+++ b/examples/ILDExDet/src/ILDExTPC_geo.cpp
@@ -49,7 +49,7 @@ static Ref_t create_element(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
     Volume      part_vol(part_nam,part_tub,part_mat);
 
     Position    part_pos(px_pos.x(),px_pos.y(),px_pos.z());
-    Rotation    part_rot(px_rot.x(),px_rot.y(),px_rot.z());
+    RotationZYX    part_rot(px_rot.z(),px_rot.y(),px_rot.x());
     bool        reflect   = px_det.reflect();
     
     sens.setType("tracker");
@@ -79,13 +79,13 @@ static Ref_t create_element(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
 
 	    Tube    gas_tubL( r0 + (2*i) * dR , r0 + (2*i+1) * dR , zh );
 	    Volume  gas_volL(  _toString( i, "tpc_row_lower_%03d") , gas_tubL, part_mat);
-	    part_vol.placeVolume( gas_volL, Rotation(0,0,0) );
+	    part_vol.placeVolume( gas_volL, RotationZYX(0,0,0) );
 
 	    Tube    gas_tubU( r0 + (2*i+1) * dR , r0 + (2*i+2) * dR , zh );
 	    Volume  gas_volU( _toString( i, "tpc_row_upper_%03d")  , gas_tubU, part_mat);
 
 	    gas_volU.setSensitiveDetector( sens );
-	    part_vol.placeVolume( gas_volU, Rotation(0,0,0) ).addPhysVolID("layer",i) ;
+	    part_vol.placeVolume( gas_volU, RotationZYX(0,0,0) ).addPhysVolID("layer",i) ;
 	  }
 	  
 	 
@@ -126,7 +126,7 @@ static Ref_t create_element(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
             DetElement  module(part_det,m_nam,mdcount);
             mdcount++;
             double rotz=md*2*M_PI/nmodules+row.modulePitch()/(rmin+(rmax-rmin))/2;
-            PlacedVolume m_phv = part_vol.placeVolume(mr_vol,Rotation(rotz,0,0));
+            PlacedVolume m_phv = part_vol.placeVolume(mr_vol,RotationZYX(rotz,0,0));
             m_phv.addPhysVolID("module",md);
             module.setPlacement(m_phv);
             // Readout and placement must be present before adding extension,
@@ -147,7 +147,7 @@ static Ref_t create_element(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
     if(reflect){
       Position r_pos(px_pos.x(),px_pos.y(),-px_pos.z());
       //Attention: rotation is given in euler angles
-      Rotation r_rot(0,M_PI,M_PI);
+      RotationZYX r_rot(0,M_PI,M_PI);
       // Volume      part_vol_r(lcdd,part_nam+"_negativ",part_tub,part_mat);
       PlacedVolume part_phv2 = tpc_vol.placeVolume(part_vol,Transform3D(Rotation3D(r_rot),r_pos));
       //part_phv2.addPhysVolID(part_nam+"_negativ",px_det.id()+1);
diff --git a/examples/ILDExDet/src/ILDExVXD_geo.cpp b/examples/ILDExDet/src/ILDExVXD_geo.cpp
index e324e351abfc0543a9fc00e51050d20bb2f3d64b..9ed3fba3838ff852f9cf923a3f5de8a0c07a4ec7 100644
--- a/examples/ILDExDet/src/ILDExVXD_geo.cpp
+++ b/examples/ILDExDet/src/ILDExVXD_geo.cpp
@@ -123,7 +123,7 @@ static Ref_t create_element(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
        		    (radius + lthick/2.)*sin(phi)  + offset * cos( phi ) ,
        		    0. ) ;
 
-      Rotation rot( 0, 0 , phi ) ;
+      RotationZYX rot( 0, 0 , phi ) ;
 
 
       pv = assembly.placeVolume( laddervol,Transform3D(RotationZ(phi),pos));