// Now build up the layer
alpha = 360./fNStaves;
- Double_t r = fLayRadius + ((TGeoBBox*)stavVol->GetShape())->GetDY();
+ Double_t r = fLayRadius + ((TGeoBBox*)stavVol->GetShape())->GetDY() + 0.2;
for (Int_t j=0; j<fNStaves; j++) {
Double_t phi = j*alpha + fPhi0;
xpos = r*CosD(phi);// r*SinD(-phi);
// 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{
//
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));