Obsolete.
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySupport.cxx
index fa87eac..7eb1f4c 100644 (file)
@@ -97,8 +97,8 @@ void AliITSv11GeometrySupport::SPDCone(TGeoVolume *moth,TGeoManager *mgr)
   const Double_t kInnerRadiusRing = 37.3*fgkcm;
   const Double_t kOuterRadiusRing = 42.0*fgkcm;
   const Double_t kOuterRadiusWing = 49.25*fgkcm;
-  const Double_t kWideWing  = 6.0*fgkcm;
-  const Double_t kThetaWing = 45.0;
+  const Double_t kWideWing      = 6.0*fgkcm;
+  const Double_t kThetaWing     = 45.0;
   // Common data
   const Double_t kTheta = 36.0*TMath::DegToRad();
   const Double_t kThicknessOmega = 0.3*fgkmm;
@@ -478,7 +478,7 @@ void AliITSv11GeometrySupport::SPDCone(TGeoVolume *moth,TGeoManager *mgr)
              -kHalfLengthRing));
 
   for (Int_t i=0; i<4; i++) {
-    Double_t thetaW = kThetaWing*(2*i+1);
+    Double_t thetaW = kThetaWing*(2*i+1) - angleWideWing/2.;
     vM->AddNode(wing,2*i+1,new TGeoCombiTrans(0, 0,
              kHalfLengthCentral+2*kHalfLengthEndCap+2*kHalfLengthCone
              +kHalfLengthRing, new TGeoRotation("",thetaW,0,0)  ));
@@ -741,6 +741,7 @@ void AliITSv11GeometrySupport::SDDCone(TGeoVolume *moth,TGeoManager *mgr)
 //
 // Created:         ???       Bjorn S. Nilsen
 // Updated:      18 Feb 2008  Mario Sitta
+// Updated:      25 Jul 2008  Mario Sitta   SDDCarbonFiberCone simpler
 //
 // Technical data are taken from:  "Supporto Generale Settore SDD"
 // (technical drawings ALR-0816/1-B), "Supporto Globale Settore SDD"
@@ -767,7 +768,7 @@ void AliITSv11GeometrySupport::SDDCone(TGeoVolume *moth,TGeoManager *mgr)
   const Double_t kConeROutMax        = (560.0/2)*fgkmm;
   const Double_t kConeRCurv          =      10.0*fgkmm; // Radius of curvature
   const Double_t kConeRinMin         = (210.0/2)*fgkmm;
-  const Double_t kConeRinMax         = (216.0/2)*fgkmm;
+//  const Double_t kConeRinMax         = (216.0/2)*fgkmm;
   const Double_t kConeRinCylinder    = (231.0/2)*fgkmm;
   const Double_t kConeZCylinder      =     192.0*fgkmm;
   const Double_t kConeZOuterMilled   =      23.0*fgkmm;
@@ -891,7 +892,7 @@ void AliITSv11GeometrySupport::SDDCone(TGeoVolume *moth,TGeoManager *mgr)
 
   dza = kConeThickness/kSinConeTheta-(kConeROutMax-kConeROutMin)/kTanConeTheta;
 
-  TGeoPcon *coneshape = new TGeoPcon(0.0, 360.0, 12);
+  TGeoPcon *coneshape = new TGeoPcon(0.0, 360.0, 10);
 
   coneshape->Z(0)     = 0.0;
   coneshape->Rmin(0)  = kConeROutMin;
@@ -920,52 +921,35 @@ void AliITSv11GeometrySupport::SDDCone(TGeoVolume *moth,TGeoManager *mgr)
 
   coneshape->Rmax(3)  = RmaxFrom2Points(coneshape,4,2,coneshape->GetZ(3));
 
+  coneshape->Z(6)     = kConeZCylinder - kConeDZin;
+
+  RadiusOfCurvature(kConeRCurv,90.0,coneshape->GetZ(6),0.0,
+                   90.0-kConeTheta,z,rmin);
+  coneshape->Z(5)     = z;
+  coneshape->Rmin(5)  = RminFromZpCone(coneshape,3,kConeTheta,z);
+  coneshape->Rmax(5)  = RmaxFromZpCone(coneshape,4,kConeTheta,z);
+
+  RadiusOfCurvature(kConeRCurv,90.-kConeTheta,
+                   0.0,coneshape->Rmin(5),90.0,z,rmin);
+  coneshape->Rmin(6)  = rmin;
+  coneshape->Rmax(6)  = RmaxFromZpCone(coneshape,4,kConeTheta,
+                                      coneshape->GetZ(6));
+
+  coneshape->Z(7)     = coneshape->GetZ(6);
   coneshape->Rmin(7)  = kConeRinMin;
+  coneshape->Rmax(7)  = coneshape->GetRmax(6);
 
   coneshape->Rmin(8)  = kConeRinMin;
 
-  RadiusOfCurvature(kConeRCurv,90.0,0.0,kConeRinMax,90.0-kConeTheta,z,rmax);
+  RadiusOfCurvature(kConeRCurv,90.0,kConeZCylinder,kConeRinCylinder,
+                   90.0-kConeTheta,z,rmax);
+  coneshape->Z(8)     = z;
   coneshape->Rmax(8)  = rmax;
-  coneshape->Z(8)     = ZFromRmaxpCone(coneshape,4,kConeTheta,
-                                      coneshape->GetRmax(8));
 
   coneshape->Z(9)     = kConeZCylinder;
   coneshape->Rmin(9)  = kConeRinMin;
+  coneshape->Rmax(9)  = kConeRinCylinder;
 
-  coneshape->Z(10)    = coneshape->GetZ(9);
-  coneshape->Rmin(10) = kConeRinCylinder;
-
-  coneshape->Rmin(11) = kConeRinCylinder;
-  coneshape->Rmax(11) = coneshape->GetRmin(11);
-
-  rmin                = coneshape->GetRmin(8);
-  RadiusOfCurvature(kConeRCurv,90.0-kConeTheta,
-                   coneshape->GetZ(8),coneshape->GetRmax(8),90.0,z,rmax);
-  rmax                = kConeRinMax;
-  coneshape->Z(11)    = z + (coneshape->GetZ(8)-z)*
-                   (coneshape->GetRmax(11)-rmax)/(coneshape->GetRmax(8)-rmax);
-
-  coneshape->Rmax(9)  = RmaxFrom2Points(coneshape,11,8,coneshape->GetZ(9));
-
-  coneshape->Rmax(10) = coneshape->GetRmax(9);
-
-  coneshape->Z(6)     = z - kConeDZin;
-  coneshape->Z(7)     = coneshape->GetZ(6);
-
-  coneshape->Rmax(6)  = RmaxFromZpCone(coneshape,4,kConeTheta,
-                                      coneshape->GetZ(6));
-
-  coneshape->Rmax(7)  = coneshape->GetRmax(6);
-
-  RadiusOfCurvature(kConeRCurv,90.,
-                   coneshape->GetZ(6),0.0,90.0-kConeTheta,z,rmin);
-  coneshape->Z(5)     = z;
-  coneshape->Rmin(5)  = RminFromZpCone(coneshape,3,kConeTheta,z);
-  coneshape->Rmax(5)  = RmaxFromZpCone(coneshape,4,kConeTheta,z);
-
-  RadiusOfCurvature(kConeRCurv,90.-kConeTheta,
-                   0.0,coneshape->Rmin(5),90.0,z,rmin);
-  coneshape->Rmin(6)  = rmin;
 
   // SDD Cone Insert: another Pcon
   Double_t x0, y0, x1, y1, x2, y2;
@@ -1533,7 +1517,7 @@ void AliITSv11GeometrySupport::SSDCone(TGeoVolume *moth,TGeoManager *mgr)
   const Double_t kConeRCurv1           =       10.0 *fgkmm;
   const Double_t kConeRCurv2           =       25.0 *fgkmm;
   const Double_t kConeCent1RCurv2      = ( 578.0/2) *fgkmm;
-  const Double_t kConeCent2RCurv2      = ( 593.0/2) *fgkmm;
+  const Double_t kConeCent2RCurv2      = ( 592.0/2) *fgkmm;
 //  const Double_t kConeZOuterRing       =       47.0 *fgkmm;
 //  const Double_t kConeZOuterRingInside =       30.25*fgkmm;
 //  const Double_t kConeZInnerRing       =      161.5 *fgkmm;
@@ -2815,7 +2799,7 @@ void AliITSv11GeometrySupport::ServicesCableSupport(TGeoVolume *moth,
     } // end for i
     if(GetDebug(1)) for(i=0;i<kct24Ntrays;i++) Info("ServicesCableSupport",
                                                   "tha[%d]=%f",i,tha[i]);
-    Char_t *airName[kct24Ntrays]={"FMD0","SDD0","SSD0","SSD1","SPD0","SPD1",
+    const Char_t *airName[kct24Ntrays]={"FMD0","SDD0","SSD0","SSD1","SPD0","SPD1",
                                   "TV00","SDD1","SDD2","SPD2","SPD3","ALG0",
                                   "SPD4","SPD5","SSD2","SSD3","SPD6","SPD7",
                                   "TV01","SDD3","SDD4","SPD8","SPD9","ALG1",
@@ -2823,7 +2807,7 @@ void AliITSv11GeometrySupport::ServicesCableSupport(TGeoVolume *moth,
                                   "TV02","SDD6","SDD7","SPDC","SPDD","ALG2",
                                   "SPDE","SPDF","SSD6","SSD7","SPDG","SPDH",
                                   "TV03","SDD8","SDD9","SPDI","SPDJ","ALG3"};
-    Char_t *trayName[kct24Ntrays]={"FMD0","SSD0","SSD1","SSD2","SSD3","SPD0",
+    const Char_t *trayName[kct24Ntrays]={"FMD0","SSD0","SSD1","SSD2","SSD3","SPD0",
                                    "TV00","SDD0","SDD1","SDD2","SPD1","ALG0",
                                    "SPD2","SSD4","SSD5","SSD6","SSD7","SPD3",
                                    "TV01","SDD3","SDD4","SDD5","SPD4","ALG1",
@@ -2895,7 +2879,7 @@ void AliITSv11GeometrySupport::ServicesCableSupport(TGeoVolume *moth,
         thb[i+  kft24NPatchPannels/2] = 180.0 + thb[i];
         thb[i+3*kft24NPatchPannels/4] = 270.0 + thb[i];
     } // end for i
-    Char_t *pachName[kft24NPatchPannels]={"FMD0","SSD0","SPD0","SDD0","SPD1",
+    const Char_t *pachName[kft24NPatchPannels]={"FMD0","SSD0","SPD0","SDD0","SPD1",
                                           "SPD2","SSD1","SPD3","SDD1","SPD4",
                                           "FMD1","SSD2","SPD5","SDD2","SPD6",
                                           "SPD7","SSD3","SPD8","SDD3","SPD9"};