const Double_t AliITSUv1Layer::fgkOBGlueThick = 0.03 *fgkcm;
const Double_t AliITSUv1Layer::fgkOBModuleZLength = 21.06 *fgkcm;
const Double_t AliITSUv1Layer::fgkOBHalfStaveYTrans = 1.76 *fgkmm;
-const Double_t AliITSUv1Layer::fgkOBHalfStaveXOverlap = 2.3 *fgkmm;
+const Double_t AliITSUv1Layer::fgkOBHalfStaveXOverlap = 4.3 *fgkmm;
const Double_t AliITSUv1Layer::fgkOBGraphiteFoilThick = 30.0 *fgkmicron;
const Double_t AliITSUv1Layer::fgkOBCoolTubeInnerD = 2.67 *fgkmm;
const Double_t AliITSUv1Layer::fgkOBCoolTubeThick = 64.0 *fgkmicron;
// Mechanical stave structure
mechStaveVol = CreateStaveStructInnerB(xlen,zlen);
- if (mechStaveVol)
- staveVol->AddNode(mechStaveVol, fNChips, new TGeoCombiTrans(0, -0.15-ylen, 0, new TGeoRotation("",0, 0, 180)));
+ if (mechStaveVol) {
+ ypos = ((TGeoBBox*)(modVol->GetShape()))->GetDY() +
+ ((TGeoBBox*)(mechStaveVol->GetShape()))->GetDY();
+ staveVol->AddNode(mechStaveVol, 1, new TGeoCombiTrans(0, -ypos, 0, new TGeoRotation("",0, 0, 180)));
+ }
}
else{
} else { // (if fStaveModel) Create new stave struct as in TDR
xpos = ((TGeoBBox*)(hstaveVol->GetShape()))->GetDX()
- fgkOBHalfStaveXOverlap/2;
- ypos = 2*((TGeoBBox*)(hstaveVol->GetShape()))->GetDY()
- + fgkOBSpaceFrameTotHigh/2;
+ // ypos is CF height as computed in CreateSpaceFrameOuterB1
+ ypos = (fgkOBSpaceFrameTotHigh - fgkOBHalfStaveYTrans)/2;
staveVol->AddNode(hstaveVol, 0, new TGeoTranslation(-xpos, ypos, 0));
staveVol->AddNode(hstaveVol, 1, new TGeoTranslation( xpos, ypos+fgkOBHalfStaveYTrans, 0));
fHierarchy[kHalfStave] = 2; // RS
//
Double_t zchip;
- Double_t zpos, zlen;
+ Double_t zpos;
char volname[30];
// First create the single chip
snprintf(volname, 30, "%s%d", AliITSUGeomTGeo::GetITSModulePattern(), fLayerNumber);
TGeoVolume *modVol = new TGeoVolume(volname, module, medAir);
- zlen = ((TGeoBBox*)chipVol->GetShape())->GetDZ();
+ // mm (not used) zlen = ((TGeoBBox*)chipVol->GetShape())->GetDZ();
for (Int_t j=0; j<fgkIBChipsPerRow; j++) {
zpos = -zmod + j*2*zchip + zchip;
modVol->AddNode(chipVol, j, new TGeoTranslation(0, 0, zpos));
{
zpos = -module->GetDZ() + zchip + k*(2*zchip + zGap);
modVol->AddNode(chipVol, 2*k , new TGeoTranslation( xpos, ypos, zpos));
- modVol->AddNode(chipVol, 2*k+1, new TGeoTranslation(-xpos, ypos, zpos));
+ modVol->AddNode(chipVol, 2*k+1,
+ new TGeoCombiTrans(-xpos, ypos, zpos, new TGeoRotation("",0,180,180)));
fHierarchy[kChip]+=2;
}