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 );