- shDDIP1->DefineSection(2, +dipoleL/2., 0., rcD2);
- shDDIP1->DefineSection(3, +dipoleL/2. + 5., 0., rcD2);
-
- TGeoCombiTrans* trDDIP = new TGeoCombiTrans("trDDIP", 0., dipoleL/2. * TMath::Tan(alhc * kDegrad), 0., rotlhc);
- trDDIP->RegisterYourself();
+ Float_t rc30 = z30 * TMath::Tan(9. * kDegrad);
+ Float_t rcst = rcD1 + (zst - kZDipole) * TMath::Tan(10.1 * kDegrad);
+
+
+ Float_t riD0 = (kZDipoleF - 5.) * TMath::Tan(2. * kDegrad) + 0.2;
+ Float_t riD1 = 30.;
+ Float_t riD2 = 35.8;
+ Float_t riD3 = riD2 + (kZDipoleR - zst) * TMath::Tan(2. * kDegrad);
+ Float_t riD4 = riD2 + (kZDipoleR - zst + 5.) * TMath::Tan(2. * kDegrad);
+
+
+ TGeoPcon* shDDIP1 = new TGeoPcon("shDDIP1", 0., 360., 7);
+
+ shDDIP1->DefineSection(0, (kZDipoleF - 5.), riD0, rcD0);
+ shDDIP1->DefineSection(1, z30 , riD1, rc30);
+ shDDIP1->DefineSection(2, kZDipole , riD1, rcD1);
+ shDDIP1->DefineSection(3, zst , riD1, rcst);
+ shDDIP1->DefineSection(4, zst , riD2, rcst);
+ shDDIP1->DefineSection(5, kZDipoleR , riD3, rcD2);
+ shDDIP1->DefineSection(6, (kZDipoleR + 5.), riD4, rcD2);