* 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*****************************************/
+ **************************************************************************/
//*************************************************************************
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);
}
//________________________________________________________________________
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);
}
//**************************************************** 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);
//
// 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$");
// 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);
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);
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);