+ Float_t slo = 2. * kRDoorOuter * TMath::Tan(22.5 * kDegRad);
+ Float_t sli = 2. * kRPlugInner * TMath::Tan(22.5 * kDegRad);
+ Double_t xpol1[12], xpol2[12], ypol1[12], ypol2[12];
+
+ xpol1[ 0] = 2. ; ypol1[ 0] = kRDoorOuter;
+ xpol1[ 1] = slo/2. ; ypol1[ 1] = kRDoorOuter;
+ xpol1[ 2] = kRDoorOuter; ypol1[ 2] = slo/2.;
+ xpol1[ 3] = kRDoorOuter; ypol1[ 3] = -slo/2.;
+ xpol1[ 4] = slo/2. ; ypol1[ 4] = -kRDoorOuter;
+ xpol1[ 5] = 2. ; ypol1[ 5] = -kRDoorOuter;
+ xpol1[ 6] = 2. ; ypol1[ 6] = -kRPlugInner - os;
+ xpol1[ 7] = sli/2. ; ypol1[ 7] = -kRPlugInner - os;
+ xpol1[ 8] = kRPlugInner; ypol1[ 8] = -sli/2. - os;
+ xpol1[ 9] = kRPlugInner; ypol1[ 9] = sli/2. - os;
+ xpol1[10] = sli/2. ; ypol1[10] = kRPlugInner - os;
+ xpol1[11] = 2. ; ypol1[11] = kRPlugInner - os;
+
+ TGeoXtru* shL3DoorR = new TGeoXtru(2);
+ shL3DoorR->DefinePolygon(12, xpol1, ypol1);
+ shL3DoorR->DefineSection(0, kLDoor1);
+ shL3DoorR->DefineSection(1, kLDoor2);
+ TGeoVolume* voL3DoorR = new TGeoVolume("L3DoorR", shL3DoorR, medSteel);
+
+ for (Int_t i = 0; i < 12; i++) {
+ xpol2[i] = - xpol1[11 - i];
+ ypol2[i] = ypol1[11 - i];
+ }
+
+ TGeoXtru* shL3DoorL = new TGeoXtru(2);
+ shL3DoorL->DefinePolygon(12, xpol2, ypol2);
+ shL3DoorL->DefineSection(0, kLDoor1);
+ shL3DoorL->DefineSection(1, kLDoor2);
+ TGeoVolume* voL3DoorL = new TGeoVolume("L3DoorL", shL3DoorL, medSteel);
+ //
+ // Plug support plate
+ //
+ Float_t ro = kRPlugInner + 50.;
+ slo = 2. * ro * TMath::Tan(22.5 * kDegRad);
+
+ xpol1[ 0] = 2. ; ypol1[ 0] = ro - os;
+ xpol1[ 1] = slo/2. ; ypol1[ 1] = ro - os;
+ xpol1[ 2] = ro ; ypol1[ 2] = slo/2. - os;
+ xpol1[ 3] = ro ; ypol1[ 3] = -slo/2.- os;
+ xpol1[ 4] = slo/2. ; ypol1[ 4] = -ro - os;
+ xpol1[ 5] = 2. ; ypol1[ 5] = -ro - os;
+
+ for (Int_t i = 0; i < 12; i++) {
+ xpol2[i] = - xpol1[11 - i];
+ ypol2[i] = ypol1[11 - i];
+ }
+
+
+ TGeoXtru* shL3PlugSPR = new TGeoXtru(2);
+ shL3PlugSPR->DefinePolygon(12, xpol1, ypol1);
+ shL3PlugSPR->DefineSection(0, kLDoor1-10.);
+ shL3PlugSPR->DefineSection(1, kLDoor1);
+ TGeoVolume* voL3PlugSPR = new TGeoVolume("L3PlugSPR", shL3PlugSPR, medSteel);
+
+ TGeoXtru* shL3PlugSPL = new TGeoXtru(2);
+ shL3PlugSPL->DefinePolygon(12, xpol2, ypol2);
+ shL3PlugSPL->DefineSection(0, kLDoor1-10.);
+ shL3PlugSPL->DefineSection(1, kLDoor1);
+ TGeoVolume* voL3PlugSPL = new TGeoVolume("L3PlugSPL", shL3PlugSPL, medSteel);
+
+