diff --git a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
index bbfe7dce380359128b828a8a4ff1b407df1ccadb..402afae0084d41f838c34bfab3720bbeb49563c8 100644
--- a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
+++ b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
@@ -33,6 +33,9 @@
   <include ref="../CRD_common_v02/FTD_SkewRing_v01_05.xml"/>
   <include ref="../CRD_common_v02/SIT_SimplePixel_v01_03.xml"/>
   <include ref="../CRD_common_v01/TPC_Simple_v10_02.xml"/>
+  <include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/-->
+  <include ref="./TPC_ModularEndcap_TDR_o1_v01.xml"/>
+  
   <!--prepare for update, need check first-->
   <!--include ref="../CRD_common_v02/TPC_ModularEndcap_o1_v01.xml"/-->
   <include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/>
diff --git a/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp b/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp
index 140f1f811be4081dfe2c6dd84a7c6aa7f7738cee..2ec03997d42456baa56bd5fb57ca6bb90101e7ca 100644
--- a/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp
+++ b/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp
@@ -28,6 +28,7 @@ using dd4hep::rec::SurfaceType;
 using dd4hep::rec::volSurfaceList;
 using dd4hep::rec::VolPlane;
 using dd4hep::rec::FixedPadSizeTPCData;
+using dd4hep::rec::ConicalSupportData;
 
 /** Construction of TPC detector, ported from Mokka driver TPC10.cc
  * Mokka History:
@@ -507,6 +508,31 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se
     tpcData->driftLength = dzTotal/2.- dz_Endplate - dz_Readout - dz_Cathode/2.0; // SJA: cathode has to be added as the sensitive region does not start at 0.00    
     tpcData->zMinReadout = dz_Cathode/2.0; 
 
+    ConicalSupportData* supportData = new ConicalSupportData;
+
+    ConicalSupportData::Section section0;
+    section0.rInner = rInner + drInnerWall; 
+    section0.rOuter = rOuter - drOuterWall;
+    section0.zPos   = dzTotal/2. - dz_Endplate - dz_Readout; 
+
+    ConicalSupportData::Section section1;
+    section1.rInner = rInner + drInnerWall; 
+    section1.rOuter = rOuter - drOuterWall;
+    section1.zPos   = dzTotal/2. - dz_Endplate; 
+
+    ConicalSupportData::Section section2;
+    section2.rInner = rInner ; 
+    section2.rOuter = rOuter ;
+    section2.zPos   = dzTotal/2.; 
+
+    supportData->sections.push_back(section0);
+    supportData->sections.push_back(section1);
+    supportData->sections.push_back(section2);
+
+
+    tpc.addExtension< FixedPadSizeTPCData >(tpcData);
+    tpc.addExtension< ConicalSupportData >(supportData);
+
     //tpc.setVisAttributes( theDetector, x_det.visStr(), envelope );
     tpc.setVisAttributes( theDetector, "TPCMotherVis1", envelope );
     //  if( tpc.isValid() ) 
diff --git a/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp b/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp
index 0ce7ec73a64af36138604f83fd7f30cc0a74803c..8dd22ac704176667ccd23f655bc93ecca2c37300 100644
--- a/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp
+++ b/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp
@@ -28,6 +28,7 @@ using dd4hep::rec::SurfaceType;
 using dd4hep::rec::volSurfaceList;
 using dd4hep::rec::VolPlane;
 using dd4hep::rec::FixedPadSizeTPCData;
+using dd4hep::rec::ConicalSupportData;
 
 /** Construction of TPC detector, ported from Mokka driver TPC10.cc
  * Mokka History:
@@ -450,6 +451,30 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se
     tpcData->padWidth =  tpcpadwidth;
     tpcData->driftLength = dzTotal/2.- dz_Endplate - dz_Readout - dz_Cathode/2.0; // SJA: cathode has to be added as the sensitive region does not start at 0.00    
     tpcData->zMinReadout = dz_Cathode/2.0; 
+    
+    ConicalSupportData* supportData = new ConicalSupportData;
+
+    ConicalSupportData::Section section0;
+    section0.rInner = rInner + drInnerWall; 
+    section0.rOuter = rOuter - drOuterWall;
+    section0.zPos   = dzTotal/2. - dz_Endplate - dz_Readout; 
+
+    ConicalSupportData::Section section1;
+    section1.rInner = rInner + drInnerWall; 
+    section1.rOuter = rOuter - drOuterWall;
+    section1.zPos   = dzTotal/2. - dz_Endplate; 
+
+    ConicalSupportData::Section section2;
+    section2.rInner = rInner ; 
+    section2.rOuter = rOuter ;
+    section2.zPos   = dzTotal/2.; 
+
+    supportData->sections.push_back(section0);
+    supportData->sections.push_back(section1);
+    supportData->sections.push_back(section2);
+
+    tpc.addExtension< FixedPadSizeTPCData >(tpcData);
+    tpc.addExtension< ConicalSupportData >(supportData);
 
     //tpc.setVisAttributes( theDetector, x_det.visStr(), envelope );
     tpc.setVisAttributes( theDetector, "TPCMotherVis1", envelope );