]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11GeometrySDD.cxx
Switch on QA, as it seems it is not run by default anymore
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySDD.cxx
index 78b04484228d32eafe68f23c9692ff1be88a43a2..9695bc0eec825f09be92df4c98475143e2034693 100755 (executable)
@@ -11,7 +11,7 @@
  * appear in the supporting documentation. The authors make no claims     *
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
- *********************************s*****************************************/
+ **************************************************************************/
 
 
 //*************************************************************************
@@ -1483,8 +1483,12 @@ void AliITSv11GeometrySDD::ForwardLayer3(TGeoVolume *moth) {
     virtualForward3Neg->CheckOverlaps(0.01);
   }
 
-  moth->AddNode(virtualForward3Pos, 1);
-  moth->AddNode(virtualForward3Neg, 1);
+  // 180deg Y rotation to compensate the cancellation of ITSD volume
+  // (idortm[199] in AliITSv11Hybrid : z--->  -z;   x ---> -x;   y ---> y)
+  TGeoRotation *y180 = new TGeoRotation();
+  y180->SetAngles( 90.,180., 90., 90.,180.,  0.);
+  moth->AddNode(virtualForward3Pos, 1, y180);
+  moth->AddNode(virtualForward3Neg, 1, y180);
 }
 
 //________________________________________________________________________
@@ -1733,8 +1737,12 @@ void AliITSv11GeometrySDD::ForwardLayer4(TGeoVolume *moth) {
     virtualForward4Neg->AddNode(lay4EndLadder, iLadd*2, ctEndLaddNeg);
   }
 
-  moth->AddNode(virtualForward4Pos, 1);
-  moth->AddNode(virtualForward4Neg, 1);
+  // 180deg Y rotation to compensate the cancellation of ITSD volume
+  // (idortm[199] in AliITSv11Hybrid : z--->  -z;   x ---> -x;   y ---> y)
+  TGeoRotation *y180 = new TGeoRotation();
+  y180->SetAngles( 90.,180., 90., 90.,180.,  0.);
+  moth->AddNode(virtualForward4Pos, 1, y180);
+  moth->AddNode(virtualForward4Neg, 1, y180);
 }
 
 
@@ -2228,7 +2236,6 @@ TGeoVolume* AliITSv11GeometrySDD::CreateHybrid(Int_t iLRSide) {
   //**************************************************** CC outside chips:
   // I don't think there is a second aluminium layer here ...
   for (Int_t i = 0; i<4; i++) {
-    char ch[20];
     sprintf(ch, "ccLayerA%i", i);
 
     AliITSv11GeomCableFlat ccLayer1(ch, 6.6*fgkmm, ccUpLayerTotThick);
@@ -5525,6 +5532,8 @@ void AliITSv11GeometrySDD::SDDCables(TGeoVolume *moth)
 //
 // Created:         ???       Ludovic Gaudichet
 // Updated:      15 Mar 2008  Mario Sitta
+// Updated:      14 Apr 2008  Mario Sitta            Overlap fixes
+// Updated:      09 May 2008  Mario Sitta            SSD overlap fixes
 //
 
   TGeoMedium *copper       = GetMedium("COPPER$");
@@ -5805,16 +5814,17 @@ void AliITSv11GeometrySDD::SDDCables(TGeoVolume *moth)
   // cables that are grouped at the end of SSD cones
   //==================================
 
-  Double_t fgkSDDCableR6 = fgkSDDCableR5+10;
-  Double_t fgkSDDCableZ6 = fgkSDDCableZ5+10;
+  Double_t fgkSDDCableR6 = fgkSDDCableR5+9;
+  Double_t fgkSDDCableZ6 = fgkSDDCableZ5+8.8;
 
   TGeoVolumeAssembly *endConeSDDCable = new TGeoVolumeAssembly("endConeSDDCable");
 
+  // Add some hardcoded shifts to avoid overlaps with SSD pathc panels
   CreateAndInsetConeCablePart(endConeSDDCable, 40, 1*3,2*4, fgkSDDCableR5,
-                             fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
+                             fgkSDDCableZ5,fgkSDDCableR6+0.7,fgkSDDCableZ6);
 
   CreateAndInsetConeCablePart(endConeSDDCable, 60, 1*3,1*4, fgkSDDCableR5,
-                             fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
+                             fgkSDDCableZ5,fgkSDDCableR6+0.6,fgkSDDCableZ6);
 
   CreateAndInsetConeCablePart(endConeSDDCable, 85, 2*3,1*4, fgkSDDCableR5,
                              fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
@@ -5823,10 +5833,10 @@ void AliITSv11GeometrySDD::SDDCables(TGeoVolume *moth)
                              fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
 
   CreateAndInsetConeCablePart(endConeSDDCable, 110, 2*3,3*4, fgkSDDCableR5,
-                             fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
+                             fgkSDDCableZ5,fgkSDDCableR6+0.9,fgkSDDCableZ6);
 
   CreateAndInsetConeCablePart(endConeSDDCable, 146, 0*3,3*4, fgkSDDCableR5,
-                             fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
+                             fgkSDDCableZ5,fgkSDDCableR6+0.7,fgkSDDCableZ6);
 
   CreateAndInsetConeCablePart(endConeSDDCable, 176.1, 0*3,1*4, fgkSDDCableR5,
                              fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
@@ -5844,9 +5854,9 @@ void AliITSv11GeometrySDD::SDDCables(TGeoVolume *moth)
                              fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
 
   CreateAndInsetConeCablePart(endConeSDDCable, 315, 1*3,1*4, fgkSDDCableR5,
-                             fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
+                             fgkSDDCableZ5,fgkSDDCableR6+0.6,fgkSDDCableZ6);
 
-  CreateAndInsetConeCablePart(endConeSDDCable, 350.1, 1*3,3*4, fgkSDDCableR5,
+  CreateAndInsetConeCablePart(endConeSDDCable, 353, 1*3,3*4, fgkSDDCableR5,
                              fgkSDDCableZ5,fgkSDDCableR6,fgkSDDCableZ6);
 
   moth->AddNode(endConeSDDCable, 1, 0);