]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11GeometrySupport.cxx
Other overlaps removed (E. Cattaruzza and M. Sitta)
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySupport.cxx
index feb09a73b1f1ffaec8372e19803faee8a92586ea..fb515c5c93623b274d9f336e53dc2b3d8948b8c4 100644 (file)
@@ -97,8 +97,10 @@ 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 kThetaWing0    = 47.0;  // Between SSDCableITSRing3RB24
+  const Double_t kThetaWing1    = 125.0; // and SSDCableITSRing3RB26
+  const Double_t kThetaWingStep = 180.0;
   // Common data
   const Double_t kTheta = 36.0*TMath::DegToRad();
   const Double_t kThicknessOmega = 0.3*fgkmm;
@@ -477,12 +479,19 @@ void AliITSv11GeometrySupport::SPDCone(TGeoVolume *moth,TGeoManager *mgr)
             -kHalfLengthCentral-2*kHalfLengthEndCap-2*kHalfLengthCone
              -kHalfLengthRing));
 
-  for (Int_t i=0; i<4; i++) {
-    Double_t thetaW = kThetaWing*(2*i+1);
-    vM->AddNode(wing,2*i+1,new TGeoCombiTrans(0, 0,
+  for (Int_t i=0; i<2; i++) {
+    Double_t thetaW = kThetaWing0 + kThetaWingStep*i;
+    vM->AddNode(wing,4*i+1,new TGeoCombiTrans(0, 0,
+             kHalfLengthCentral+2*kHalfLengthEndCap+2*kHalfLengthCone
+             +kHalfLengthRing, new TGeoRotation("",thetaW,0,0)  ));
+    vM->AddNode(wing,4*i+2,new TGeoCombiTrans(0, 0,
+            -kHalfLengthCentral-2*kHalfLengthEndCap-2*kHalfLengthCone
+             -kHalfLengthRing, new TGeoRotation("",thetaW,0,0)  ));
+    thetaW = kThetaWing1 + kThetaWingStep*i;
+    vM->AddNode(wing,4*i+3,new TGeoCombiTrans(0, 0,
              kHalfLengthCentral+2*kHalfLengthEndCap+2*kHalfLengthCone
              +kHalfLengthRing, new TGeoRotation("",thetaW,0,0)  ));
-    vM->AddNode(wing,2*i+2,new TGeoCombiTrans(0, 0,
+    vM->AddNode(wing,4*i+4,new TGeoCombiTrans(0, 0,
             -kHalfLengthCentral-2*kHalfLengthEndCap-2*kHalfLengthCone
              -kHalfLengthRing, new TGeoRotation("",thetaW,0,0)  ));
   }
@@ -1544,7 +1553,7 @@ void AliITSv11GeometrySupport::SSDCone(TGeoVolume *moth,TGeoManager *mgr)
   const Double_t kConeZLength          =      168.0 *fgkmm;
   const Double_t kConeZPosition        = kConeZLength + kCylinderHalfLength;
   const Double_t kConeThickness        =       13.0 *fgkmm; // Cone thickness
-  const Double_t kConeTheta            =       39.0 *fgkDegree; // Cone angle
+  const Double_t kConeTheta            =       39.1 *fgkDegree; // Cone angle
   const Double_t kSinConeTheta         =
                                       TMath::Sin(kConeTheta*TMath::DegToRad());
   const Double_t kCosConeTheta         =
@@ -1571,7 +1580,7 @@ void AliITSv11GeometrySupport::SSDCone(TGeoVolume *moth,TGeoManager *mgr)
   const Double_t kWingHalfThick        = (  10.0/2) *fgkmm;
   const Double_t kThetaWing            =       45.0 *fgkDegree;
   // Dimensions of the SSD-SDD Mounting Brackets
-  const Double_t kBracketRmin          = ( 540.0/2) *fgkmm;// See SDD ROutMin
+  const Double_t kBracketRmin          = ( 541.0/2) *fgkmm;// See SDD ROutMin
   const Double_t kBracketRmax          = ( 585.0/2) *fgkmm;
   const Double_t kBracketHalfLength    = (   4.0/2) *fgkmm;
   const Double_t kBracketPhi           = (70.*fgkmm/kBracketRmax)*fgkRadian;