ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * 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.                  *
 **************************************************************************/

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  TRD geometry class                                                       //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TGeoManager.h>
#include <TGeoPhysicalNode.h>
#include <TVirtualMC.h>
#include <TMath.h>

#include "AliLog.h"
#include "AliAlignObjParams.h"

#include "AliTRDgeometry.h"
#include "AliTRDpadPlane.h"

ClassImp(AliTRDgeometry)

//_____________________________________________________________________________

  //
  // The geometry constants
  //
  const Int_t    AliTRDgeometry::fgkNsector   = kNsector;
  const Int_t    AliTRDgeometry::fgkNlayer    = kNlayer;
  const Int_t    AliTRDgeometry::fgkNstack    = kNstack;
  const Int_t    AliTRDgeometry::fgkNdet      = kNdet;

  //
  // Dimensions of the detector
  //

  // Total length of the TRD mother volume
  const Float_t  AliTRDgeometry::fgkTlength   = 751.0;

  // Parameter of the super module mother volumes 
  const Float_t  AliTRDgeometry::fgkSheight   =  77.9; 
  const Float_t  AliTRDgeometry::fgkSwidth1   =  94.881; 
  const Float_t  AliTRDgeometry::fgkSwidth2   = 122.353;
  const Float_t  AliTRDgeometry::fgkSlength   = 702.0;

  // Length of the additional space in front of the supermodule
  // used for services
  const Float_t  AliTRDgeometry::fgkFlength   = (AliTRDgeometry::fgkTlength
                                               - AliTRDgeometry::fgkSlength) / 2.0;

  // The super module side plates
  const Float_t  AliTRDgeometry::fgkSMpltT    =   0.2;

  // Vertical spacing of the chambers
  const Float_t  AliTRDgeometry::fgkVspace    =   1.784;
  // Horizontal spacing of the chambers
  const Float_t  AliTRDgeometry::fgkHspace    =   2.0;
  // Radial distance of the first ROC to the outer plates of the SM
  const Float_t  AliTRDgeometry::fgkVrocsm    =   1.2;

  // Height of different chamber parts
  // Radiator
  const Float_t  AliTRDgeometry::fgkCraH      =   4.8; 
  // Drift region
  const Float_t  AliTRDgeometry::fgkCdrH      =   3.0;
  // Amplification region
  const Float_t  AliTRDgeometry::fgkCamH      =   0.7;
  // Readout
  const Float_t  AliTRDgeometry::fgkCroH      =   2.316;
  // Additional width of the readout chamber frames
  const Float_t  AliTRDgeometry::fgkCroW      =   0.9;
  // Services on top of ROC
  const Float_t  AliTRDgeometry::fgkCsvH      = AliTRDgeometry::fgkVspace 
                                              -   0.742;
  // Total height (w/o services)
  const Float_t  AliTRDgeometry::fgkCH        = AliTRDgeometry::fgkCraH
                                              + AliTRDgeometry::fgkCdrH
                                              + AliTRDgeometry::fgkCamH
                                              + AliTRDgeometry::fgkCroH;  
  // Total height (with services)

  const Float_t  AliTRDgeometry::fgkCHsv      = AliTRDgeometry::fgkCH 
                                              + AliTRDgeometry::fgkCsvH;

  // Distance of anode wire plane relative to middle of alignable volume
  const Float_t  AliTRDgeometry::fgkAnodePos  = AliTRDgeometry::fgkCraH 
                                              + AliTRDgeometry::fgkCdrH 
                                              + AliTRDgeometry::fgkCamH/2.0
                                              - AliTRDgeometry::fgkCHsv/2.0;

  // Thicknesses of different parts of the chamber frame
  // Lower aluminum frame
  const Float_t  AliTRDgeometry::fgkCalT      =   0.4;
  // Lower Wacosit frame sides
  const Float_t  AliTRDgeometry::fgkCclsT     =   0.21;
  // Lower Wacosit frame front
  const Float_t  AliTRDgeometry::fgkCclfT     =   1.0;
  // Thickness of glue around radiator
  const Float_t  AliTRDgeometry::fgkCglT      =   0.25;
  // Upper Wacosit frame around amplification region
  const Float_t  AliTRDgeometry::fgkCcuTa     =   1.0;
  const Float_t  AliTRDgeometry::fgkCcuTb     =   0.8;
  // Al frame of back panel
  const Float_t  AliTRDgeometry::fgkCauT      =   1.5;
  // Additional Al ledge at the lower chamber frame
  // Actually the dimensions are not realistic, but 
  // modified in order to allow to mis-alignment. 
  // The amount of material is, however, correct 
  const Float_t  AliTRDgeometry::fgkCalW      =   2.5;
  const Float_t  AliTRDgeometry::fgkCalH      =   0.4;
  const Float_t  AliTRDgeometry::fgkCalWmod   =   0.4;
  const Float_t  AliTRDgeometry::fgkCalHmod   =   2.5;
  // Additional Wacosit ledge at the lower chamber frame
  const Float_t  AliTRDgeometry::fgkCwsW      =   1.2;
  const Float_t  AliTRDgeometry::fgkCwsH      =   0.3;

  // Difference of outer chamber width and pad plane width
  const Float_t  AliTRDgeometry::fgkCpadW     =   0.0;
  const Float_t  AliTRDgeometry::fgkRpadW     =   1.0;

  //
  // Thickness of the the material layers
  //
  const Float_t  AliTRDgeometry::fgkDrThick   = AliTRDgeometry::fgkCdrH;    
  const Float_t  AliTRDgeometry::fgkAmThick   = AliTRDgeometry::fgkCamH;
  const Float_t  AliTRDgeometry::fgkXeThick   = AliTRDgeometry::fgkDrThick
                                              + AliTRDgeometry::fgkAmThick;
  const Float_t  AliTRDgeometry::fgkWrThick   = 0.00011;

  const Float_t  AliTRDgeometry::fgkRMyThick  = 0.0015;
  const Float_t  AliTRDgeometry::fgkRCbThick  = 0.0055;
  const Float_t  AliTRDgeometry::fgkRGlThick  = 0.0065;
  const Float_t  AliTRDgeometry::fgkRRhThick  = 0.8;
  const Float_t  AliTRDgeometry::fgkRFbThick  = fgkCraH - 2.0 * (fgkRMyThick 
                                                               + fgkRCbThick 
                                                               + fgkRRhThick);

  const Float_t  AliTRDgeometry::fgkPPdThick  = 0.0025; 
  const Float_t  AliTRDgeometry::fgkPPpThick  = 0.0356; 
  const Float_t  AliTRDgeometry::fgkPGlThick  = 0.1428;
  const Float_t  AliTRDgeometry::fgkPCbThick  = 0.019;
  const Float_t  AliTRDgeometry::fgkPPcThick  = 0.0486;
  const Float_t  AliTRDgeometry::fgkPRbThick  = 0.0057;
  const Float_t  AliTRDgeometry::fgkPElThick  = 0.0029;
  const Float_t  AliTRDgeometry::fgkPHcThick  = fgkCroH - fgkPPdThick 
                                                        - fgkPPpThick
                                                        - fgkPGlThick 
                                                        - fgkPCbThick * 2.0
                                                        - fgkPPcThick
                                                        - fgkPRbThick
                                                        - fgkPElThick;

  //
  // Position of the material layers
  //
  const Float_t  AliTRDgeometry::fgkDrZpos    =  2.4;
  const Float_t  AliTRDgeometry::fgkAmZpos    =  0.0;
  const Float_t  AliTRDgeometry::fgkWrZposA   =  0.0;
  const Float_t  AliTRDgeometry::fgkWrZposB   = -fgkAmThick/2.0 + 0.001;
  const Float_t  AliTRDgeometry::fgkCalZpos   =  0.3;

  const Int_t    AliTRDgeometry::fgkMCMmax    = 16;   
  const Int_t    AliTRDgeometry::fgkMCMrow    = 4;   
  const Int_t    AliTRDgeometry::fgkROBmaxC0  = 6; 
  const Int_t    AliTRDgeometry::fgkROBmaxC1  = 8; 
  const Int_t    AliTRDgeometry::fgkADCmax    = 21;   
  const Int_t    AliTRDgeometry::fgkTBmax     = 60;   
  const Int_t    AliTRDgeometry::fgkPadmax    = 18;   
  const Int_t    AliTRDgeometry::fgkColmax    = 144;
  const Int_t    AliTRDgeometry::fgkRowmaxC0  = 12;
  const Int_t    AliTRDgeometry::fgkRowmaxC1  = 16;

  const Double_t AliTRDgeometry::fgkTime0Base = 300.65;
  const Float_t  AliTRDgeometry::fgkTime0[6]  = { static_cast<Float_t>(fgkTime0Base + 0 * (Cheight() + Cspace())) 
                                                , static_cast<Float_t>(fgkTime0Base + 1 * (Cheight() + Cspace())) 
                                                , static_cast<Float_t>(fgkTime0Base + 2 * (Cheight() + Cspace())) 
                                                , static_cast<Float_t>(fgkTime0Base + 3 * (Cheight() + Cspace())) 
                                                , static_cast<Float_t>(fgkTime0Base + 4 * (Cheight() + Cspace())) 
                                                , static_cast<Float_t>(fgkTime0Base + 5 * (Cheight() + Cspace()))};

  const Double_t AliTRDgeometry::fgkXtrdBeg   = 288.43; // Values depend on position of TRD
  const Double_t AliTRDgeometry::fgkXtrdEnd   = 366.33; // mother volume inside space frame !!!

  // The outer width of the chambers
  const Float_t AliTRDgeometry::fgkCwidth[kNlayer] = {  90.4,  94.8,  99.3, 103.7, 108.1, 112.6 };
  
  // The outer lengths of the chambers
  // Includes the spacings between the chambers!
  const Float_t AliTRDgeometry::fgkClength[kNlayer][kNstack] = { { 124.0, 124.0, 110.0, 124.0, 124.0 }
							       , { 124.0, 124.0, 110.0, 124.0, 124.0 }
							       , { 131.0, 131.0, 110.0, 131.0, 131.0 }
							       , { 138.0, 138.0, 110.0, 138.0, 138.0 }
							       , { 145.0, 145.0, 110.0, 145.0, 145.0 }
							       , { 147.0, 147.0, 110.0, 147.0, 147.0 } };

        Char_t  AliTRDgeometry::fgSMstatus[kNsector]         = { 1, 1, 1, 1, 1, 1, 1, 1, 1
				       		               , 1, 1, 1, 1, 1, 1, 1, 1, 1 };

  TObjArray* AliTRDgeometry::fgClusterMatrixArray = NULL;

  TObjArray* AliTRDgeometry::fgPadPlaneArray = NULL;

//_____________________________________________________________________________
AliTRDgeometry::AliTRDgeometry()
{
  //
  // AliTRDgeometry default constructor
  //

}

//_____________________________________________________________________________
AliTRDgeometry::~AliTRDgeometry()
{
  //
  // AliTRDgeometry destructor
  //

}

//_____________________________________________________________________________
void AliTRDgeometry::CreatePadPlaneArray()
{
  //
  // Creates the array of AliTRDpadPlane objects
  //

  if (fgPadPlaneArray)
    return;

  static TObjArray padPlaneArray(fgkNlayer * fgkNstack);
  padPlaneArray.SetOwner(kTRUE);

  fgPadPlaneArray = &padPlaneArray;
  for (Int_t ilayer = 0; ilayer < fgkNlayer; ilayer++) {
    for (Int_t istack = 0; istack < fgkNstack; istack++) {
      Int_t ipp = GetDetectorSec(ilayer,istack);
      fgPadPlaneArray->AddAt(CreatePadPlane(ilayer,istack),ipp);
    }
  }

}

//_____________________________________________________________________________
AliTRDpadPlane *AliTRDgeometry::CreatePadPlane(Int_t ilayer, Int_t istack)
{
  //
  // Creates an AliTRDpadPlane object
  //

  AliTRDpadPlane *padPlane = new AliTRDpadPlane();

  padPlane->SetLayer(ilayer);
  padPlane->SetStack(istack);

  padPlane->SetRowSpacing(0.0);
  padPlane->SetColSpacing(0.0);

  padPlane->SetLengthRim(1.0);
  padPlane->SetWidthRim(0.5);

  padPlane->SetNcols(144);

  padPlane->SetAnodeWireOffset(0.25);

  //
  // The pad plane parameter
  //
  const Float_t kTiltAngle = 2.0;
  switch (ilayer) {
  case 0:
    if (istack == 2) {
      // L0C0 type
      padPlane->SetNrows(12);
      padPlane->SetLength(108.0);
      padPlane->SetLengthOPad(8.0);
      padPlane->SetLengthIPad(9.0);
    }
    else {
      // L0C1 type
      padPlane->SetNrows(16);
      padPlane->SetLength(122.0);
      padPlane->SetLengthOPad(7.5);
      padPlane->SetLengthIPad(7.5);
    }
    padPlane->SetWidth(92.2);
    padPlane->SetWidthOPad(0.515);
    padPlane->SetWidthIPad(0.635);
    padPlane->SetTiltingAngle(-kTiltAngle);
    break;
  case 1:
    if (istack == 2) {
      // L1C0 type
      padPlane->SetNrows(12);
      padPlane->SetLength(108.0);
      padPlane->SetLengthOPad(8.0);
      padPlane->SetLengthIPad(9.0);
    }
    else {
      // L1C1 type
      padPlane->SetNrows(16);
      padPlane->SetLength(122.0);
      padPlane->SetLengthOPad(7.5);
      padPlane->SetLengthIPad(7.5);
    }
    padPlane->SetWidth(96.6);
    padPlane->SetWidthOPad(0.585);
    padPlane->SetWidthIPad(0.665);
    padPlane->SetTiltingAngle(kTiltAngle);
    break;
  case 2:
    if (istack == 2) {
      // L2C0 type
      padPlane->SetNrows(12);
      padPlane->SetLength(108.0);
      padPlane->SetLengthOPad(8.0);
      padPlane->SetLengthIPad(9.0);
    }
    else {
      // L2C1 type
      padPlane->SetNrows(16);
      padPlane->SetLength(129.0);
      padPlane->SetLengthOPad(7.5);
      padPlane->SetLengthIPad(8.0);
    }
    padPlane->SetWidth(101.1);
    padPlane->SetWidthOPad(0.705);
    padPlane->SetWidthIPad(0.695);
    padPlane->SetTiltingAngle(-kTiltAngle);
    break;
  case 3:
    if (istack == 2) {
      // L3C0 type
      padPlane->SetNrows(12);
      padPlane->SetLength(108.0);
      padPlane->SetLengthOPad(8.0);
      padPlane->SetLengthIPad(9.0);
    }
    else {
      // L3C1 type
      padPlane->SetNrows(16);
      padPlane->SetLength(136.0);
      padPlane->SetLengthOPad(7.5);
      padPlane->SetLengthIPad(8.5);
    }
    padPlane->SetWidth(105.5);
    padPlane->SetWidthOPad(0.775);
    padPlane->SetWidthIPad(0.725);
    padPlane->SetTiltingAngle(kTiltAngle);
    break;
  case 4:
    if (istack == 2) {
      // L4C0 type
      padPlane->SetNrows(12);
      padPlane->SetLength(108.0);
      padPlane->SetLengthOPad(8.0);
    }
    else {
      // L4C1 type
      padPlane->SetNrows(16);
      padPlane->SetLength(143.0);
      padPlane->SetLengthOPad(7.5);
    }
    padPlane->SetWidth(109.9);
    padPlane->SetWidthOPad(0.845);
    padPlane->SetLengthIPad(9.0);
    padPlane->SetWidthIPad(0.755);
    padPlane->SetTiltingAngle(-kTiltAngle);
    break;
  case 5:
    if (istack == 2) {
      // L5C0 type
      padPlane->SetNrows(12);
      padPlane->SetLength(108.0);
      padPlane->SetLengthOPad(8.0);
    }
    else {
      // L5C1 type
      padPlane->SetNrows(16);
      padPlane->SetLength(145.0);
      padPlane->SetLengthOPad(8.5);
    }
    padPlane->SetWidth(114.4);
    padPlane->SetWidthOPad(0.965);
    padPlane->SetLengthIPad(9.0);
    padPlane->SetWidthIPad(0.785);
    padPlane->SetTiltingAngle(kTiltAngle);
    break;
  };

  //
  // The positions of the borders of the pads
  //
  // Row direction
  //
  Double_t row = fgkClength[ilayer][istack] / 2.0
               - fgkRpadW
               - padPlane->GetLengthRim();
  for (Int_t ir = 0; ir < padPlane->GetNrows(); ir++) {
    padPlane->SetPadRow(ir,row);
    row -= padPlane->GetRowSpacing();
    if (ir == 0) {
      row -= padPlane->GetLengthOPad();
    }
    else {
      row -= padPlane->GetLengthIPad();
    }
  }
  //
  // Column direction
  //
  Double_t col = - fgkCwidth[ilayer] / 2.0
                 - fgkCroW
                 + padPlane->GetWidthRim();
  for (Int_t ic = 0; ic < padPlane->GetNcols(); ic++) {
    padPlane->SetPadCol(ic,col);
    col += padPlane->GetColSpacing();
    if (ic == 0) {
      col += padPlane->GetWidthOPad();
    }
    else {
      col += padPlane->GetWidthIPad();
    }
  }
  // Calculate the offset to translate from the local ROC system into
  // the local supermodule system, which is used for clusters
  Double_t rowTmp = fgkClength[ilayer][0]
    	          + fgkClength[ilayer][1]
                  + fgkClength[ilayer][2] / 2.0;
  for (Int_t jstack = 0; jstack < istack; jstack++) {
    rowTmp -= fgkClength[ilayer][jstack];
  }
  padPlane->SetPadRowSMOffset(rowTmp - fgkClength[ilayer][istack]/2.0);

  return padPlane;

}

//_____________________________________________________________________________
void AliTRDgeometry::CreateGeometry(Int_t *idtmed)
{
  //
  // Create the TRD geometry
  //
  //
  // Names of the TRD volumina (xx = detector number):
  //
  //   Volume (Air) wrapping the readout chamber components
  //     UTxx    includes: UAxx, UDxx, UFxx, UUxx
  //
  //   Lower part of the readout chambers (drift volume + radiator)
  //     UAxx    Aluminum frames                (Al)
  //
  //   Upper part of the readout chambers (readout plane + fee)
  //     UDxx    Wacosit frames of amp. region  (Wacosit)
  //     UFxx    Aluminum frame of back panel   (Al)
  //
  //   Services on chambers (cooling, cables, MCMs, DCS boards, ...)
  //     UUxx    Volume containing the services (Air) 
  //
  //   Material layers inside sensitive area:
  //     Name    Description                     Mat.      Thick.   Dens.    Radl.    X/X_0
  //                                                        
  //     URMYxx  Mylar layers (x2)               Mylar     0.0015   1.39     28.5464  0.005%
  //     URCBxx  Carbon layer (x2)               Carbon    0.0055   1.75     24.2824  0.023%
  //     URGLxx  Glue on the carbon layers (x2)  Araldite  0.0065   1.12     37.0664  0.018%
  //     URRHxx  Rohacell layer (x2)             Rohacell  0.8      0.075    536.005  0.149%
  //     URFBxx  Fiber mat layer                 PP        3.186    0.068    649.727  0.490%
  //     
  //     UJxx    Drift region                    Xe/CO2    3.0      0.00495  1792.37  0.167%
  //     UKxx    Amplification region            Xe/CO2    0.7      0.00495  1792.37  0.039%
  //     UWxx    Wire planes (x2)                Copper    0.00011  8.96     1.43503  0.008%
  //
  //     UPPDxx  Copper of pad plane             Copper    0.0025   8.96     1.43503  0.174%
  //     UPPPxx  PCB of pad plane                G10       0.0356   2.0      14.9013  0.239%
  //     UPGLxx  Glue on pad planes              Araldite  0.0923   1.12     37.0664  0.249%
  //             + add. glue (ca. 600g)          Araldite  0.0505   1.12     37.0663  0.107%
  //     UPCBxx  Carbon fiber mats (x2)          Carbon    0.019    1.75     24.2824  0.078%
  //     UPHCxx  Honeycomb structure             Aramide   2.0299   0.032    1198.84  0.169%
  //     UPPCxx  PCB of readout board            G10       0.0486   2.0      14.9013  0.326%
  //     UPRDxx  Copper of readout board         Copper    0.0057   8.96     1.43503  0.404%
  //     UPELxx  Electronics + cables            Copper    0.0029   8.96     1.43503  0.202%
  //

  const Int_t kNparTrd = 4;
  const Int_t kNparCha = 3;

  Float_t xpos;
  Float_t ypos;
  Float_t zpos;

  Float_t parTrd[kNparTrd];
  Float_t parCha[kNparCha];

  const Int_t kTag = 100;
  Char_t  cTagV[kTag];
  Char_t  cTagM[kTag];

  // There are three TRD volumes for the supermodules in order to accomodate
  // the different arrangements in front of PHOS
  // UTR1: Default supermodule
  // UTR2: Supermodule in front of PHOS with double carbon cover
  // UTR3: As UTR2, but w/o middle stack
  // UTR4: Sector 17 with missing chamber L4S4
  //
  // The mother volume for one sector (Air), full length in z-direction
  // Provides material for side plates of super module
  parTrd[0] = fgkSwidth1/2.0;
  parTrd[1] = fgkSwidth2/2.0;
  parTrd[2] = fgkSlength/2.0;
  parTrd[3] = fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTR1","TRD1",idtmed[1302-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTR2","TRD1",idtmed[1302-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTR3","TRD1",idtmed[1302-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTR4","TRD1",idtmed[1302-1],parTrd,kNparTrd);
  // The outer aluminum plates of the super module (Al)
  parTrd[0] = fgkSwidth1/2.0;
  parTrd[1] = fgkSwidth2/2.0;
  parTrd[2] = fgkSlength/2.0;
  parTrd[3] = fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTS1","TRD1",idtmed[1301-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTS2","TRD1",idtmed[1301-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTS3","TRD1",idtmed[1301-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTS4","TRD1",idtmed[1301-1],parTrd,kNparTrd);
  // The inner part of the TRD mother volume for one sector (Air), 
  // full length in z-direction
  parTrd[0] = fgkSwidth1/2.0 - fgkSMpltT;
  parTrd[1] = fgkSwidth2/2.0 - fgkSMpltT;
  parTrd[2] = fgkSlength/2.0;
  parTrd[3] = fgkSheight/2.0 - fgkSMpltT;
  TVirtualMC::GetMC()->Gsvolu("UTI1","TRD1",idtmed[1302-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTI2","TRD1",idtmed[1302-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTI3","TRD1",idtmed[1302-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTI4","TRD1",idtmed[1302-1],parTrd,kNparTrd);

  // The inner part of the TRD mother volume for services in front
  // of the supermodules  (Air), 
  parTrd[0] = fgkSwidth1/2.0;
  parTrd[1] = fgkSwidth2/2.0;
  parTrd[2] = fgkFlength/2.0;
  parTrd[3] = fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTF1","TRD1",idtmed[1302-1],parTrd,kNparTrd);
  TVirtualMC::GetMC()->Gsvolu("UTF2","TRD1",idtmed[1302-1],parTrd,kNparTrd);

  for (Int_t istack = 0; istack < kNstack; istack++) {
    for (Int_t ilayer = 0; ilayer < kNlayer; ilayer++) {  

      Int_t iDet = GetDetectorSec(ilayer,istack);

      // The lower part of the readout chambers (drift volume + radiator) 
      // The aluminum frames 
      snprintf(cTagV,kTag,"UA%02d",iDet);
      parCha[0] = fgkCwidth[ilayer]/2.0;
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0;
      parCha[2] = fgkCraH/2.0 + fgkCdrH/2.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1301-1],parCha,kNparCha);
      // The additional aluminum on the frames
      // This part has not the correct shape but is just supposed to
      // represent the missing material. The correct form of the L-shaped
      // profile would not fit into the alignable volume. 
      snprintf(cTagV,kTag,"UZ%02d",iDet);
      parCha[0] = fgkCalWmod/2.0;
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0;
      parCha[2] = fgkCalHmod/2.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1301-1],parCha,kNparCha);
      // The additional Wacosit on the frames
      snprintf(cTagV,kTag,"UP%02d",iDet);
      parCha[0] = fgkCwsW/2.0;
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0;
      parCha[2] = fgkCwsH/2.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1307-1],parCha,kNparCha);
      // The Wacosit frames 
      snprintf(cTagV,kTag,"UB%02d",iDet);
      parCha[0] = fgkCwidth[ilayer]/2.0 - fgkCalT; 
      parCha[1] = -1.0;
      parCha[2] = -1.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1307-1],parCha,kNparCha);
      // The glue around the radiator
      snprintf(cTagV,kTag,"UX%02d",iDet);
      parCha[0] = fgkCwidth[ilayer]/2.0 - fgkCalT - fgkCclsT; 
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0 - fgkCclfT;
      parCha[2] = fgkCraH/2.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1311-1],parCha,kNparCha);
      // The inner part of radiator (air)
      snprintf(cTagV,kTag,"UC%02d",iDet);
      parCha[0] = fgkCwidth[ilayer]/2.0 - fgkCalT - fgkCclsT - fgkCglT; 
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0 - fgkCclfT - fgkCglT;
      parCha[2] = -1.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1302-1],parCha,kNparCha);

      // The upper part of the readout chambers (amplification volume)
      // The Wacosit frames
      snprintf(cTagV,kTag,"UD%02d",iDet);
      parCha[0] = fgkCwidth[ilayer]/2.0 + fgkCroW;
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0;
      parCha[2] = fgkCamH/2.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1307-1],parCha,kNparCha);
      // The inner part of the Wacosit frame (air)
      snprintf(cTagV,kTag,"UE%02d",iDet);
      parCha[0] = fgkCwidth[ilayer]/2.0 + fgkCroW - fgkCcuTb; 
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0 - fgkCcuTa;
      parCha[2] = -1.;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1302-1],parCha,kNparCha);

      // The back panel, including pad plane and readout boards
      // The aluminum frames
      snprintf(cTagV,kTag,"UF%02d",iDet);
      parCha[0] = fgkCwidth[ilayer]/2.0 + fgkCroW;
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0;
      parCha[2] = fgkCroH/2.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1301-1],parCha,kNparCha);
      // The inner part of the aluminum frames
      snprintf(cTagV,kTag,"UG%02d",iDet);
      parCha[0] = fgkCwidth[ilayer]/2.0 + fgkCroW - fgkCauT; 
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0 - fgkCauT;
      parCha[2] = -1.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1302-1],parCha,kNparCha);

      //
      // The material layers inside the chambers
      //

      // Mylar layer (radiator)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkRMyThick/2.0;
      snprintf(cTagV,kTag,"URMY%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1327-1],parCha,kNparCha);
      // Carbon layer (radiator)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkRCbThick/2.0;
      snprintf(cTagV,kTag,"URCB%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1326-1],parCha,kNparCha);
      // Araldite layer (radiator)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkRGlThick/2.0;
      snprintf(cTagV,kTag,"URGL%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1311-1],parCha,kNparCha);
      // Rohacell layer (radiator)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkRRhThick/2.0;
      snprintf(cTagV,kTag,"URRH%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1315-1],parCha,kNparCha);
      // Fiber layer (radiator)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkRFbThick/2.0;
      snprintf(cTagV,kTag,"URFB%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1328-1],parCha,kNparCha);

      // Xe/Isobutane layer (drift volume) 
      parCha[0] = fgkCwidth[ilayer]/2.0 - fgkCalT - fgkCclsT;
      parCha[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0 - fgkCclfT;
      parCha[2] = fgkDrThick/2.0;
      snprintf(cTagV,kTag,"UJ%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1309-1],parCha,kNparCha);

      // Xe/Isobutane layer (amplification volume)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkAmThick/2.0;
      snprintf(cTagV,kTag,"UK%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1309-1],parCha,kNparCha);  
      // Cu layer (wire plane)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkWrThick/2.0;
      snprintf(cTagV,kTag,"UW%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1303-1],parCha,kNparCha);

      // Cu layer (pad plane)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkPPdThick/2.0;
      snprintf(cTagV,kTag,"UPPD%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1305-1],parCha,kNparCha);
      // G10 layer (pad plane)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkPPpThick/2.0;
      snprintf(cTagV,kTag,"UPPP%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1313-1],parCha,kNparCha);
      // Araldite layer (glue)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkPGlThick/2.0;
      snprintf(cTagV,kTag,"UPGL%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1311-1],parCha,kNparCha);
      // Carbon layer (carbon fiber mats)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkPCbThick/2.0;
      snprintf(cTagV,kTag,"UPCB%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1326-1],parCha,kNparCha);
      // Aramide layer (honeycomb)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkPHcThick/2.0;
      snprintf(cTagV,kTag,"UPHC%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1310-1],parCha,kNparCha);
      // G10 layer (PCB readout board)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkPPcThick/2;
      snprintf(cTagV,kTag,"UPPC%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1313-1],parCha,kNparCha);
      // Cu layer (traces in readout board)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkPRbThick/2.0;
      snprintf(cTagV,kTag,"UPRB%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1306-1],parCha,kNparCha);
      // Cu layer (other material on in readout board, incl. screws)
      parCha[0] = -1.0;
      parCha[1] = -1.0;
      parCha[2] = fgkPElThick/2.0;
      snprintf(cTagV,kTag,"UPEL%02d",iDet);
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1304-1],parCha,kNparCha);

      //
      // Position the layers in the chambers
      //
      xpos = 0.0;
      ypos = 0.0;

      // Lower part
      // Mylar layers (radiator)
      zpos =  fgkRMyThick/2.0 - fgkCraH/2.0;
      snprintf(cTagV,kTag,"URMY%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      zpos = -fgkRMyThick/2.0 + fgkCraH/2.0;
      snprintf(cTagV,kTag,"URMY%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,2,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Carbon layers (radiator)
      zpos =  fgkRCbThick/2.0 + fgkRMyThick - fgkCraH/2.0;
      snprintf(cTagV,kTag,"URCB%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      zpos = -fgkRCbThick/2.0 - fgkRMyThick + fgkCraH/2.0;
      snprintf(cTagV,kTag,"URCB%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,2,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Carbon layers (radiator)
      zpos =  fgkRGlThick/2.0 + fgkRCbThick + fgkRMyThick - fgkCraH/2.0;
      snprintf(cTagV,kTag,"URGL%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      zpos = -fgkRGlThick/2.0 - fgkRCbThick - fgkRMyThick + fgkCraH/2.0;
      snprintf(cTagV,kTag,"URGL%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,2,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Rohacell layers (radiator)
      zpos =  fgkRRhThick/2.0 + fgkRGlThick + fgkRCbThick + fgkRMyThick - fgkCraH/2.0;
      snprintf(cTagV,kTag,"URRH%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      zpos = -fgkRRhThick/2.0 - fgkRGlThick - fgkRCbThick - fgkRMyThick + fgkCraH/2.0;
      snprintf(cTagV,kTag,"URRH%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,2,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Fiber layers (radiator)
      zpos =  0.0;
      snprintf(cTagV,kTag,"URFB%02d",iDet);
      snprintf(cTagM,kTag,"UC%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");

      // Xe/Isobutane layer (drift volume) 
      zpos = fgkDrZpos;
      snprintf(cTagV,kTag,"UJ%02d",iDet);
      snprintf(cTagM,kTag,"UB%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");

      // Upper part
      // Xe/Isobutane layer (amplification volume)
      zpos = fgkAmZpos;
      snprintf(cTagV,kTag,"UK%02d",iDet);
      snprintf(cTagM,kTag,"UE%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Cu layer (wire planes inside amplification volume)
      zpos = fgkWrZposA; 
      snprintf(cTagV,kTag,"UW%02d",iDet);
      snprintf(cTagM,kTag,"UK%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      zpos = fgkWrZposB; 
      snprintf(cTagV,kTag,"UW%02d",iDet);
      snprintf(cTagM,kTag,"UK%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,2,cTagM,xpos,ypos,zpos,0,"ONLY");

      // Back panel + pad plane + readout part
      // Cu layer (pad plane)
      zpos =  fgkPPdThick/2.0 - fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPPD%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // G10  layer (pad plane)
      zpos =  fgkPPpThick/2.0 + fgkPPdThick - fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPPP%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Araldite layer (glue)
      zpos =  fgkPGlThick/2.0 + fgkPPpThick + fgkPPdThick - fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPGL%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Carbon layers (carbon fiber mats)
      zpos =  fgkPCbThick/2.0 + fgkPGlThick + fgkPPpThick + fgkPPdThick - fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPCB%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      zpos = -fgkPCbThick/2.0 - fgkPPcThick - fgkPRbThick - fgkPElThick + fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPCB%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,2,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Aramide layer (honeycomb)
      zpos =  fgkPHcThick/2.0 + fgkPCbThick + fgkPGlThick + fgkPPpThick + fgkPPdThick - fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPHC%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // G10 layer (PCB readout board)
      zpos = -fgkPPcThick/2.0 - fgkPRbThick - fgkPElThick + fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPPC%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Cu layer (traces in readout board)
      zpos = -fgkPRbThick/2.0 - fgkPElThick + fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPRB%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // Cu layer (other materials on readout board, incl. screws)
      zpos = -fgkPElThick/2.0 + fgkCroH/2.0;
      snprintf(cTagV,kTag,"UPEL%02d",iDet);
      snprintf(cTagM,kTag,"UG%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");

      // Position the inner volumes of the chambers in the frames
      xpos = 0.0;
      ypos = 0.0;

      // The inner part of the radiator (air)
      zpos = 0.0;
      snprintf(cTagV,kTag,"UC%02d",iDet);
      snprintf(cTagM,kTag,"UX%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // The glue around the radiator
      zpos = fgkCraH/2.0 - fgkCdrH/2.0 - fgkCraH/2.0;
      snprintf(cTagV,kTag,"UX%02d",iDet);
      snprintf(cTagM,kTag,"UB%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
      // The lower Wacosit frame inside the aluminum frame
      zpos = 0.0;
      snprintf(cTagV,kTag,"UB%02d",iDet);
      snprintf(cTagM,kTag,"UA%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");

      // The inside of the upper Wacosit frame
      zpos = 0.0;
      snprintf(cTagV,kTag,"UE%02d",iDet);
      snprintf(cTagM,kTag,"UD%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");

      // The inside of the upper aluminum frame
      zpos = 0.0;
      snprintf(cTagV,kTag,"UG%02d",iDet);
      snprintf(cTagM,kTag,"UF%02d",iDet);
      TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");      

    }
  }

  // Create the volumes of the super module frame
  CreateFrame(idtmed);

  // Create the volumes of the services
  CreateServices(idtmed);
  
  for (Int_t istack = 0; istack < kNstack; istack++) {
    for (Int_t ilayer = 0; ilayer < kNlayer; ilayer++) {  
      AssembleChamber(ilayer,istack);
    }
  }
  
  xpos = 0.0;
  ypos = 0.0;
  zpos = 0.0;
  TVirtualMC::GetMC()->Gspos("UTI1",1,"UTS1",xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTI2",1,"UTS2",xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTI3",1,"UTS3",xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTI4",1,"UTS4",xpos,ypos,zpos,0,"ONLY");

  xpos = 0.0;
  ypos = 0.0;
  zpos = 0.0;
  TVirtualMC::GetMC()->Gspos("UTS1",1,"UTR1",xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTS2",1,"UTR2",xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTS3",1,"UTR3",xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTS4",1,"UTR4",xpos,ypos,zpos,0,"ONLY");

  // Put the TRD volumes into the space frame mother volumes
  // if enabled via status flag
  xpos = 0.0;
  ypos = 0.0;
  zpos = 0.0;
  for (Int_t isector = 0; isector < kNsector; isector++) {
    if (GetSMstatus(isector)) {
      snprintf(cTagV,kTag,"BTRD%d",isector);
      switch (isector) {
      case 17:
        // Missing L4S4 chamber
        TVirtualMC::GetMC()->Gspos("UTR4",1,cTagV,xpos,ypos,zpos,0,"ONLY");
        break;
      case 13:
      case 14:
      case 15:
        // Double carbon, w/o middle stack
        TVirtualMC::GetMC()->Gspos("UTR3",1,cTagV,xpos,ypos,zpos,0,"ONLY");
        break;
      case 11:
      case 12:
	// Double carbon, all stacks
        TVirtualMC::GetMC()->Gspos("UTR2",1,cTagV,xpos,ypos,zpos,0,"ONLY");
        break;
      default:
	// Standard supermodule
        TVirtualMC::GetMC()->Gspos("UTR1",1,cTagV,xpos,ypos,zpos,0,"ONLY");
      };
    }
  }

  // Put the TRD volumes into the space frame mother volumes
  // if enabled via status flag
  xpos = 0.0;
  ypos = 0.5*fgkSlength + 0.5*fgkFlength;
  zpos = 0.0;
  for (Int_t isector = 0; isector < kNsector; isector++) {
    if (GetSMstatus(isector)) {
      snprintf(cTagV,kTag,"BTRD%d",isector);
      TVirtualMC::GetMC()->Gspos("UTF1",1,cTagV,xpos, ypos,zpos,0,"ONLY");
      TVirtualMC::GetMC()->Gspos("UTF2",1,cTagV,xpos,-ypos,zpos,0,"ONLY");
    }
  }

}

//_____________________________________________________________________________
void AliTRDgeometry::CreateFrame(Int_t *idtmed)
{
  //
  // Create the geometry of the frame of the supermodule
  //
  // Names of the TRD services volumina
  //
  //        USRL    Support rails for the chambers (Al)
  //        USxx    Support cross bars between the chambers (Al)
  //        USHx    Horizontal connection between the cross bars (Al)
  //        USLx    Long corner ledges (Al)
  //

  Int_t   ilayer = 0;

  Float_t xpos  = 0.0;
  Float_t ypos  = 0.0;
  Float_t zpos  = 0.0;

  const Int_t kTag = 100;
  Char_t  cTagV[kTag];
  Char_t  cTagM[kTag];

  const Int_t kNparTRD = 4;
  Float_t parTRD[kNparTRD];
  const Int_t kNparBOX = 3;
  Float_t parBOX[kNparBOX];
  const Int_t kNparTRP = 11;
  Float_t parTRP[kNparTRP];

  // The rotation matrices
  const Int_t kNmatrix = 7;
  Int_t   matrix[kNmatrix];
  TVirtualMC::GetMC()->Matrix(matrix[0], 100.0,   0.0,  90.0,  90.0,  10.0,   0.0);
  TVirtualMC::GetMC()->Matrix(matrix[1],  80.0,   0.0,  90.0,  90.0,  10.0, 180.0);
  TVirtualMC::GetMC()->Matrix(matrix[2],  90.0,   0.0,   0.0,   0.0,  90.0,  90.0);
  TVirtualMC::GetMC()->Matrix(matrix[3],  90.0, 180.0,   0.0, 180.0,  90.0,  90.0);
  TVirtualMC::GetMC()->Matrix(matrix[4], 170.0,   0.0,  80.0,   0.0,  90.0,  90.0);
  TVirtualMC::GetMC()->Matrix(matrix[5], 170.0, 180.0,  80.0, 180.0,  90.0,  90.0);
  TVirtualMC::GetMC()->Matrix(matrix[6], 180.0, 180.0,  90.0, 180.0,  90.0,  90.0);

  //
  // The carbon inserts in the top/bottom aluminum plates
  //

  const Int_t kNparCrb = 3;
  Float_t parCrb[kNparCrb];
  parCrb[0] = 0.0;
  parCrb[1] = 0.0;
  parCrb[2] = 0.0;
  TVirtualMC::GetMC()->Gsvolu("USCR","BOX ",idtmed[1326-1],parCrb,0);
  // Bottom 1 (all sectors)
  parCrb[0] =  77.49/2.0;
  parCrb[1] = 104.60/2.0;
  parCrb[2] = fgkSMpltT/2.0;
  xpos      =   0.0;
  ypos      =   0.0;
  zpos      = fgkSMpltT/2.0 - fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsposp("USCR", 1,"UTS1", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR", 2,"UTS2", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR", 3,"UTS3", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR", 4,"UTS4", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  // Bottom 2 (all sectors)
  parCrb[0] =  77.49/2.0;
  parCrb[1] =  55.80/2.0;
  parCrb[2] = fgkSMpltT/2.0;
  xpos      =   0.0;
  ypos      =  85.6;
  zpos      = fgkSMpltT/2.0 - fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsposp("USCR", 5,"UTS1", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR", 6,"UTS2", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR", 7,"UTS3", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR", 8,"UTS4", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR", 9,"UTS1", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",10,"UTS2", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",11,"UTS3", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",12,"UTS4", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  // Bottom 3 (all sectors)
  parCrb[0] =  77.49/2.0;
  parCrb[1] =  56.00/2.0;
  parCrb[2] = fgkSMpltT/2.0;
  xpos      =   0.0;
  ypos      = 148.5;
  zpos      = fgkSMpltT/2.0 - fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsposp("USCR",13,"UTS1", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",14,"UTS2", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",15,"UTS3", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",16,"UTS4", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",17,"UTS1", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",18,"UTS2", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",19,"UTS3", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",20,"UTS4", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  // Bottom 4 (all sectors)
  parCrb[0] =  77.49/2.0;
  parCrb[1] = 118.00/2.0;
  parCrb[2] = fgkSMpltT/2.0;
  xpos      =   0.0;
  ypos      = 240.5;
  zpos      = fgkSMpltT/2.0 - fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsposp("USCR",21,"UTS1", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",22,"UTS2", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",23,"UTS3", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",24,"UTS4", xpos, ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",25,"UTS1", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",26,"UTS2", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",27,"UTS3", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",28,"UTS4", xpos,-ypos, zpos,0,"ONLY",parCrb,kNparCrb);
  // Top 1 (only in front of PHOS)
  parCrb[0] = 111.48/2.0;
  parCrb[1] = 105.00/2.0;
  parCrb[2] = fgkSMpltT/2.0;
  xpos      =   0.0;
  ypos      =   0.0;
  zpos      = fgkSMpltT/2.0 - fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsposp("USCR",29,"UTS2", xpos, ypos,-zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",30,"UTS3", xpos, ypos,-zpos,0,"ONLY",parCrb,kNparCrb);
  // Top 2 (only in front of PHOS)
  parCrb[0] = 111.48/2.0;
  parCrb[1] =  56.00/2.0;
  parCrb[2] = fgkSMpltT/2.0;
  xpos      =   0.0;
  ypos      =  85.5;
  zpos      = fgkSMpltT/2.0 - fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsposp("USCR",31,"UTS2", xpos, ypos,-zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",32,"UTS3", xpos, ypos,-zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",33,"UTS2", xpos,-ypos,-zpos,0,"ONLY",parCrb,kNparCrb);
  TVirtualMC::GetMC()->Gsposp("USCR",34,"UTS3", xpos,-ypos,-zpos,0,"ONLY",parCrb,kNparCrb);

  //
  // The chamber support rails
  //

  const Float_t kSRLhgt  = 2.00;
  const Float_t kSRLwidA = 2.3;
  const Float_t kSRLwidB = 1.947;
  const Float_t kSRLdst  = 1.135;
  const Int_t   kNparSRL = 11;
  Float_t parSRL[kNparSRL];
  // Trapezoidal shape
  parSRL[ 0] = fgkSlength/2.0;
  parSRL[ 1] = 0.0;
  parSRL[ 2] = 0.0;
  parSRL[ 3] = kSRLhgt  /2.0;
  parSRL[ 4] = kSRLwidB /2.0;
  parSRL[ 5] = kSRLwidA /2.0;
  parSRL[ 6] = 5.0;
  parSRL[ 7] = kSRLhgt  /2.0;
  parSRL[ 8] = kSRLwidB /2.0;
  parSRL[ 9] = kSRLwidA /2.0;
  parSRL[10] = 5.0;
  TVirtualMC::GetMC()->Gsvolu("USRL","TRAP",idtmed[1301-1],parSRL,kNparSRL);

  xpos  = 0.0;
  ypos  = 0.0;
  zpos  = 0.0;
  for (ilayer = 1; ilayer < kNlayer; ilayer++) {
    xpos  = fgkCwidth[ilayer]/2.0 + kSRLwidA/2.0 + kSRLdst;
    ypos  = 0.0;
    zpos  = fgkVrocsm + fgkSMpltT - fgkCalZpos - fgkSheight/2.0  
          + fgkCraH + fgkCdrH - fgkCalH - kSRLhgt/2.0 
          + ilayer * (fgkCH + fgkVspace);
    TVirtualMC::GetMC()->Gspos("USRL",ilayer+1          ,"UTI1", xpos,ypos,zpos,matrix[2],"ONLY");
    TVirtualMC::GetMC()->Gspos("USRL",ilayer+1+  kNlayer,"UTI1",-xpos,ypos,zpos,matrix[3],"ONLY");
    TVirtualMC::GetMC()->Gspos("USRL",ilayer+1+2*kNlayer,"UTI2", xpos,ypos,zpos,matrix[2],"ONLY");
    TVirtualMC::GetMC()->Gspos("USRL",ilayer+1+3*kNlayer,"UTI2",-xpos,ypos,zpos,matrix[3],"ONLY");
    TVirtualMC::GetMC()->Gspos("USRL",ilayer+1+4*kNlayer,"UTI3", xpos,ypos,zpos,matrix[2],"ONLY");
    TVirtualMC::GetMC()->Gspos("USRL",ilayer+1+5*kNlayer,"UTI3",-xpos,ypos,zpos,matrix[3],"ONLY");
    TVirtualMC::GetMC()->Gspos("USRL",ilayer+1+6*kNlayer,"UTI4", xpos,ypos,zpos,matrix[2],"ONLY");
    TVirtualMC::GetMC()->Gspos("USRL",ilayer+1+7*kNlayer,"UTI4",-xpos,ypos,zpos,matrix[3],"ONLY");
  }

  //
  // The cross bars between the chambers
  //

  const Float_t kSCBwid  = 1.0;
  const Float_t kSCBthk  = 2.0;
  const Float_t kSCHhgt  = 0.3;

  const Int_t   kNparSCB = 3;
  Float_t parSCB[kNparSCB];
  parSCB[1] = kSCBwid/2.0;
  parSCB[2] = fgkCH  /2.0 + fgkVspace/2.0 - kSCHhgt;

  const Int_t   kNparSCI = 3;
  Float_t parSCI[kNparSCI];
  parSCI[1] = -1;

  xpos  = 0.0;
  ypos  = 0.0;
  zpos  = 0.0;
  for (ilayer = 0; ilayer < kNlayer; ilayer++) {

    // The aluminum of the cross bars
    parSCB[0] = fgkCwidth[ilayer]/2.0 + kSRLdst/2.0;
    snprintf(cTagV,kTag,"USF%01d",ilayer);
    TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1301-1],parSCB,kNparSCB);

    // The empty regions in the cross bars
    Float_t thkSCB = kSCBthk;
    if (ilayer < 2) {
      thkSCB *= 1.5;
    }
    parSCI[2] = parSCB[2] - thkSCB;
    parSCI[0] = parSCB[0]/4.0 - kSCBthk;
    snprintf(cTagV,kTag,"USI%01d",ilayer);
    TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1302-1],parSCI,kNparSCI);

    snprintf(cTagV,kTag,"USI%01d",ilayer);
    snprintf(cTagM,kTag,"USF%01d",ilayer);
    ypos  = 0.0;
    zpos  = 0.0;
    xpos  =   parSCI[0] + thkSCB/2.0;
    TVirtualMC::GetMC()->Gspos(cTagV,1,cTagM,xpos,ypos,zpos,0,"ONLY");
    xpos  = - parSCI[0] - thkSCB/2.0;
    TVirtualMC::GetMC()->Gspos(cTagV,2,cTagM,xpos,ypos,zpos,0,"ONLY");
    xpos  =   3.0 * parSCI[0] + 1.5 * thkSCB;
    TVirtualMC::GetMC()->Gspos(cTagV,3,cTagM,xpos,ypos,zpos,0,"ONLY");
    xpos  = - 3.0 * parSCI[0] - 1.5 * thkSCB;
    TVirtualMC::GetMC()->Gspos(cTagV,4,cTagM,xpos,ypos,zpos,0,"ONLY");

    snprintf(cTagV,kTag,"USF%01d",ilayer);
    xpos  = 0.0;
    zpos  = fgkVrocsm + fgkSMpltT + parSCB[2] - fgkSheight/2.0 
          + ilayer * (fgkCH + fgkVspace);

    ypos  =   fgkClength[ilayer][2]/2.0 + fgkClength[ilayer][1];
    TVirtualMC::GetMC()->Gspos(cTagV, 1,"UTI1", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV, 3,"UTI2", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV, 5,"UTI3", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV, 7,"UTI4", xpos,ypos,zpos,0,"ONLY");

    ypos  = - fgkClength[ilayer][2]/2.0 - fgkClength[ilayer][1];
    TVirtualMC::GetMC()->Gspos(cTagV, 2,"UTI1", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV, 4,"UTI2", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV, 6,"UTI3", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV, 8,"UTI4", xpos,ypos,zpos,0,"ONLY");

  }

  //
  // The horizontal connections between the cross bars
  //

  const Int_t   kNparSCH = 3;
  Float_t parSCH[kNparSCH];

  for (ilayer = 1; ilayer < kNlayer-1; ilayer++) {

    parSCH[0] = fgkCwidth[ilayer]/2.0;
    parSCH[1] = (fgkClength[ilayer+1][2]/2.0 + fgkClength[ilayer+1][1]
               - fgkClength[ilayer  ][2]/2.0 - fgkClength[ilayer  ][1])/2.0;
    parSCH[2] = kSCHhgt/2.0;

    snprintf(cTagV,kTag,"USH%01d",ilayer);
    TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX ",idtmed[1301-1],parSCH,kNparSCH);
    xpos  = 0.0;
    ypos  = fgkClength[ilayer][2]/2.0 + fgkClength[ilayer][1] + parSCH[1];
    zpos  = fgkVrocsm + fgkSMpltT - kSCHhgt/2.0 - fgkSheight/2.0 
          + (ilayer+1) * (fgkCH + fgkVspace);
    TVirtualMC::GetMC()->Gspos(cTagV,1,"UTI1", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV,3,"UTI2", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV,5,"UTI3", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV,7,"UTI4", xpos,ypos,zpos,0,"ONLY");
    ypos  = -ypos;
    TVirtualMC::GetMC()->Gspos(cTagV,2,"UTI1", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV,4,"UTI2", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV,6,"UTI3", xpos,ypos,zpos,0,"ONLY");
    TVirtualMC::GetMC()->Gspos(cTagV,8,"UTI4", xpos,ypos,zpos,0,"ONLY");

  }

  //
  // The aymmetric flat frame in the middle
  //

  // The envelope volume (aluminum)
  parTRD[0]  =  87.60/2.0;
  parTRD[1]  = 114.00/2.0;
  parTRD[2]  =   1.20/2.0;
  parTRD[3]  =  71.30/2.0;
  TVirtualMC::GetMC()->Gsvolu("USDB","TRD1",idtmed[1301-1],parTRD,kNparTRD);
  // Empty spaces (air)
  parTRP[ 0] =   1.20/2.0;
  parTRP[ 1] =   0.0;
  parTRP[ 2] =   0.0;
  parTRP[ 3] =  27.00/2.0;
  parTRP[ 4] =  50.60/2.0;
  parTRP[ 5] =   5.00/2.0;
  parTRP[ 6] =   3.5;
  parTRP[ 7] =  27.00/2.0;
  parTRP[ 8] =  50.60/2.0;
  parTRP[ 9] =   5.00/2.0;
  parTRP[10] =   3.5;
  TVirtualMC::GetMC()->Gsvolu("USD1","TRAP",idtmed[1302-1],parTRP,kNparTRP);
  xpos       =  18.0;
  ypos       =   0.0;
  zpos       =   27.00/2.0 - 71.3/2.0;
  TVirtualMC::GetMC()->Gspos("USD1",1,"USDB", xpos, ypos, zpos,matrix[2],"ONLY");
  // Empty spaces (air)
  parTRP[ 0] =   1.20/2.0;
  parTRP[ 1] =   0.0;
  parTRP[ 2] =   0.0;
  parTRP[ 3] =  33.00/2.0;
  parTRP[ 4] =   5.00/2.0;
  parTRP[ 5] =  62.10/2.0;
  parTRP[ 6] =   3.5;
  parTRP[ 7] =  33.00/2.0;
  parTRP[ 8] =   5.00/2.0;
  parTRP[ 9] =  62.10/2.0;
  parTRP[10] =   3.5;
  TVirtualMC::GetMC()->Gsvolu("USD2","TRAP",idtmed[1302-1],parTRP,kNparTRP);
  xpos       =  21.0;
  ypos       =   0.0;
  zpos       =  71.3/2.0 - 33.0/2.0;
  TVirtualMC::GetMC()->Gspos("USD2",1,"USDB", xpos, ypos, zpos,matrix[2],"ONLY");
  // Empty spaces (air)
  parBOX[ 0] =  22.50/2.0;
  parBOX[ 1] =   1.20/2.0;
  parBOX[ 2] =  70.50/2.0;
  TVirtualMC::GetMC()->Gsvolu("USD3","BOX ",idtmed[1302-1],parBOX,kNparBOX);
  xpos       = -25.75;
  ypos       =   0.0;
  zpos       =   0.4;
  TVirtualMC::GetMC()->Gspos("USD3",1,"USDB", xpos, ypos, zpos,        0,"ONLY");
  // Empty spaces (air)
  parTRP[ 0] =   1.20/2.0;
  parTRP[ 1] =   0.0;
  parTRP[ 2] =   0.0;
  parTRP[ 3] =  25.50/2.0;
  parTRP[ 4] =   5.00/2.0;
  parTRP[ 5] =  65.00/2.0;
  parTRP[ 6] =  -1.0;
  parTRP[ 7] =  25.50/2.0;
  parTRP[ 8] =   5.00/2.0;
  parTRP[ 9] =  65.00/2.0;
  parTRP[10] =  -1.0;
  TVirtualMC::GetMC()->Gsvolu("USD4","TRAP",idtmed[1302-1],parTRP,kNparTRP);
  xpos       =   2.0;
  ypos       =   0.0;
  zpos       =  -1.6;
  TVirtualMC::GetMC()->Gspos("USD4",1,"USDB", xpos, ypos, zpos,matrix[6],"ONLY");
  // Empty spaces (air)
  parTRP[ 0] =   1.20/2.0;
  parTRP[ 1] =   0.0;
  parTRP[ 2] =   0.0;
  parTRP[ 3] =  23.50/2.0;
  parTRP[ 4] =  63.50/2.0;
  parTRP[ 5] =   5.00/2.0;
  parTRP[ 6] =  16.0;
  parTRP[ 7] =  23.50/2.0;
  parTRP[ 8] =  63.50/2.0;
  parTRP[ 9] =   5.00/2.0;
  parTRP[10] =  16.0;
  TVirtualMC::GetMC()->Gsvolu("USD5","TRAP",idtmed[1302-1],parTRP,kNparTRP);
  xpos       =  36.5;
  ypos       =   0.0;
  zpos       =  -1.5;
  TVirtualMC::GetMC()->Gspos("USD5",1,"USDB", xpos, ypos, zpos,matrix[5],"ONLY");
  // Empty spaces (air)
  parTRP[ 0] =   1.20/2.0;
  parTRP[ 1] =   0.0;
  parTRP[ 2] =   0.0;
  parTRP[ 3] =  70.50/2.0;
  parTRP[ 4] =   4.50/2.0;
  parTRP[ 5] =  16.50/2.0;
  parTRP[ 6] =  -5.0;
  parTRP[ 7] =  70.50/2.0;
  parTRP[ 8] =   4.50/2.0;
  parTRP[ 9] =  16.50/2.0;
  parTRP[10] =  -5.0;
  TVirtualMC::GetMC()->Gsvolu("USD6","TRAP",idtmed[1302-1],parTRP,kNparTRP);
  xpos       = -43.7;
  ypos       =   0.0;
  zpos       =   0.4;
  TVirtualMC::GetMC()->Gspos("USD6",1,"USDB", xpos, ypos, zpos,matrix[2],"ONLY");
  xpos       =   0.0;
  ypos       =   fgkClength[5][2]/2.0;
  zpos       =   0.04;
  TVirtualMC::GetMC()->Gspos("USDB",1,"UTI1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USDB",2,"UTI1", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USDB",3,"UTI2", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USDB",4,"UTI2", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USDB",5,"UTI3", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USDB",6,"UTI3", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USDB",7,"UTI4", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USDB",8,"UTI4", xpos,-ypos, zpos,        0,"ONLY");
  // Upper bar (aluminum)
  parBOX[0] = 95.00/2.0;
  parBOX[1] =  1.20/2.0;
  parBOX[2] =  3.00/2.0;
  TVirtualMC::GetMC()->Gsvolu("USD7","BOX ",idtmed[1301-1],parBOX,kNparBOX);
  xpos       =   0.0;
  ypos       =   fgkClength[5][2]/2.0;
  zpos       =   fgkSheight/2.0 - fgkSMpltT  - 3.00/2.0;
  TVirtualMC::GetMC()->Gspos("USD7",1,"UTI1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD7",2,"UTI1", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD7",3,"UTI2", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD7",4,"UTI2", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD7",5,"UTI3", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD7",6,"UTI3", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD7",7,"UTI4", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD7",8,"UTI4", xpos,-ypos, zpos,        0,"ONLY");
  // Lower bar (aluminum)
  parBOX[0] = 90.22/2.0;
  parBOX[1] =  1.20/2.0;
  parBOX[2] =  1.74/2.0;
  TVirtualMC::GetMC()->Gsvolu("USD8","BOX ",idtmed[1301-1],parBOX,kNparBOX);
  xpos       =   0.0;
  ypos       =   fgkClength[5][2]/2.0 - 0.1;
  zpos       =  -fgkSheight/2.0 + fgkSMpltT + 2.27;
  TVirtualMC::GetMC()->Gspos("USD8",1,"UTI1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD8",2,"UTI1", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD8",3,"UTI2", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD8",4,"UTI2", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD8",5,"UTI3", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD8",6,"UTI3", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD8",7,"UTI4", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD8",8,"UTI4", xpos,-ypos, zpos,        0,"ONLY");
  // Lower bar (aluminum)
  parBOX[0] = 82.60/2.0;
  parBOX[1] =  1.20/2.0;
  parBOX[2] =  1.40/2.0;
  TVirtualMC::GetMC()->Gsvolu("USD9","BOX ",idtmed[1301-1],parBOX,kNparBOX);
  xpos       =   0.0;
  ypos       =   fgkClength[5][2]/2.0;
  zpos       =  -fgkSheight/2.0 + fgkSMpltT + 1.40/2.0;
  TVirtualMC::GetMC()->Gspos("USD9",1,"UTI1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD9",2,"UTI1", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD9",3,"UTI2", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD9",4,"UTI2", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD9",5,"UTI3", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD9",6,"UTI3", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD9",7,"UTI4", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USD9",8,"UTI4", xpos,-ypos, zpos,        0,"ONLY");
  // Front sheet (aluminum)
  parTRP[ 0] =   0.10/2.0;
  parTRP[ 1] =   0.0;
  parTRP[ 2] =   0.0;
  parTRP[ 3] =  74.50/2.0;
  parTRP[ 4] =  31.70/2.0;
  parTRP[ 5] =  44.00/2.0;
  parTRP[ 6] =  -5.0;
  parTRP[ 7] =  74.50/2.0;
  parTRP[ 8] =  31.70/2.0;
  parTRP[ 9] =  44.00/2.0;
  parTRP[10] =  -5.0;
  TVirtualMC::GetMC()->Gsvolu("USDF","TRAP",idtmed[1302-1],parTRP,kNparTRP);
  xpos       = -32.0;
  ypos       =   fgkClength[5][2]/2.0 + 1.20/2.0 + 0.10/2.0;
  zpos       =   0.0;
  TVirtualMC::GetMC()->Gspos("USDF",1,"UTI1", xpos, ypos, zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USDF",2,"UTI1", xpos,-ypos, zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USDF",3,"UTI2", xpos, ypos, zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USDF",4,"UTI2", xpos,-ypos, zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USDF",5,"UTI3", xpos, ypos, zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USDF",6,"UTI3", xpos,-ypos, zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USDF",7,"UTI4", xpos, ypos, zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USDF",8,"UTI4", xpos,-ypos, zpos,matrix[2],"ONLY");

  //
  // The flat frame in front of the chambers
  //

  // The envelope volume (aluminum)
  parTRD[0]  =  90.00/2.0 - 0.1;
  parTRD[1]  = 114.00/2.0 - 0.1;
  parTRD[2]  =   1.50/2.0;
  parTRD[3]  =  70.30/2.0;
  TVirtualMC::GetMC()->Gsvolu("USCB","TRD1",idtmed[1301-1],parTRD,kNparTRD);
  // Empty spaces (air)
  parTRD[0]  =  87.00/2.0;
  parTRD[1]  =  10.00/2.0;
  parTRD[2]  =   1.50/2.0;
  parTRD[3]  =  26.35/2.0;
  TVirtualMC::GetMC()->Gsvolu("USC1","TRD1",idtmed[1302-1],parTRD,kNparTRD);
  xpos       =  0.0;
  ypos       =  0.0;
  zpos       = 26.35/2.0 - 70.3/2.0;
  TVirtualMC::GetMC()->Gspos("USC1",1,"USCB",xpos,ypos,zpos,0,"ONLY");
  // Empty spaces (air)
  parTRD[0]  =  10.00/2.0;
  parTRD[1]  = 111.00/2.0;
  parTRD[2]  =   1.50/2.0;
  parTRD[3]  =  35.05/2.0;
  TVirtualMC::GetMC()->Gsvolu("USC2","TRD1",idtmed[1302-1],parTRD,kNparTRD);
  xpos       =  0.0;
  ypos       =  0.0;
  zpos       = 70.3/2.0 - 35.05/2.0;
  TVirtualMC::GetMC()->Gspos("USC2",1,"USCB",xpos,ypos,zpos,0,"ONLY");
  // Empty spaces (air)
  parTRP[ 0] =   1.50/2.0;
  parTRP[ 1] =   0.0;
  parTRP[ 2] =   0.0;
  parTRP[ 3] =  37.60/2.0;
  parTRP[ 4] =  63.90/2.0;
  parTRP[ 5] =   8.86/2.0;
  parTRP[ 6] =  16.0;
  parTRP[ 7] =  37.60/2.0;
  parTRP[ 8] =  63.90/2.0;
  parTRP[ 9] =   8.86/2.0;
  parTRP[10] =  16.0;
  TVirtualMC::GetMC()->Gsvolu("USC3","TRAP",idtmed[1302-1],parTRP,kNparTRP);
  xpos       = -30.5;
  ypos       =   0.0;
  zpos       =  -2.0;
  TVirtualMC::GetMC()->Gspos("USC3",1,"USCB", xpos, ypos, zpos,matrix[4],"ONLY");
  TVirtualMC::GetMC()->Gspos("USC3",2,"USCB",-xpos, ypos, zpos,matrix[5],"ONLY");
  xpos       =   0.0;
  ypos       =   fgkClength[5][2]/2.0 + fgkClength[5][1] + fgkClength[5][0];
  zpos       =   0.0;
  TVirtualMC::GetMC()->Gspos("USCB",1,"UTI1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USCB",2,"UTI1", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USCB",3,"UTI2", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USCB",4,"UTI2", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USCB",5,"UTI3", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USCB",6,"UTI3", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USCB",7,"UTI4", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USCB",8,"UTI4", xpos,-ypos, zpos,        0,"ONLY");
  // Upper bar (aluminum)
  parBOX[0] = 95.00/2.0;
  parBOX[1] =  1.50/2.0;
  parBOX[2] =  3.00/2.0;
  TVirtualMC::GetMC()->Gsvolu("USC4","BOX ",idtmed[1301-1],parBOX,kNparBOX);
  xpos       =   0.0;
  ypos       =   fgkClength[5][2]/2.0 + fgkClength[5][1] + fgkClength[5][0];
  zpos       =   fgkSheight/2.0 - fgkSMpltT - 3.00/2.0;
  TVirtualMC::GetMC()->Gspos("USC4",1,"UTI1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC4",2,"UTI1", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC4",3,"UTI2", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC4",4,"UTI2", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC4",5,"UTI3", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC4",6,"UTI3", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC4",7,"UTI4", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC4",8,"UTI4", xpos,-ypos, zpos,        0,"ONLY");
  // Lower bar (aluminum)
  parBOX[0] = 90.22/2.0;
  parBOX[1] =  1.50/2.0;
  parBOX[2] =  2.00/2.0;
  TVirtualMC::GetMC()->Gsvolu("USC5","BOX ",idtmed[1301-1],parBOX,kNparBOX);
  xpos       =   0.0;
  ypos       =   fgkClength[5][2]/2.0 + fgkClength[5][1] + fgkClength[5][0];
  zpos       =  -fgkSheight/2.0 + fgkSMpltT + 2.60;
  TVirtualMC::GetMC()->Gspos("USC5",1,"UTI1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC5",2,"UTI1", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC5",3,"UTI2", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC5",4,"UTI2", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC5",5,"UTI3", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC5",6,"UTI3", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC5",7,"UTI4", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC5",8,"UTI4", xpos,-ypos, zpos,        0,"ONLY");
  // Lower bar (aluminum)
  parBOX[0] = 82.60/2.0;
  parBOX[1] =  1.50/2.0;
  parBOX[2] =  1.60/2.0;
  TVirtualMC::GetMC()->Gsvolu("USC6","BOX ",idtmed[1301-1],parBOX,kNparBOX);
  xpos       =   0.0;
  ypos       =   fgkClength[5][2]/2.0 + fgkClength[5][1] + fgkClength[5][0];
  zpos       =  -fgkSheight/2.0 + fgkSMpltT + 1.60/2.0;
  TVirtualMC::GetMC()->Gspos("USC6",1,"UTI1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC6",2,"UTI1", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC6",3,"UTI2", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC6",4,"UTI2", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC6",5,"UTI3", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC6",6,"UTI3", xpos,-ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC6",7,"UTI4", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USC6",8,"UTI4", xpos,-ypos, zpos,        0,"ONLY");

  //
  // The long corner ledges
  //

  const Int_t   kNparSCL  =  3;
  Float_t parSCL[kNparSCL];
  const Int_t   kNparSCLb = 11;
  Float_t parSCLb[kNparSCLb];

  // Upper ledges 
  // Thickness of the corner ledges
  const Float_t kSCLthkUa  =  0.6; 
  const Float_t kSCLthkUb  =  0.6; 
  // Width of the corner ledges
  const Float_t kSCLwidUa  =  3.2;
  const Float_t kSCLwidUb  =  4.8;
  // Position of the corner ledges
  const Float_t kSCLposxUa = 0.7;
  const Float_t kSCLposxUb = 3.3;
  const Float_t kSCLposzUa = 1.65;
  const Float_t kSCLposzUb = 0.3;
  // Vertical
  parSCL[0]  = kSCLthkUa /2.0;
  parSCL[1]  = fgkSlength/2.0;
  parSCL[2]  = kSCLwidUa /2.0;
  TVirtualMC::GetMC()->Gsvolu("USL1","BOX ",idtmed[1301-1],parSCL,kNparSCL);
  xpos  =   fgkSwidth2/2.0 - fgkSMpltT - kSCLposxUa;
  ypos  =   0.0;
  zpos  =   fgkSheight/2.0 - fgkSMpltT - kSCLposzUa;
  TVirtualMC::GetMC()->Gspos("USL1",1,"UTI1", xpos,ypos,zpos,matrix[0],"ONLY");
  TVirtualMC::GetMC()->Gspos("USL1",3,"UTI4", xpos,ypos,zpos,matrix[0],"ONLY");
  xpos  = -xpos;
  TVirtualMC::GetMC()->Gspos("USL1",2,"UTI1", xpos,ypos,zpos,matrix[1],"ONLY");
  TVirtualMC::GetMC()->Gspos("USL1",4,"UTI4", xpos,ypos,zpos,matrix[1],"ONLY");
  // Horizontal
  parSCL[0]  = kSCLwidUb /2.0;
  parSCL[1]  = fgkSlength/2.0;
  parSCL[2]  = kSCLthkUb /2.0;
  TVirtualMC::GetMC()->Gsvolu("USL2","BOX ",idtmed[1301-1],parSCL,kNparSCL);
  xpos  =   fgkSwidth2/2.0 - fgkSMpltT - kSCLposxUb;
  ypos  =   0.0;
  zpos  =   fgkSheight/2.0 - fgkSMpltT - kSCLposzUb; 
  TVirtualMC::GetMC()->Gspos("USL2",1,"UTI1", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL2",3,"UTI2", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL2",5,"UTI3", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL2",7,"UTI4", xpos,ypos,zpos,        0,"ONLY");
  xpos  = -xpos;
  TVirtualMC::GetMC()->Gspos("USL2",2,"UTI1", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL2",4,"UTI2", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL2",6,"UTI3", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL2",8,"UTI4", xpos,ypos,zpos,        0,"ONLY");

  // Lower ledges 
  // Thickness of the corner ledges
  const Float_t kSCLthkLa  =  2.464; 
  const Float_t kSCLthkLb  =  1.0; 
  // Width of the corner ledges
  const Float_t kSCLwidLa  =  8.3;
  const Float_t kSCLwidLb  =  4.0;
  // Position of the corner ledges
  const Float_t kSCLposxLa = (3.0 * kSCLthkLb - kSCLthkLa) / 4.0 + 0.05;
  const Float_t kSCLposxLb = kSCLthkLb + kSCLwidLb/2.0 + 0.05;
  const Float_t kSCLposzLa = kSCLwidLa/2.0;
  const Float_t kSCLposzLb = kSCLthkLb/2.0;
  // Vertical
  // Trapezoidal shape
  parSCLb[ 0] = fgkSlength/2.0;
  parSCLb[ 1] = 0.0;
  parSCLb[ 2] = 0.0;
  parSCLb[ 3] = kSCLwidLa /2.0;
  parSCLb[ 4] = kSCLthkLb /2.0;
  parSCLb[ 5] = kSCLthkLa /2.0;
  parSCLb[ 6] = 5.0;
  parSCLb[ 7] = kSCLwidLa /2.0;
  parSCLb[ 8] = kSCLthkLb /2.0;
  parSCLb[ 9] = kSCLthkLa /2.0;
  parSCLb[10] = 5.0;
  TVirtualMC::GetMC()->Gsvolu("USL3","TRAP",idtmed[1301-1],parSCLb,kNparSCLb);
  xpos  =   fgkSwidth1/2.0 - fgkSMpltT - kSCLposxLa;
  ypos  =   0.0;
  zpos  = - fgkSheight/2.0 + fgkSMpltT + kSCLposzLa;
  TVirtualMC::GetMC()->Gspos("USL3",1,"UTI1", xpos,ypos,zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USL3",3,"UTI2", xpos,ypos,zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USL3",5,"UTI3", xpos,ypos,zpos,matrix[2],"ONLY");
  TVirtualMC::GetMC()->Gspos("USL3",7,"UTI4", xpos,ypos,zpos,matrix[2],"ONLY");
  xpos  = -xpos;
  TVirtualMC::GetMC()->Gspos("USL3",2,"UTI1", xpos,ypos,zpos,matrix[3],"ONLY");
  TVirtualMC::GetMC()->Gspos("USL3",4,"UTI2", xpos,ypos,zpos,matrix[3],"ONLY");
  TVirtualMC::GetMC()->Gspos("USL3",6,"UTI3", xpos,ypos,zpos,matrix[3],"ONLY");
  TVirtualMC::GetMC()->Gspos("USL3",8,"UTI4", xpos,ypos,zpos,matrix[3],"ONLY");
  // Horizontal part
  parSCL[0]  = kSCLwidLb /2.0;
  parSCL[1]  = fgkSlength/2.0;
  parSCL[2]  = kSCLthkLb /2.0;
  TVirtualMC::GetMC()->Gsvolu("USL4","BOX ",idtmed[1301-1],parSCL,kNparSCL);
  xpos  =   fgkSwidth1/2.0 - fgkSMpltT - kSCLposxLb;
  ypos  =   0.0;
  zpos  = - fgkSheight/2.0 + fgkSMpltT + kSCLposzLb;
  TVirtualMC::GetMC()->Gspos("USL4",1,"UTI1", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL4",3,"UTI2", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL4",5,"UTI3", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL4",7,"UTI4", xpos,ypos,zpos,        0,"ONLY");
  xpos  = -xpos;
  TVirtualMC::GetMC()->Gspos("USL4",2,"UTI1", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL4",4,"UTI2", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL4",6,"UTI3", xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("USL4",8,"UTI4", xpos,ypos,zpos,        0,"ONLY");

  //
  // Aluminum plates in the front part of the super modules
  //

  const Int_t kNparTrd = 4;
  Float_t parTrd[kNparTrd];
  parTrd[0] = fgkSwidth1/2.0 - 2.5;
  parTrd[1] = fgkSwidth2/2.0 - 2.5;
  parTrd[2] = fgkSMpltT /2.0;
  parTrd[3] = fgkSheight/2.0 - 1.0;
  TVirtualMC::GetMC()->Gsvolu("UTA1","TRD1",idtmed[1301-1],parTrd,kNparTrd);
  xpos      =  0.0;
  ypos      =  fgkSMpltT/2.0 - fgkFlength/2.0;
  zpos      = -0.5;
  TVirtualMC::GetMC()->Gspos("UTA1",1,"UTF1",xpos, ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTA1",2,"UTF2",xpos,-ypos,zpos,        0,"ONLY");

  const Int_t kNparPlt = 3;
  Float_t parPlt[kNparPlt];
  parPlt[0] =  0.0;
  parPlt[1] =  0.0;
  parPlt[2] =  0.0;
  TVirtualMC::GetMC()->Gsvolu("UTA2","BOX ",idtmed[1301-1],parPlt,0);
  xpos      =  0.0;
  ypos      =  0.0;
  zpos      =  fgkSheight/2.0 - fgkSMpltT/2.0;
  parPlt[0] = fgkSwidth2/2.0 - 0.2;
  parPlt[1] = fgkFlength/2.0;
  parPlt[2] = fgkSMpltT /2.0;
  TVirtualMC::GetMC()->Gsposp("UTA2",1,"UTF2",xpos,ypos,zpos
                    ,        0,"ONLY",parPlt,kNparPlt);
  xpos      = (fgkSwidth1 + fgkSwidth2)/4.0 - fgkSMpltT/2.0 - 0.0016;
  ypos      =  0.0;
  zpos      =  0.0;
  parPlt[0] = fgkSMpltT /2.0;
  parPlt[1] = fgkFlength/2.0;
  parPlt[2] = fgkSheight/2.0;
  TVirtualMC::GetMC()->Gsposp("UTA2",2,"UTF2", xpos,ypos,zpos
                    ,matrix[0],"ONLY",parPlt,kNparPlt);
  TVirtualMC::GetMC()->Gsposp("UTA2",3,"UTF2",-xpos,ypos,zpos
                    ,matrix[1],"ONLY",parPlt,kNparPlt);

  // Additional aluminum bar
  parBOX[0] = 80.0/2.0;
  parBOX[1] =  1.0/2.0;
  parBOX[2] = 10.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTA3","BOX ",idtmed[1301-1],parBOX,kNparBOX);
  xpos      =  0.0;
  ypos      =  1.0/2.0 + fgkSMpltT - fgkFlength/2.0;
  zpos      =  fgkSheight/2.0 - 1.5 - 10.0/2.0;
  TVirtualMC::GetMC()->Gspos("UTA3",1,"UTF1", xpos, ypos, zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTA3",2,"UTF2", xpos,-ypos, zpos,        0,"ONLY");

}

//_____________________________________________________________________________
void AliTRDgeometry::CreateServices(Int_t *idtmed)
{
  //
  // Create the geometry of the services
  //
  // Names of the TRD services volumina
  //
  //        UTC1    Cooling arterias (Al)
  //        UTC2    Cooling arterias (Water)
  //        UUxx    Volumes for the services at the chambers (Air)
  //        UMCM    Readout MCMs     (G10/Cu/Si)
  //        UDCS    DCSs boards      (G10/Cu)
  //        UTP1    Power bars       (Cu)
  //        UTCP    Cooling pipes    (Fe)
  //        UTCH    Cooling pipes    (Water)
  //        UTPL    Power lines      (Cu)
  //        UTGD    Gas distribution box (V2A)
  //

  Int_t   ilayer = 0;
  Int_t   istack = 0;

  Float_t xpos  = 0.0;
  Float_t ypos  = 0.0;
  Float_t zpos  = 0.0;

  const Int_t kTag = 100;
  Char_t  cTagV[kTag];

  const Int_t kNparBox  = 3;
  Float_t parBox[kNparBox];

  const Int_t kNparTube = 3;
  Float_t parTube[kNparTube];

  // Services inside the baby frame
  const Float_t kBBMdz = 223.0;
  const Float_t kBBSdz =   8.5;

  // Services inside the back frame
  const Float_t kBFMdz = 118.0;
  const Float_t kBFSdz =   8.5;

  // The rotation matrices
  const Int_t kNmatrix = 10;
  Int_t   matrix[kNmatrix];
  TVirtualMC::GetMC()->Matrix(matrix[0], 100.0,   0.0,  90.0,  90.0,  10.0,   0.0); // rotation around y-axis
  TVirtualMC::GetMC()->Matrix(matrix[1],  80.0,   0.0,  90.0,  90.0,  10.0, 180.0); // rotation around y-axis
  TVirtualMC::GetMC()->Matrix(matrix[2],   0.0,   0.0,  90.0,  90.0,  90.0,   0.0);
  TVirtualMC::GetMC()->Matrix(matrix[3], 180.0,   0.0,  90.0,  90.0,  90.0, 180.0);
  TVirtualMC::GetMC()->Matrix(matrix[4],  90.0,   0.0,   0.0,   0.0,  90.0,  90.0);
  TVirtualMC::GetMC()->Matrix(matrix[5], 100.0,   0.0,  90.0, 270.0,  10.0,   0.0);
  TVirtualMC::GetMC()->Matrix(matrix[6],  80.0,   0.0,  90.0, 270.0,  10.0, 180.0);
  TVirtualMC::GetMC()->Matrix(matrix[7],  90.0,  10.0,  90.0, 100.0,   0.0,   0.0); // rotation around z-axis
  TVirtualMC::GetMC()->Matrix(matrix[8],  90.0, 350.0,  90.0,  80.0,   0.0,   0.0); // rotation around z-axis
  TVirtualMC::GetMC()->Matrix(matrix[9],  90.0,  90.0,  90.0, 180.0,   0.0,   0.0); // rotation around z-axis
    
  //
  // The cooling arterias
  //

  // Width of the cooling arterias
  const Float_t kCOLwid  =  0.8; 
  // Height of the cooling arterias
  const Float_t kCOLhgt  =  6.5;
  // Positioning of the cooling 
  const Float_t kCOLposx =  1.0;
  const Float_t kCOLposz = -1.2;
  // Thickness of the walls of the cooling arterias
  const Float_t kCOLthk  =  0.1;
  const Int_t   kNparCOL =  3;
  Float_t parCOL[kNparCOL];
  parCOL[0] = 0.0;
  parCOL[1] = 0.0;
  parCOL[2] = 0.0;
  TVirtualMC::GetMC()->Gsvolu("UTC1","BOX ",idtmed[1308-1],parCOL,0);
  TVirtualMC::GetMC()->Gsvolu("UTC3","BOX ",idtmed[1308-1],parCOL,0);
  parCOL[0] =  kCOLwid/2.0 - kCOLthk;
  parCOL[1] = -1.0;
  parCOL[2] =  kCOLhgt/2.0 - kCOLthk;
  TVirtualMC::GetMC()->Gsvolu("UTC2","BOX ",idtmed[1314-1],parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsvolu("UTC4","BOX ",idtmed[1314-1],parCOL,kNparCOL);

  xpos  = 0.0;
  ypos  = 0.0;
  zpos  = 0.0;
  TVirtualMC::GetMC()->Gspos("UTC2",1,"UTC1", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTC4",1,"UTC3", xpos,ypos,zpos,0,"ONLY");

  for (ilayer = 1; ilayer < kNlayer; ilayer++) { 

    // Along the chambers
    xpos      = fgkCwidth[ilayer]/2.0 + kCOLwid/2.0 + kCOLposx;
    ypos      = 0.0;
    zpos      = fgkVrocsm + fgkSMpltT - fgkCalZpos 
              + kCOLhgt/2.0 - fgkSheight/2.0 + kCOLposz 
              + ilayer * (fgkCH + fgkVspace);
    parCOL[0] = kCOLwid   /2.0;
    parCOL[1] = fgkSlength/2.0;
    parCOL[2] = kCOLhgt   /2.0;
    TVirtualMC::GetMC()->Gsposp("UTC1",ilayer           ,"UTI1", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC1",ilayer+   kNlayer,"UTI1",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC1",ilayer+ 6*kNlayer,"UTI2", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC1",ilayer+ 7*kNlayer,"UTI2",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC1",ilayer+ 8*kNlayer,"UTI3", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC1",ilayer+ 9*kNlayer,"UTI3",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC1",ilayer+10*kNlayer,"UTI4", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC1",ilayer+11*kNlayer,"UTI4",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parCOL,kNparCOL);

    // Front of supermodules
    xpos      = fgkCwidth[ilayer]/2.0 + kCOLwid/2.0 + kCOLposx;
    ypos      = 0.0;
    zpos      = fgkVrocsm + fgkSMpltT - fgkCalZpos 
              + kCOLhgt/2.0 - fgkSheight/2.0 + kCOLposz 
              + ilayer * (fgkCH + fgkVspace);
    parCOL[0] = kCOLwid   /2.0;
    parCOL[1] = fgkFlength/2.0;
    parCOL[2] = kCOLhgt   /2.0;
    TVirtualMC::GetMC()->Gsposp("UTC3",ilayer+2*kNlayer,"UTF1", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC3",ilayer+3*kNlayer,"UTF1",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC3",ilayer+4*kNlayer,"UTF2", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC3",ilayer+5*kNlayer,"UTF2",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parCOL,kNparCOL);

  }

  for (ilayer = 1; ilayer < kNlayer; ilayer++) { 

    // In baby frame
    xpos      = fgkCwidth[ilayer]/2.0 + kCOLwid/2.0 + kCOLposx - 2.5;
    ypos      = kBBSdz/2.0 - kBBMdz/2.0;
    zpos      = fgkVrocsm + fgkSMpltT - fgkCalZpos 
              + kCOLhgt/2.0 - fgkSheight/2.0 + kCOLposz 
              + ilayer * (fgkCH + fgkVspace);
    parCOL[0] = kCOLwid/2.0;
    parCOL[1] = kBBSdz /2.0;
    parCOL[2] = kCOLhgt/2.0;
    TVirtualMC::GetMC()->Gsposp("UTC3",ilayer+6*kNlayer,"BBTRD", xpos, ypos, zpos
                      ,matrix[0],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC3",ilayer+7*kNlayer,"BBTRD",-xpos, ypos, zpos
                      ,matrix[1],"ONLY",parCOL,kNparCOL);

  }

  for (ilayer = 1; ilayer < kNlayer; ilayer++) { 

    // In back frame
    xpos      = fgkCwidth[ilayer]/2.0 + kCOLwid/2.0 + kCOLposx - 0.3;
    ypos      = -kBFSdz/2.0 + kBFMdz/2.0;
    zpos      = fgkVrocsm + fgkSMpltT - fgkCalZpos 
              + kCOLhgt/2.0 - fgkSheight/2.0 + kCOLposz 
              + ilayer * (fgkCH + fgkVspace);
    parCOL[0] = kCOLwid/2.0;
    parCOL[1] = kBFSdz /2.0;
    parCOL[2] = kCOLhgt/2.0;
    TVirtualMC::GetMC()->Gsposp("UTC3",ilayer+6*kNlayer,"BFTRD", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parCOL,kNparCOL);
    TVirtualMC::GetMC()->Gsposp("UTC3",ilayer+7*kNlayer,"BFTRD",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parCOL,kNparCOL);

  }

  // The upper most layer
  // Along the chambers
  xpos      = fgkCwidth[5]/2.0 - kCOLhgt/2.0 - 1.3;
  ypos      = 0.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 0.4 - kCOLwid/2.0; 
  parCOL[0] = kCOLwid   /2.0;
  parCOL[1] = fgkSlength/2.0;
  parCOL[2] = kCOLhgt   /2.0;
  TVirtualMC::GetMC()->Gsposp("UTC1",6           ,"UTI1", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC1",6+   kNlayer,"UTI1",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC1",6+ 6*kNlayer,"UTI2", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC1",6+ 7*kNlayer,"UTI2",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC1",6+ 8*kNlayer,"UTI3", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC1",6+ 9*kNlayer,"UTI3",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC1",6+10*kNlayer,"UTI4", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC1",6+11*kNlayer,"UTI4",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  // Front of supermodules
  xpos      = fgkCwidth[5]/2.0 - kCOLhgt/2.0 - 1.3;
  ypos      = 0.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 0.4 - kCOLwid/2.0; 
  parCOL[0] = kCOLwid   /2.0;
  parCOL[1] = fgkFlength/2.0;
  parCOL[2] = kCOLhgt   /2.0;
  TVirtualMC::GetMC()->Gsposp("UTC3",6+ 2*kNlayer,"UTF1", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC3",6+ 3*kNlayer,"UTF1",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC3",6+ 4*kNlayer,"UTF2", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC3",6+ 5*kNlayer,"UTF2",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  // In baby frame
  xpos      = fgkCwidth[5]/2.0 - kCOLhgt/2.0 - 3.1;
  ypos      = kBBSdz/2.0 - kBBMdz/2.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 0.4 - kCOLwid/2.0; 
  parCOL[0] = kCOLwid/2.0;
  parCOL[1] = kBBSdz /2.0;
  parCOL[2] = kCOLhgt/2.0;
  TVirtualMC::GetMC()->Gsposp("UTC3",6+6*kNlayer,"BBTRD", xpos, ypos, zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC3",6+7*kNlayer,"BBTRD",-xpos, ypos, zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  // In back frame
  xpos      = fgkCwidth[5]/2.0 - kCOLhgt/2.0 - 1.3;
  ypos      = -kBFSdz/2.0 + kBFMdz/2.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 0.4 - kCOLwid/2.0; 
  parCOL[0] = kCOLwid/2.0;
  parCOL[1] = kBFSdz /2.0;
  parCOL[2] = kCOLhgt/2.0;
  TVirtualMC::GetMC()->Gsposp("UTC3",6+6*kNlayer,"BFTRD", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);
  TVirtualMC::GetMC()->Gsposp("UTC3",6+7*kNlayer,"BFTRD",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parCOL,kNparCOL);

  //
  // The power bus bars
  //

  const Float_t kPWRwid  =  0.6;
  // Increase the height of the power bus bars to take into
  // account the material of additional cables, etc.
  const Float_t kPWRhgtA =  5.0 + 0.2;
  const Float_t kPWRhgtB =  5.0;
  const Float_t kPWRposx =  2.0;
  const Float_t kPWRposz =  0.1;
  const Int_t   kNparPWR =  3;
  Float_t parPWR[kNparPWR];
  parPWR[0] = 0.0;
  parPWR[1] = 0.0;
  parPWR[2] = 0.0;
  TVirtualMC::GetMC()->Gsvolu("UTP1","BOX ",idtmed[1325-1],parPWR,0);
  TVirtualMC::GetMC()->Gsvolu("UTP3","BOX ",idtmed[1325-1],parPWR,0);
  
  for (ilayer = 1; ilayer < kNlayer; ilayer++) { 

    // Along the chambers
    xpos      = fgkCwidth[ilayer]/2.0 + kPWRwid/2.0 + kPWRposx;
    ypos      = 0.0;
    zpos      = fgkVrocsm + fgkSMpltT - fgkCalZpos 
              + kPWRhgtA/2.0 - fgkSheight/2.0 + kPWRposz 
              + ilayer * (fgkCH + fgkVspace);
    parPWR[0] = kPWRwid   /2.0;
    parPWR[1] = fgkSlength/2.0;
    parPWR[2] = kPWRhgtA  /2.0;
    TVirtualMC::GetMC()->Gsposp("UTP1",ilayer           ,"UTI1", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP1",ilayer+   kNlayer,"UTI1",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP1",ilayer+ 6*kNlayer,"UTI2", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP1",ilayer+ 7*kNlayer,"UTI2",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP1",ilayer+ 8*kNlayer,"UTI3", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP1",ilayer+ 9*kNlayer,"UTI3",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP1",ilayer+10*kNlayer,"UTI4", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP1",ilayer+11*kNlayer,"UTI4",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parPWR,kNparPWR);

    // Front of supermodule
    xpos      = fgkCwidth[ilayer]/2.0 + kPWRwid/2.0 + kPWRposx;
    ypos      = 0.0;
    zpos      = fgkVrocsm + fgkSMpltT - fgkCalZpos 
              + kPWRhgtA/2.0 - fgkSheight/2.0 + kPWRposz 
              + ilayer * (fgkCH + fgkVspace);
    parPWR[0] = kPWRwid   /2.0;
    parPWR[1] = fgkFlength/2.0;
    parPWR[2] = kPWRhgtA  /2.0;
    TVirtualMC::GetMC()->Gsposp("UTP3",ilayer+ 2*kNlayer,"UTF1", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP3",ilayer+ 3*kNlayer,"UTF1",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP3",ilayer+ 4*kNlayer,"UTF2", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP3",ilayer+ 5*kNlayer,"UTF2",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parPWR,kNparPWR);

  }

  for (ilayer = 1; ilayer < kNlayer; ilayer++) { 

    // In baby frame
    xpos      = fgkCwidth[ilayer]/2.0 + kPWRwid/2.0 + kPWRposx - 2.5;
    ypos      = kBBSdz/2.0 - kBBMdz/2.0;
    zpos      = fgkVrocsm + fgkSMpltT - fgkCalZpos 
              + kPWRhgtB/2.0 - fgkSheight/2.0 + kPWRposz 
              + ilayer * (fgkCH + fgkVspace);
    parPWR[0] = kPWRwid /2.0;
    parPWR[1] = kBBSdz  /2.0;
    parPWR[2] = kPWRhgtB/2.0;
    TVirtualMC::GetMC()->Gsposp("UTP3",ilayer+6*kNlayer,"BBTRD", xpos, ypos, zpos
                      ,matrix[0],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP3",ilayer+7*kNlayer,"BBTRD",-xpos, ypos, zpos
                      ,matrix[1],"ONLY",parPWR,kNparPWR);

  }

  for (ilayer = 1; ilayer < kNlayer; ilayer++) { 

    // In back frame
    xpos      = fgkCwidth[ilayer]/2.0 + kPWRwid/2.0 + kPWRposx - 0.3;
    ypos      = -kBFSdz/2.0 + kBFMdz/2.0;
    zpos      = fgkVrocsm + fgkSMpltT - fgkCalZpos 
              + kPWRhgtB/2.0 - fgkSheight/2.0 + kPWRposz 
              + ilayer * (fgkCH + fgkVspace);
    parPWR[0] = kPWRwid /2.0;
    parPWR[1] = kBFSdz  /2.0;
    parPWR[2] = kPWRhgtB/2.0;
    TVirtualMC::GetMC()->Gsposp("UTP3",ilayer+8*kNlayer,"BFTRD", xpos,ypos,zpos
                      ,matrix[0],"ONLY",parPWR,kNparPWR);
    TVirtualMC::GetMC()->Gsposp("UTP3",ilayer+9*kNlayer,"BFTRD",-xpos,ypos,zpos
                      ,matrix[1],"ONLY",parPWR,kNparPWR);

  }

  // The upper most layer
  // Along the chambers
  xpos      = fgkCwidth[5]/2.0 + kPWRhgtB/2.0 - 1.3;
  ypos      = 0.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 0.6 - kPWRwid/2.0; 
  parPWR[0] = kPWRwid   /2.0;
  parPWR[1] = fgkSlength/2.0;
  parPWR[2] = kPWRhgtB  /2.0 ;
  TVirtualMC::GetMC()->Gsposp("UTP1",6           ,"UTI1", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP1",6+   kNlayer,"UTI1",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP1",6+ 6*kNlayer,"UTI2", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP1",6+ 7*kNlayer,"UTI2",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP1",6+ 8*kNlayer,"UTI3", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP1",6+ 9*kNlayer,"UTI3",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP1",6+10*kNlayer,"UTI4", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP1",6+11*kNlayer,"UTI4",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  // Front of supermodules
  xpos      = fgkCwidth[5]/2.0 + kPWRhgtB/2.0 - 1.3;
  ypos      = 0.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 0.6 - kPWRwid/2.0; 
  parPWR[0] = kPWRwid   /2.0;
  parPWR[1] = fgkFlength/2.0;
  parPWR[2] = kPWRhgtB  /2.0;
  TVirtualMC::GetMC()->Gsposp("UTP3",6+2*kNlayer,"UTF1", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP3",6+3*kNlayer,"UTF1",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP3",6+4*kNlayer,"UTF2", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP3",6+5*kNlayer,"UTF2",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  // In baby frame
  xpos      = fgkCwidth[5]/2.0 + kPWRhgtB/2.0 - 3.0;
  ypos      = kBBSdz/2.0 - kBBMdz/2.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 0.6 - kPWRwid/2.0; 
  parPWR[0] = kPWRwid /2.0;
  parPWR[1] = kBBSdz  /2.0;
  parPWR[2] = kPWRhgtB/2.0;
  TVirtualMC::GetMC()->Gsposp("UTP3",6+6*kNlayer,"BBTRD", xpos, ypos, zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP3",6+7*kNlayer,"BBTRD",-xpos, ypos, zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  // In back frame
  xpos      = fgkCwidth[5]/2.0 + kPWRhgtB/2.0 - 1.3;
  ypos      = -kBFSdz/2.0 + kBFMdz/2.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 0.6 - kPWRwid/2.0; 
  parPWR[0] = kPWRwid /2.0;
  parPWR[1] = kBFSdz  /2.0;
  parPWR[2] = kPWRhgtB/2.0;
  TVirtualMC::GetMC()->Gsposp("UTP3",6+8*kNlayer,"BFTRD", xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);
  TVirtualMC::GetMC()->Gsposp("UTP3",6+9*kNlayer,"BFTRD",-xpos,ypos,zpos
                    ,matrix[3],"ONLY",parPWR,kNparPWR);

  //
  // The gas tubes connecting the chambers in the super modules with holes
  // Material: Stainless steel
  //

  // PHOS holes
  parTube[0] = 0.0;
  parTube[1] = 2.2/2.0;
  parTube[2] = fgkClength[5][2]/2.0 - fgkHspace/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTG1","TUBE",idtmed[1308-1],parTube,kNparTube);
  parTube[0] = 0.0;
  parTube[1] = 2.1/2.0;
  parTube[2] = fgkClength[5][2]/2.0 - fgkHspace/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTG2","TUBE",idtmed[1309-1],parTube,kNparTube);
  xpos  = 0.0;
  ypos  = 0.0;
  zpos  = 0.0;
  TVirtualMC::GetMC()->Gspos("UTG2",1,"UTG1",xpos,ypos,zpos,0,"ONLY");
  for (ilayer = 0; ilayer < kNlayer; ilayer++) { 
    xpos      = fgkCwidth[ilayer]/2.0 + kCOLwid/2.0 - 1.5;
    ypos      = 0.0;
    zpos      = fgkVrocsm + fgkSMpltT + kCOLhgt/2.0 - fgkSheight/2.0 + 5.0 
              + ilayer * (fgkCH + fgkVspace);
    TVirtualMC::GetMC()->Gspos("UTG1",1+ilayer,"UTI3", xpos, ypos, zpos,matrix[4],"ONLY");
    TVirtualMC::GetMC()->Gspos("UTG1",7+ilayer,"UTI3",-xpos, ypos, zpos,matrix[4],"ONLY");
  }
  // Missing L4S4 chamber in sector 17
  parTube[0] = 0.0;
  parTube[1] = 2.2/2.0;
  parTube[2] = fgkClength[4][4]/2.0 - fgkHspace/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTG3","TUBE",idtmed[1308-1],parTube,kNparTube);
  parTube[0] = 0.0;
  parTube[1] = 2.1/2.0;
  parTube[2] = fgkClength[4][4]/2.0 - fgkHspace/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTG4","TUBE",idtmed[1309-1],parTube,kNparTube);
  xpos  = 0.0;
  ypos  = 0.0;
  zpos  = 0.0;
  TVirtualMC::GetMC()->Gspos("UTG4",1,"UTG3",xpos,ypos,zpos,0,"ONLY");
  xpos  = fgkCwidth[4]/2.0 + kCOLwid/2.0 - 1.5;
  ypos  = -fgkClength[4][0]/2.0 - fgkClength[4][1] - fgkClength[4][2]/2.0;
  zpos  = fgkVrocsm + fgkSMpltT + kCOLhgt/2.0 - fgkSheight/2.0 + 5.0 + 4 * (fgkCH + fgkVspace);
  TVirtualMC::GetMC()->Gspos("UTG3",1,"UTI4", xpos, ypos, zpos,matrix[4],"ONLY");
  TVirtualMC::GetMC()->Gspos("UTG4",2,"UTI4",-xpos, ypos, zpos,matrix[4],"ONLY");

  //
  // The volumes for the services at the chambers
  //

  const Int_t kNparServ = 3;
  Float_t parServ[kNparServ];

  for (istack = 0; istack < kNstack; istack++) {
    for (ilayer = 0; ilayer < kNlayer; ilayer++) {

      Int_t iDet = GetDetectorSec(ilayer,istack);

      snprintf(cTagV,kTag,"UU%02d",iDet);
      parServ[0] = fgkCwidth[ilayer]         /2.0;
      parServ[1] = fgkClength[ilayer][istack]/2.0 - fgkHspace/2.0;
      parServ[2] = fgkCsvH                 /2.0;
      TVirtualMC::GetMC()->Gsvolu(cTagV,"BOX",idtmed[1302-1],parServ,kNparServ);

    }
  }

  //
  // The cooling pipes inside the service volumes
  //

  // The cooling pipes
  parTube[0] =  0.0;
  parTube[1] =  0.0;
  parTube[2] =  0.0;
  TVirtualMC::GetMC()->Gsvolu("UTCP","TUBE",idtmed[1324-1],parTube,0);
  // The cooling water
  parTube[0] =  0.0;
  parTube[1] =  0.2/2.0;
  parTube[2] = -1.0;
  TVirtualMC::GetMC()->Gsvolu("UTCH","TUBE",idtmed[1314-1],parTube,kNparTube);
  // Water inside the cooling pipe
  xpos = 0.0;
  ypos = 0.0;
  zpos = 0.0;
  TVirtualMC::GetMC()->Gspos("UTCH",1,"UTCP",xpos,ypos,zpos,0,"ONLY");

  // Position the cooling pipes in the mother volume
  for (istack = 0; istack < kNstack; istack++) {
    for (ilayer = 0; ilayer < kNlayer; ilayer++) {
      Int_t   iDet    = GetDetectorSec(ilayer,istack);
      Int_t   iCopy   = GetDetector(ilayer,istack,0) * 100;
      Int_t   nMCMrow = GetRowMax(ilayer,istack,0);
      Float_t ySize   = (GetChamberLength(ilayer,istack) - 2.0*fgkRpadW) 
                      / ((Float_t) nMCMrow);
      snprintf(cTagV,kTag,"UU%02d",iDet);
      for (Int_t iMCMrow = 0; iMCMrow < nMCMrow; iMCMrow++) {
        xpos   = 0.0;
        ypos   = (0.5 + iMCMrow) * ySize 
               - fgkClength[ilayer][istack]/2.0 + fgkHspace/2.0;
        zpos   = 0.0 + 0.742/2.0;                 
	// The cooling pipes
        parTube[0] = 0.0;
        parTube[1] = 0.3/2.0; // Thickness of the cooling pipes
        parTube[2] = fgkCwidth[ilayer]/2.0;
        TVirtualMC::GetMC()->Gsposp("UTCP",iCopy+iMCMrow,cTagV,xpos,ypos,zpos
                          ,matrix[2],"ONLY",parTube,kNparTube);
      }
    }
  }

  //
  // The power lines
  //

  // The copper power lines
  parTube[0] = 0.0;
  parTube[1] = 0.0;
  parTube[2] = 0.0;
  TVirtualMC::GetMC()->Gsvolu("UTPL","TUBE",idtmed[1305-1],parTube,0);

  // Position the power lines in the mother volume
  for (istack = 0; istack < kNstack; istack++) {
    for (ilayer = 0; ilayer < kNlayer; ilayer++) {
      Int_t   iDet    = GetDetectorSec(ilayer,istack);
      Int_t   iCopy   = GetDetector(ilayer,istack,0) * 100;
      Int_t   nMCMrow = GetRowMax(ilayer,istack,0);
      Float_t ySize   = (GetChamberLength(ilayer,istack) - 2.0*fgkRpadW) 
                      / ((Float_t) nMCMrow);
      snprintf(cTagV,kTag,"UU%02d",iDet);
      for (Int_t iMCMrow = 0; iMCMrow < nMCMrow; iMCMrow++) {
        xpos       = 0.0;
        ypos       = (0.5 + iMCMrow) * ySize - 1.0 
                   - fgkClength[ilayer][istack]/2.0 + fgkHspace/2.0;
        zpos       = -0.4 + 0.742/2.0;
        parTube[0] = 0.0;
        parTube[1] = 0.2/2.0; // Thickness of the power lines
        parTube[2] = fgkCwidth[ilayer]/2.0;
        TVirtualMC::GetMC()->Gsposp("UTPL",iCopy+iMCMrow,cTagV,xpos,ypos,zpos
                          ,matrix[2],"ONLY",parTube,kNparTube);
      }
    }
  }

  //
  // The MCMs
  //

  const Float_t kMCMx    = 3.0;
  const Float_t kMCMy    = 3.0;
  const Float_t kMCMz    = 0.3;
  
  const Float_t kMCMpcTh = 0.1;
  const Float_t kMCMcuTh = 0.0025;
  const Float_t kMCMsiTh = 0.03;
  const Float_t kMCMcoTh = 0.04;

  // The mother volume for the MCMs (air)
  const Int_t kNparMCM = 3;
  Float_t parMCM[kNparMCM];
  parMCM[0] = kMCMx   /2.0;
  parMCM[1] = kMCMy   /2.0;
  parMCM[2] = kMCMz   /2.0;
  TVirtualMC::GetMC()->Gsvolu("UMCM","BOX",idtmed[1302-1],parMCM,kNparMCM);

  // The MCM carrier G10 layer
  parMCM[0] = kMCMx   /2.0;
  parMCM[1] = kMCMy   /2.0;
  parMCM[2] = kMCMpcTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UMC1","BOX",idtmed[1319-1],parMCM,kNparMCM);
  // The MCM carrier Cu layer
  parMCM[0] = kMCMx   /2.0;
  parMCM[1] = kMCMy   /2.0;
  parMCM[2] = kMCMcuTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UMC2","BOX",idtmed[1318-1],parMCM,kNparMCM);
  // The silicon of the chips
  parMCM[0] = kMCMx   /2.0;
  parMCM[1] = kMCMy   /2.0;
  parMCM[2] = kMCMsiTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UMC3","BOX",idtmed[1320-1],parMCM,kNparMCM);
  // The aluminum of the cooling plates
  parMCM[0] = kMCMx   /2.0;
  parMCM[1] = kMCMy   /2.0;
  parMCM[2] = kMCMcoTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UMC4","BOX",idtmed[1324-1],parMCM,kNparMCM);

  // Put the MCM material inside the MCM mother volume
  xpos  =  0.0;
  ypos  =  0.0;
  zpos  = -kMCMz   /2.0 + kMCMpcTh/2.0;
  TVirtualMC::GetMC()->Gspos("UMC1",1,"UMCM",xpos,ypos,zpos,0,"ONLY");
  zpos +=  kMCMpcTh/2.0 + kMCMcuTh/2.0;
  TVirtualMC::GetMC()->Gspos("UMC2",1,"UMCM",xpos,ypos,zpos,0,"ONLY");
  zpos +=  kMCMcuTh/2.0 + kMCMsiTh/2.0;
  TVirtualMC::GetMC()->Gspos("UMC3",1,"UMCM",xpos,ypos,zpos,0,"ONLY");
  zpos +=  kMCMsiTh/2.0 + kMCMcoTh/2.0;
  TVirtualMC::GetMC()->Gspos("UMC4",1,"UMCM",xpos,ypos,zpos,0,"ONLY");

  // Position the MCMs in the mother volume
  for (istack = 0; istack < kNstack; istack++) {
    for (ilayer = 0; ilayer < kNlayer; ilayer++) {
      Int_t   iDet    = GetDetectorSec(ilayer,istack);
      Int_t   iCopy   = GetDetector(ilayer,istack,0) * 1000;
      Int_t   nMCMrow = GetRowMax(ilayer,istack,0);
      Float_t ySize   = (GetChamberLength(ilayer,istack) - 2.0*fgkRpadW)
                      / ((Float_t) nMCMrow);
      Int_t   nMCMcol = 8;
      Float_t xSize   = (GetChamberWidth(ilayer)         - 2.0*fgkCpadW)
                      / ((Float_t) nMCMcol + 6);             // Introduce 6 gaps
      Int_t   iMCM[8] = {  1,  2,  3,  5,  8,  9, 10, 12 };  // 0..7 MCM + 6 gap structure
      snprintf(cTagV,kTag,"UU%02d",iDet);
      for (Int_t iMCMrow = 0; iMCMrow < nMCMrow; iMCMrow++) {
        for (Int_t iMCMcol = 0; iMCMcol < nMCMcol; iMCMcol++) {
          xpos      = (0.5 + iMCM[iMCMcol]) * xSize + 1.0
                    - fgkCwidth[ilayer]/2.0;
          ypos      = (0.5 + iMCMrow) * ySize + 1.0
                    - fgkClength[ilayer][istack]/2.0 + fgkHspace/2.0;
          zpos      = -0.4 + 0.742/2.0;
          TVirtualMC::GetMC()->Gspos("UMCM",iCopy+iMCMrow*10+iMCMcol,cTagV
                           ,xpos,ypos,zpos,0,"ONLY");
	  // Add two additional smaller cooling pipes on top of the MCMs
	  // to mimic the meandering structure
          xpos      = (0.5 + iMCM[iMCMcol]) * xSize + 1.0
                    - fgkCwidth[ilayer]/2.0;
          ypos      = (0.5 + iMCMrow) * ySize
                    - fgkClength[ilayer][istack]/2.0 + fgkHspace/2.0;
          zpos      = 0.0 + 0.742/2.0;                 
          parTube[0] = 0.0;
          parTube[1] = 0.3/2.0; // Thickness of the cooling pipes
          parTube[2] = kMCMx/2.0;
          TVirtualMC::GetMC()->Gsposp("UTCP",iCopy+iMCMrow*10+iMCMcol+ 50,cTagV
                            ,xpos,ypos+1.0,zpos
                            ,matrix[2],"ONLY",parTube,kNparTube);
          TVirtualMC::GetMC()->Gsposp("UTCP",iCopy+iMCMrow*10+iMCMcol+500,cTagV
                            ,xpos,ypos+2.0,zpos
                            ,matrix[2],"ONLY",parTube,kNparTube);

        }
      }

    }
  }

  //
  // The DCS boards
  //

  const Float_t kDCSx    =  9.0;
  const Float_t kDCSy    = 14.5;
  const Float_t kDCSz    =  0.3;
  
  const Float_t kDCSpcTh =  0.15;
  const Float_t kDCScuTh =  0.01;
  const Float_t kDCScoTh =  0.04;

  // The mother volume for the DCSs (air)
  const Int_t kNparDCS = 3;
  Float_t parDCS[kNparDCS];
  parDCS[0] = kDCSx   /2.0;
  parDCS[1] = kDCSy   /2.0;
  parDCS[2] = kDCSz   /2.0;
  TVirtualMC::GetMC()->Gsvolu("UDCS","BOX",idtmed[1302-1],parDCS,kNparDCS);

  // The DCS carrier G10 layer
  parDCS[0] = kDCSx   /2.0;
  parDCS[1] = kDCSy   /2.0;
  parDCS[2] = kDCSpcTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UDC1","BOX",idtmed[1319-1],parDCS,kNparDCS);
  // The DCS carrier Cu layer
  parDCS[0] = kDCSx   /2.0;
  parDCS[1] = kDCSy   /2.0;
  parDCS[2] = kDCScuTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UDC2","BOX",idtmed[1318-1],parDCS,kNparDCS);
  // The aluminum of the cooling plates
  parDCS[0] = 5.0     /2.0;
  parDCS[1] = 5.0     /2.0;
  parDCS[2] = kDCScoTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UDC3","BOX",idtmed[1324-1],parDCS,kNparDCS);

  // Put the DCS material inside the DCS mother volume
  xpos  =  0.0;
  ypos  =  0.0;
  zpos  = -kDCSz   /2.0 + kDCSpcTh/2.0;
  TVirtualMC::GetMC()->Gspos("UDC1",1,"UDCS",xpos,ypos,zpos,0,"ONLY");
  zpos +=  kDCSpcTh/2.0 + kDCScuTh/2.0;
  TVirtualMC::GetMC()->Gspos("UDC2",1,"UDCS",xpos,ypos,zpos,0,"ONLY");
  zpos +=  kDCScuTh/2.0 + kDCScoTh/2.0;
  TVirtualMC::GetMC()->Gspos("UDC3",1,"UDCS",xpos,ypos,zpos,0,"ONLY");

  // Put the DCS board in the chamber services mother volume
  for (istack = 0; istack < kNstack; istack++) {
    for (ilayer = 0; ilayer < kNlayer; ilayer++) {
      Int_t   iDet    = GetDetectorSec(ilayer,istack);
      Int_t   iCopy   = iDet + 1;
      xpos =  fgkCwidth[ilayer]/2.0 - 1.9 * (GetChamberLength(ilayer,istack) - 2.0*fgkRpadW) 
                                        / ((Float_t) GetRowMax(ilayer,istack,0));
      ypos =  0.05 * fgkClength[ilayer][istack];
      zpos =  kDCSz/2.0 - fgkCsvH/2.0;
      snprintf(cTagV,kTag,"UU%02d",iDet);
      TVirtualMC::GetMC()->Gspos("UDCS",iCopy,cTagV,xpos,ypos,zpos,0,"ONLY");
    }
  }

  //
  // The ORI boards
  //

  const Float_t kORIx    =  4.2;
  const Float_t kORIy    = 13.5;
  const Float_t kORIz    =  0.3;
  
  const Float_t kORIpcTh =  0.15;
  const Float_t kORIcuTh =  0.01;
  const Float_t kORIcoTh =  0.04;

  // The mother volume for the ORIs (air)
  const Int_t kNparORI = 3;
  Float_t parORI[kNparORI];
  parORI[0] = kORIx   /2.0;
  parORI[1] = kORIy   /2.0;
  parORI[2] = kORIz   /2.0;
  TVirtualMC::GetMC()->Gsvolu("UORI","BOX",idtmed[1302-1],parORI,kNparORI);

  // The ORI carrier G10 layer
  parORI[0] = kORIx   /2.0;
  parORI[1] = kORIy   /2.0;
  parORI[2] = kORIpcTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UOR1","BOX",idtmed[1319-1],parORI,kNparORI);
  // The ORI carrier Cu layer
  parORI[0] = kORIx   /2.0;
  parORI[1] = kORIy   /2.0;
  parORI[2] = kORIcuTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UOR2","BOX",idtmed[1318-1],parORI,kNparORI);
  // The aluminum of the cooling plates
  parORI[0] = kORIx   /2.0;
  parORI[1] = kORIy   /2.0;
  parORI[2] = kORIcoTh/2.0;
  TVirtualMC::GetMC()->Gsvolu("UOR3","BOX",idtmed[1324-1],parORI,kNparORI);

  // Put the ORI material inside the ORI mother volume
  xpos  =  0.0;
  ypos  =  0.0;
  zpos  = -kORIz   /2.0 + kORIpcTh/2.0;
  TVirtualMC::GetMC()->Gspos("UOR1",1,"UORI",xpos,ypos,zpos,0,"ONLY");
  zpos +=  kORIpcTh/2.0 + kORIcuTh/2.0;
  TVirtualMC::GetMC()->Gspos("UOR2",1,"UORI",xpos,ypos,zpos,0,"ONLY");
  zpos +=  kORIcuTh/2.0 + kORIcoTh/2.0;
  TVirtualMC::GetMC()->Gspos("UOR3",1,"UORI",xpos,ypos,zpos,0,"ONLY");

  // Put the ORI board in the chamber services mother volume
  for (istack = 0; istack < kNstack; istack++) {
    for (ilayer = 0; ilayer < kNlayer; ilayer++) {
      Int_t   iDet    = GetDetectorSec(ilayer,istack);
      Int_t   iCopy   = iDet + 1;
      xpos =  fgkCwidth[ilayer]/2.0 - 1.92 * (GetChamberLength(ilayer,istack) - 2.0*fgkRpadW) 
                                        / ((Float_t) GetRowMax(ilayer,istack,0));
      ypos = -16.0;
      zpos =  kORIz/2.0 - fgkCsvH/2.0;
      snprintf(cTagV,kTag,"UU%02d",iDet);
      TVirtualMC::GetMC()->Gspos("UORI",iCopy      ,cTagV,xpos,ypos,zpos,0,"ONLY");
      xpos = -fgkCwidth[ilayer]/2.0 + 3.8 * (GetChamberLength(ilayer,istack) - 2.0*fgkRpadW) 
                                        / ((Float_t) GetRowMax(ilayer,istack,0));
      ypos = -16.0;
      zpos =  kORIz/2.0 - fgkCsvH/2.0;
      snprintf(cTagV,kTag,"UU%02d",iDet);
      TVirtualMC::GetMC()->Gspos("UORI",iCopy+kNdet,cTagV,xpos,ypos,zpos,0,"ONLY");
    }
  }

  //
  // Services in front of the super module
  //

  // Gas in-/outlet pipes (INOX)
  parTube[0] = 0.0;
  parTube[1] = 0.0;
  parTube[2] = 0.0;
  TVirtualMC::GetMC()->Gsvolu("UTG3","TUBE",idtmed[1308-1],parTube,0);
  // The gas inside the in-/outlet pipes (Xe)
  parTube[0] =  0.0;
  parTube[1] =  1.2/2.0;
  parTube[2] = -1.0;
  TVirtualMC::GetMC()->Gsvolu("UTG4","TUBE",idtmed[1309-1],parTube,kNparTube);
  xpos = 0.0;
  ypos = 0.0;
  zpos = 0.0;
  TVirtualMC::GetMC()->Gspos("UTG4",1,"UTG3",xpos,ypos,zpos,0,"ONLY");
  for (ilayer = 0; ilayer < kNlayer-1; ilayer++) { 
    xpos       = 0.0;
    ypos       = fgkClength[ilayer][2]/2.0 
               + fgkClength[ilayer][1] 
               + fgkClength[ilayer][0];
    zpos       = 9.0 - fgkSheight/2.0
               + ilayer * (fgkCH + fgkVspace);
    parTube[0] = 0.0;
    parTube[1] = 1.5/2.0;
    parTube[2] = fgkCwidth[ilayer]/2.0 - 2.5;
    TVirtualMC::GetMC()->Gsposp("UTG3",ilayer+1          ,"UTI1", xpos, ypos, zpos
                      ,matrix[2],"ONLY",parTube,kNparTube);
    TVirtualMC::GetMC()->Gsposp("UTG3",ilayer+1+1*kNlayer,"UTI1", xpos,-ypos, zpos
                      ,matrix[2],"ONLY",parTube,kNparTube);
    TVirtualMC::GetMC()->Gsposp("UTG3",ilayer+1+2*kNlayer,"UTI2", xpos, ypos, zpos
                      ,matrix[2],"ONLY",parTube,kNparTube);
    TVirtualMC::GetMC()->Gsposp("UTG3",ilayer+1+3*kNlayer,"UTI2", xpos,-ypos, zpos
                      ,matrix[2],"ONLY",parTube,kNparTube);
    TVirtualMC::GetMC()->Gsposp("UTG3",ilayer+1+4*kNlayer,"UTI3", xpos, ypos, zpos
                      ,matrix[2],"ONLY",parTube,kNparTube);
    TVirtualMC::GetMC()->Gsposp("UTG3",ilayer+1+5*kNlayer,"UTI3", xpos,-ypos, zpos
                      ,matrix[2],"ONLY",parTube,kNparTube);
    TVirtualMC::GetMC()->Gsposp("UTG3",ilayer+1+6*kNlayer,"UTI4", xpos, ypos, zpos
                      ,matrix[2],"ONLY",parTube,kNparTube);
    TVirtualMC::GetMC()->Gsposp("UTG3",ilayer+1+7*kNlayer,"UTI4", xpos,-ypos, zpos
                      ,matrix[2],"ONLY",parTube,kNparTube);
  }

  // Gas distribution box
  parBox[0] = 14.50/2.0;
  parBox[1] =  4.52/2.0;
  parBox[2] =  5.00/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTGD","BOX ",idtmed[1308-1],parBox,kNparBox);
  parBox[0] = 14.50/2.0;
  parBox[1] =  4.00/2.0;
  parBox[2] =  4.40/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTGI","BOX ",idtmed[1309-1],parBox,kNparBox);
  parTube[0] = 0.0;
  parTube[1] = 4.0/2.0;
  parTube[2] = 8.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTGT","TUBE",idtmed[1308-1],parTube,kNparTube);
  parTube[0] = 0.0;
  parTube[1] = 3.4/2.0;
  parTube[2] = 8.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTGG","TUBE",idtmed[1309-1],parTube,kNparTube);
  xpos = 0.0;
  ypos = 0.0;
  zpos = 0.0;
  TVirtualMC::GetMC()->Gspos("UTGI",1,"UTGD",xpos,ypos,zpos,        0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTGG",1,"UTGT",xpos,ypos,zpos,        0,"ONLY");
  xpos = 0.0;
  ypos = 0.0;
  zpos = 0.0;
  TVirtualMC::GetMC()->Gspos("UTGD",1,"UTF1",xpos,ypos,zpos,        0,"ONLY");
  xpos =  -3.0;
  ypos =   0.0;
  zpos =   6.5;
  TVirtualMC::GetMC()->Gspos("UTGT",1,"UTF1",xpos,ypos,zpos,        0,"ONLY");
  xpos = -11.25;
  ypos =   0.0;
  zpos =   0.5;
  TVirtualMC::GetMC()->Gspos("UTGT",3,"UTF1",xpos,ypos,zpos,matrix[2],"ONLY");
  xpos =  11.25;
  ypos =   0.0;
  zpos =   0.5;
  TVirtualMC::GetMC()->Gspos("UTGT",5,"UTF1",xpos,ypos,zpos,matrix[2],"ONLY");

  // Cooling manifolds
  parBox[0]  =  5.0/2.0;
  parBox[1]  = 23.0/2.0;
  parBox[2]  = 70.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTCM","BOX ",idtmed[1302-1],parBox,kNparBox);
  parBox[0]  =  5.0/2.0;
  parBox[1]  =  5.0/2.0;
  parBox[2]  = 70.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTCA","BOX ",idtmed[1308-1],parBox,kNparBox);
  parBox[0]  =  5.0/2.0 - 0.3;
  parBox[1]  =  5.0/2.0 - 0.3;
  parBox[2]  = 70.0/2.0 - 0.3;
  TVirtualMC::GetMC()->Gsvolu("UTCW","BOX ",idtmed[1314-1],parBox,kNparBox);
  xpos       =  0.0;
  ypos       =  0.0;
  zpos       =  0.0;
  TVirtualMC::GetMC()->Gspos("UTCW",1,"UTCA", xpos, ypos, zpos,        0,"ONLY");
  xpos       =  0.0;
  ypos       =  5.0/2.0 - 23.0/2.0;
  zpos       =  0.0;
  TVirtualMC::GetMC()->Gspos("UTCA",1,"UTCM", xpos, ypos, zpos,        0,"ONLY");
  parTube[0] =  0.0;
  parTube[1] =  3.0/2.0;
  parTube[2] = 18.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTCO","TUBE",idtmed[1308-1],parTube,kNparTube);
  parTube[0] =  0.0;
  parTube[1] =  3.0/2.0 - 0.3;
  parTube[2] = 18.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTCL","TUBE",idtmed[1314-1],parTube,kNparTube);
  xpos       =  0.0;
  ypos       =  0.0;
  zpos       =  0.0;
  TVirtualMC::GetMC()->Gspos("UTCL",1,"UTCO", xpos, ypos, zpos,        0,"ONLY");
  xpos       =  0.0;
  ypos       =  2.5;
  zpos       = -70.0/2.0 + 7.0;
  TVirtualMC::GetMC()->Gspos("UTCO",1,"UTCM", xpos, ypos, zpos,matrix[4],"ONLY");
  zpos      +=  7.0;
  TVirtualMC::GetMC()->Gspos("UTCO",2,"UTCM", xpos, ypos, zpos,matrix[4],"ONLY");
  zpos      +=  7.0;
  TVirtualMC::GetMC()->Gspos("UTCO",3,"UTCM", xpos, ypos, zpos,matrix[4],"ONLY");
  zpos      +=  7.0;
  TVirtualMC::GetMC()->Gspos("UTCO",4,"UTCM", xpos, ypos, zpos,matrix[4],"ONLY");
  zpos      +=  7.0;
  TVirtualMC::GetMC()->Gspos("UTCO",5,"UTCM", xpos, ypos, zpos,matrix[4],"ONLY");
  zpos      +=  7.0;
  TVirtualMC::GetMC()->Gspos("UTCO",6,"UTCM", xpos, ypos, zpos,matrix[4],"ONLY");
  zpos      +=  7.0;
  TVirtualMC::GetMC()->Gspos("UTCO",7,"UTCM", xpos, ypos, zpos,matrix[4],"ONLY");
  zpos      +=  7.0;
  TVirtualMC::GetMC()->Gspos("UTCO",8,"UTCM", xpos, ypos, zpos,matrix[4],"ONLY");

  xpos = 40.0;
  ypos =  fgkFlength/2.0 - 23.0/2.0;
  zpos =  0.0;
  TVirtualMC::GetMC()->Gspos("UTCM",1,"UTF1", xpos, ypos, zpos,matrix[0],"ONLY");
  TVirtualMC::GetMC()->Gspos("UTCM",2,"UTF1",-xpos, ypos, zpos,matrix[1],"ONLY");
  TVirtualMC::GetMC()->Gspos("UTCM",3,"UTF2", xpos,-ypos, zpos,matrix[5],"ONLY");
  TVirtualMC::GetMC()->Gspos("UTCM",4,"UTF2",-xpos,-ypos, zpos,matrix[6],"ONLY");

  // Power connection boards (Cu)
  parBox[0] =  0.5/2.0;
  parBox[1] = 15.0/2.0;
  parBox[2] =  7.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTPC","BOX ",idtmed[1325-1],parBox,kNparBox);
  for (ilayer = 0; ilayer < kNlayer-1; ilayer++) { 
    xpos      = fgkCwidth[ilayer]/2.0 + kPWRwid/2.0;
    ypos      = 0.0;
    zpos      = fgkVrocsm + fgkSMpltT + kPWRhgtA/2.0 - fgkSheight/2.0 + kPWRposz 
              + (ilayer+1) * (fgkCH + fgkVspace);
    TVirtualMC::GetMC()->Gspos("UTPC",ilayer        ,"UTF1", xpos,ypos,zpos,matrix[0],"ONLY");
    TVirtualMC::GetMC()->Gspos("UTPC",ilayer+kNlayer,"UTF1",-xpos,ypos,zpos,matrix[1],"ONLY");
  }
  xpos      = fgkCwidth[5]/2.0 + kPWRhgtA/2.0 - 2.0;
  ypos      = 0.0;
  zpos      = fgkSheight/2.0 - fgkSMpltT - 2.0; 
  TVirtualMC::GetMC()->Gspos("UTPC",5        ,"UTF1", xpos,ypos,zpos,matrix[3],"ONLY");
  TVirtualMC::GetMC()->Gspos("UTPC",5+kNlayer,"UTF1",-xpos,ypos,zpos,matrix[3],"ONLY");

  // Power connection panel (Al)
  parBox[0] = 60.0/2.0;
  parBox[1] = 10.0/2.0;
  parBox[2] =  3.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTPP","BOX ",idtmed[1301-1],parBox,kNparBox);
  xpos      =  0.0;
  ypos      =  0.0;
  zpos      = 18.0;
  TVirtualMC::GetMC()->Gspos("UTPP",1,"UTF1", xpos,ypos,zpos,0,"ONLY");

  //
  // Electronics boxes
  //

  // Casing (INOX)
  parBox[0] = 60.0/2.0;
  parBox[1] = 10.0/2.0;
  parBox[2] =  6.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTE1","BOX ",idtmed[1308-1],parBox,kNparBox);
  // Interior (air)
  parBox[0] = parBox[0] - 0.5;
  parBox[1] = parBox[1] - 0.5;
  parBox[2] = parBox[2] - 0.5;
  TVirtualMC::GetMC()->Gsvolu("UTE2","BOX ",idtmed[1302-1],parBox,kNparBox);
  xpos      = 0.0;
  ypos      = 0.0;
  zpos      = 0.0;
  TVirtualMC::GetMC()->Gspos("UTE2",1,"UTE1",xpos,ypos,zpos,0,"ONLY");
  xpos      = 0.0;
  ypos      =  fgkSlength/2.0 - 10.0/2.0 - 3.0;
  zpos      = -fgkSheight/2.0 +  6.0/2.0 + 1.0;
  TVirtualMC::GetMC()->Gspos("UTE1",1,"UTI1", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE1",2,"UTI2", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE1",3,"UTI3", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE1",4,"UTI4", xpos,ypos,zpos,0,"ONLY");

  // Casing (INOX)
  parBox[0] = 50.0/2.0;
  parBox[1] = 15.0/2.0;
  parBox[2] = 20.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTE3","BOX ",idtmed[1308-1],parBox,kNparBox);
  // Interior (air)
  parBox[0] = parBox[0] - 0.5;
  parBox[1] = parBox[1] - 0.5;
  parBox[2] = parBox[2] - 0.5;
  TVirtualMC::GetMC()->Gsvolu("UTE4","BOX ",idtmed[1302-1],parBox,kNparBox);
  xpos      = 0.0;
  ypos      = 0.0;
  zpos      = 0.0;
  TVirtualMC::GetMC()->Gspos("UTE4",1,"UTE3",xpos,ypos,zpos,0,"ONLY");
  xpos      = 0.0;
  ypos      = -fgkSlength/2.0 + 15.0/2.0 + 3.0;
  zpos      = -fgkSheight/2.0 + 20.0/2.0 + 1.0;
  TVirtualMC::GetMC()->Gspos("UTE3",1,"UTI1", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE3",2,"UTI2", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE3",3,"UTI3", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE3",4,"UTI4", xpos,ypos,zpos,0,"ONLY");

  // Casing (INOX)
  parBox[0] = 20.0/2.0;
  parBox[1] =  7.0/2.0;
  parBox[2] = 20.0/2.0;
  TVirtualMC::GetMC()->Gsvolu("UTE5","BOX ",idtmed[1308-1],parBox,kNparBox);
  // Interior (air)
  parBox[0] = parBox[0] - 0.5;
  parBox[1] = parBox[1] - 0.5;
  parBox[2] = parBox[2] - 0.5;
  TVirtualMC::GetMC()->Gsvolu("UTE6","BOX ",idtmed[1302-1],parBox,kNparBox);
  xpos      = 0.0;
  ypos      = 0.0;
  zpos      = 0.0;
  TVirtualMC::GetMC()->Gspos("UTE6",1,"UTE5",xpos,ypos,zpos,0,"ONLY");
  xpos      = 20.0;
  ypos      = -fgkSlength/2.0 +  7.0/2.0 + 3.0;
  zpos      = 0.0;
  TVirtualMC::GetMC()->Gspos("UTE5",1,"UTI1", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE5",2,"UTI2", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE5",3,"UTI3", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE5",4,"UTI4", xpos,ypos,zpos,0,"ONLY");
  xpos      = -xpos;
  TVirtualMC::GetMC()->Gspos("UTE5",5,"UTI1", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE5",6,"UTI2", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE5",7,"UTI3", xpos,ypos,zpos,0,"ONLY");
  TVirtualMC::GetMC()->Gspos("UTE5",8,"UTI4", xpos,ypos,zpos,0,"ONLY");

}

//_____________________________________________________________________________
void AliTRDgeometry::AssembleChamber(Int_t ilayer, Int_t istack)
{
  //
  // Group volumes UA, UD, UF, UU into an assembly that defines the
  // alignable volume of a single readout chamber
  //

  const Int_t kTag = 100;
  Char_t  cTagV[kTag];
  Char_t  cTagM[kTag];

  Double_t xpos = 0.0;
  Double_t ypos = 0.0;
  Double_t zpos = 0.0;

  Int_t idet = GetDetectorSec(ilayer,istack);

  // Create the assembly for a given ROC
  snprintf(cTagM,kTag,"UT%02d",idet);
  TGeoVolume *roc = new TGeoVolumeAssembly(cTagM);

  // Add the lower part of the chamber (aluminum frame),
  // including radiator and drift region
  xpos = 0.0;
  ypos = 0.0;
  zpos = fgkCraH/2.0 + fgkCdrH/2.0 - fgkCHsv/2.0;
  snprintf(cTagV,kTag,"UA%02d",idet);
  TGeoVolume *rocA = gGeoManager->GetVolume(cTagV);
  roc->AddNode(rocA,1,new TGeoTranslation(xpos,ypos,zpos));

  // Add the additional aluminum ledges
  xpos = fgkCwidth[ilayer]/2.0 + fgkCalWmod/2.0;
  ypos = 0.0;
  zpos = fgkCraH + fgkCdrH - fgkCalZpos - fgkCalHmod/2.0 - fgkCHsv/2.0;
  snprintf(cTagV,kTag,"UZ%02d",idet);
  TGeoVolume *rocZ = gGeoManager->GetVolume(cTagV);
  roc->AddNode(rocZ,1,new TGeoTranslation( xpos,ypos,zpos));
  roc->AddNode(rocZ,2,new TGeoTranslation(-xpos,ypos,zpos));

  // Add the additional wacosit ledges
  xpos = fgkCwidth[ilayer]/2.0 + fgkCwsW/2.0;
  ypos = 0.0;
  zpos = fgkCraH + fgkCdrH - fgkCwsH/2.0 - fgkCHsv/2.0;
  snprintf(cTagV,kTag,"UP%02d",idet);
  TGeoVolume *rocP = gGeoManager->GetVolume(cTagV);
  roc->AddNode(rocP,1,new TGeoTranslation( xpos,ypos,zpos));
  roc->AddNode(rocP,2,new TGeoTranslation(-xpos,ypos,zpos));

  // Add the middle part of the chamber (G10 frame),
  // including amplification region
  xpos = 0.0;
  ypos = 0.0;
  zpos = fgkCamH/2.0 + fgkCraH + fgkCdrH - fgkCHsv/2.0;
  snprintf(cTagV,kTag,"UD%02d",idet);
  TGeoVolume *rocD = gGeoManager->GetVolume(cTagV);
  roc->AddNode(rocD,1,new TGeoTranslation(xpos,ypos,zpos));

  // Add the upper part of the chamber (aluminum frame),
  // including back panel and FEE
  xpos = 0.0;
  ypos = 0.0;
  zpos = fgkCroH/2.0 + fgkCamH + fgkCraH + fgkCdrH - fgkCHsv/2.0;
  snprintf(cTagV,kTag,"UF%02d",idet);
  TGeoVolume *rocF = gGeoManager->GetVolume(cTagV);
  roc->AddNode(rocF,1,new TGeoTranslation(xpos,ypos,zpos));

  // Add the volume with services on top of the back panel
  xpos = 0.0;
  ypos = 0.0;
  zpos = fgkCsvH/2.0 + fgkCroH + fgkCamH + fgkCraH + fgkCdrH - fgkCHsv/2.0;
  snprintf(cTagV,kTag,"UU%02d",idet);
  TGeoVolume *rocU = gGeoManager->GetVolume(cTagV);
  roc->AddNode(rocU,1,new TGeoTranslation(xpos,ypos,zpos));

  // Place the ROC assembly into the super modules
  xpos = 0.0;
  ypos = 0.0;
  ypos  = fgkClength[ilayer][0] + fgkClength[ilayer][1] + fgkClength[ilayer][2]/2.0;
  for (Int_t ic = 0; ic < istack; ic++) {
    ypos -= fgkClength[ilayer][ic];
  }
  ypos -= fgkClength[ilayer][istack]/2.0;
  zpos  = fgkVrocsm + fgkSMpltT + fgkCHsv/2.0 - fgkSheight/2.0
        + ilayer * (fgkCH + fgkVspace);
  TGeoVolume *sm1 = gGeoManager->GetVolume("UTI1");
  TGeoVolume *sm2 = gGeoManager->GetVolume("UTI2");
  TGeoVolume *sm3 = gGeoManager->GetVolume("UTI3");
  TGeoVolume *sm4 = gGeoManager->GetVolume("UTI4");
  sm1->AddNode(roc,1,new TGeoTranslation(xpos,ypos,zpos));
  sm2->AddNode(roc,1,new TGeoTranslation(xpos,ypos,zpos));
  if (istack != 2) {
    // w/o middle stack
    sm3->AddNode(roc,1,new TGeoTranslation(xpos,ypos,zpos));
  }
  if (!((ilayer == 4) && (istack == 4))) {
    // Sector 17 w/o L4S4 chamber
    sm4->AddNode(roc,1,new TGeoTranslation(xpos,ypos,zpos));
  }

} 

//_____________________________________________________________________________
Bool_t AliTRDgeometry::RotateBack(Int_t det
                                , const Double_t * const loc
                                , Double_t *glb) const
{
  //
  // Rotates a chambers to transform the corresponding local frame
  // coordinates <loc> into the coordinates of the ALICE restframe <glb>.
  //

  Int_t   sector = GetSector(det);
  Float_t phi = 2.0 * TMath::Pi() /  (Float_t) fgkNsector * ((Float_t) sector + 0.5);

  glb[0] = loc[0] * TMath::Cos(phi) - loc[1] * TMath::Sin(phi);
  glb[1] = loc[0] * TMath::Sin(phi) + loc[1] * TMath::Cos(phi);
  glb[2] = loc[2];

  return kTRUE;

}

//_____________________________________________________________________________
Int_t AliTRDgeometry::GetDetectorSec(Int_t layer, Int_t stack)
{
  //
  // Convert plane / stack into detector number for one single sector
  //

  return (layer + stack * fgkNlayer);

}

//_____________________________________________________________________________
Int_t AliTRDgeometry::GetDetector(Int_t layer, Int_t stack, Int_t sector)
{
  //
  // Convert layer / stack / sector into detector number
  //

  return (layer + stack * fgkNlayer + sector * fgkNlayer * fgkNstack);

}

//_____________________________________________________________________________
Int_t AliTRDgeometry::GetLayer(Int_t det)
{
  //
  // Reconstruct the layer number from the detector number
  //

  return ((Int_t) (det % fgkNlayer));

}

//_____________________________________________________________________________
Int_t AliTRDgeometry::GetStack(Int_t det)
{
  //
  // Reconstruct the stack number from the detector number
  //

  return ((Int_t) (det % (fgkNlayer * fgkNstack)) / fgkNlayer);

}

//_____________________________________________________________________________
Int_t AliTRDgeometry::GetStack(Double_t z, Int_t layer)
{
  //
  // Reconstruct the chamber number from the z position and layer number
  //
  // The return function has to be protected for positiveness !!
  //

  if ((layer <          0) || 
      (layer >= fgkNlayer)) return -1;
	
  Int_t    istck = fgkNstack;
  Double_t zmin  = 0.0;
  Double_t zmax  = 0.0;

  do {
    istck--;
    if (istck < 0) break;
    AliTRDpadPlane *pp = GetPadPlane(layer,istck);
    zmax  = pp->GetRow0();
    Int_t nrows = pp->GetNrows();
    zmin = zmax -         2 * pp->GetLengthOPad() 
                - (nrows-2) * pp->GetLengthIPad() 
                - (nrows-1) * pp->GetRowSpacing();
  } while((z < zmin) || (z > zmax));
  
  return istck;

}

//_____________________________________________________________________________
Int_t AliTRDgeometry::GetSector(Int_t det)
{
  //
  // Reconstruct the sector number from the detector number
  //

  return ((Int_t) (det / (fgkNlayer * fgkNstack)));

}

//_____________________________________________________________________________
AliTRDpadPlane *AliTRDgeometry::GetPadPlane(Int_t layer, Int_t stack)
{
  //
  // Returns the pad plane for a given plane <pl> and stack <st> number
  //

  if (!fgPadPlaneArray) {
    CreatePadPlaneArray();
  }

  Int_t ipp = GetDetectorSec(layer,stack);
  return ((AliTRDpadPlane *) fgPadPlaneArray->At(ipp));

}

//_____________________________________________________________________________
Int_t AliTRDgeometry::GetRowMax(Int_t layer, Int_t stack, Int_t /*sector*/)
{
  //
  // Returns the number of rows on the pad plane
  //

  return GetPadPlane(layer,stack)->GetNrows();

}

//_____________________________________________________________________________
Int_t AliTRDgeometry::GetColMax(Int_t layer)
{
  //
  // Returns the number of rows on the pad plane
  //

  return GetPadPlane(layer,0)->GetNcols();

}

//_____________________________________________________________________________
Double_t AliTRDgeometry::GetRow0(Int_t layer, Int_t stack, Int_t /*sector*/)
{
  //
  // Returns the position of the border of the first pad in a row
  //

  return GetPadPlane(layer,stack)->GetRow0();

}

//_____________________________________________________________________________
Double_t AliTRDgeometry::GetCol0(Int_t layer)
{
  //
  // Returns the position of the border of the first pad in a column
  //

  return GetPadPlane(layer,0)->GetCol0();

}

//_____________________________________________________________________________
Bool_t AliTRDgeometry::CreateClusterMatrixArray()
{
  //
  // Create the matrices to transform cluster coordinates from the 
  // local chamber system to the tracking coordinate system
  //

  if (!gGeoManager) {
    return kFALSE;
  }

  if(fgClusterMatrixArray)
    return kTRUE;

  TString volPath;
  TString vpStr   = "ALIC_1/B077_1/BSEGMO";
  TString vpApp1  = "_1/BTRD";
  TString vpApp2  = "_1";
  TString vpApp3a = "/UTR1_1/UTS1_1/UTI1_1";
  TString vpApp3b = "/UTR2_1/UTS2_1/UTI2_1";
  TString vpApp3c = "/UTR3_1/UTS3_1/UTI3_1";
  TString vpApp3d = "/UTR4_1/UTS4_1/UTI4_1";

  fgClusterMatrixArray = new TObjArray(kNdet);
  AliAlignObjParams o;

  for (Int_t iLayer = AliGeomManager::kTRD1; iLayer <= AliGeomManager::kTRD6; iLayer++) {
    for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer); iModule++) {
      
      Int_t        isector   = iModule/Nstack();
      Int_t        istack    = iModule%Nstack();
      Int_t        iLayerTRD = iLayer - AliGeomManager::kTRD1;
      Int_t        lid       = GetDetector(iLayerTRD,istack,isector);    

      // Check for disabled supermodules
      volPath  = vpStr;
      volPath += isector;
      volPath += vpApp1;
      volPath += isector;
      volPath += vpApp2;
      switch (isector) {
      case 17:
        if ((istack == 4) && (iLayerTRD == 4)) {
	  continue;
	}
        volPath += vpApp3d;
        break;
      case 13:
      case 14:
      case 15:
        // Check for holes in from of PHOS
        if (istack == 2) {
          continue;
	}
        volPath += vpApp3c;
        break;
      case 11:
      case 12:
        volPath += vpApp3b;
        break;
      default:
        volPath += vpApp3a;
      };
      if (!gGeoManager->CheckPath(volPath)) {
	continue;
      }

      UShort_t     volid   = AliGeomManager::LayerToVolUID(iLayer,iModule);
      const char  *symname = AliGeomManager::SymName(volid);
      TGeoPNEntry *pne     = gGeoManager->GetAlignableEntry(symname);
      const char  *path    = symname;
      if (pne) {
        path = pne->GetTitle();
      }
      else {
	continue;
      }
      if (!strstr(path,"ALIC")) {
        AliDebugClass(1,Form("Not a valid path: %s\n",path));
        continue;
      }
      if (!gGeoManager->cd(path)) {
        AliErrorClass(Form("Cannot go to path: %s\n",path));
        continue;
      }
      TGeoHMatrix *m         = gGeoManager->GetCurrentMatrix();
      
      TGeoRotation mchange; 
      mchange.RotateY(90); 
      mchange.RotateX(90);

      //
      // Cluster transformation matrix
      //
      TGeoHMatrix  rotMatrix(mchange.Inverse());
      rotMatrix.MultiplyLeft(m);
      Double_t sectorAngle = 20.0 * (isector % 18) + 10.0;
      TGeoHMatrix  rotSector;
      rotSector.RotateZ(sectorAngle);
      rotMatrix.MultiplyLeft(&rotSector.Inverse());

      fgClusterMatrixArray->AddAt(new TGeoHMatrix(rotMatrix),lid);       

    }    
  }

  return kTRUE;

}

//_____________________________________________________________________________
TGeoHMatrix *AliTRDgeometry::GetClusterMatrix(Int_t det)
{
  //
  // Returns the cluster transformation matrix for a given detector
  //

  if (!fgClusterMatrixArray) {
    if (!CreateClusterMatrixArray()) {
      return NULL;
    }
  }  
  return (TGeoHMatrix *) fgClusterMatrixArray->At(det);

}

//_____________________________________________________________________________
Bool_t AliTRDgeometry::ChamberInGeometry(Int_t det)
{
  //
  // Checks whether the given detector is part of the current geometry
  //

  if (!GetClusterMatrix(det)) {
    return kFALSE;
  }
  else {
    return kTRUE;
  }

}

//_____________________________________________________________________________
Bool_t AliTRDgeometry::IsHole(Int_t /*la*/, Int_t st, Int_t se) const
{
  //
  // Checks for holes in front of PHOS
  //

  if (((se == 13) || (se == 14) || (se == 15)) && 
      (st == 2)) {
    return kTRUE; 
  }

  return kFALSE;

}

//_____________________________________________________________________________
Bool_t AliTRDgeometry::IsOnBoundary(Int_t det, Float_t y, Float_t z, Float_t eps) const
{
  //
  // Checks whether position is at the boundary of the sensitive volume 
  //

  Int_t ly = GetLayer(det);
  if ((ly <          0) || 
      (ly >= fgkNlayer)) return kTRUE;
	
  Int_t stk = GetStack(det);
  if ((stk <          0) || 
      (stk >= fgkNstack)) return kTRUE;

  AliTRDpadPlane *pp = (AliTRDpadPlane*) fgPadPlaneArray->At(GetDetectorSec(ly, stk));
  if(!pp) return kTRUE;

  Double_t max  = pp->GetRow0();
  Int_t n = pp->GetNrows();
  Double_t min = max - 2 * pp->GetLengthOPad() 
                 - (n-2) * pp->GetLengthIPad() 
                 - (n-1) * pp->GetRowSpacing();
  if(z < min+eps || z > max-eps){ 
    //printf("z : min[%7.2f (%7.2f)] %7.2f max[(%7.2f) %7.2f]\n", min, min+eps, z, max-eps, max);
    return kTRUE;
  }
  min  = pp->GetCol0();
  n = pp->GetNcols();
  max = min +2 * pp->GetWidthOPad() 
       + (n-2) * pp->GetWidthIPad() 
       + (n-1) * pp->GetColSpacing();
  if(y < min+eps || y > max-eps){ 
    //printf("y : min[%7.2f (%7.2f)] %7.2f max[(%7.2f) %7.2f]\n", min, min+eps, y, max-eps, max);
    return kTRUE;
  }

  return kFALSE;

}
 AliTRDgeometry.cxx:1
 AliTRDgeometry.cxx:2
 AliTRDgeometry.cxx:3
 AliTRDgeometry.cxx:4
 AliTRDgeometry.cxx:5
 AliTRDgeometry.cxx:6
 AliTRDgeometry.cxx:7
 AliTRDgeometry.cxx:8
 AliTRDgeometry.cxx:9
 AliTRDgeometry.cxx:10
 AliTRDgeometry.cxx:11
 AliTRDgeometry.cxx:12
 AliTRDgeometry.cxx:13
 AliTRDgeometry.cxx:14
 AliTRDgeometry.cxx:15
 AliTRDgeometry.cxx:16
 AliTRDgeometry.cxx:17
 AliTRDgeometry.cxx:18
 AliTRDgeometry.cxx:19
 AliTRDgeometry.cxx:20
 AliTRDgeometry.cxx:21
 AliTRDgeometry.cxx:22
 AliTRDgeometry.cxx:23
 AliTRDgeometry.cxx:24
 AliTRDgeometry.cxx:25
 AliTRDgeometry.cxx:26
 AliTRDgeometry.cxx:27
 AliTRDgeometry.cxx:28
 AliTRDgeometry.cxx:29
 AliTRDgeometry.cxx:30
 AliTRDgeometry.cxx:31
 AliTRDgeometry.cxx:32
 AliTRDgeometry.cxx:33
 AliTRDgeometry.cxx:34
 AliTRDgeometry.cxx:35
 AliTRDgeometry.cxx:36
 AliTRDgeometry.cxx:37
 AliTRDgeometry.cxx:38
 AliTRDgeometry.cxx:39
 AliTRDgeometry.cxx:40
 AliTRDgeometry.cxx:41
 AliTRDgeometry.cxx:42
 AliTRDgeometry.cxx:43
 AliTRDgeometry.cxx:44
 AliTRDgeometry.cxx:45
 AliTRDgeometry.cxx:46
 AliTRDgeometry.cxx:47
 AliTRDgeometry.cxx:48
 AliTRDgeometry.cxx:49
 AliTRDgeometry.cxx:50
 AliTRDgeometry.cxx:51
 AliTRDgeometry.cxx:52
 AliTRDgeometry.cxx:53
 AliTRDgeometry.cxx:54
 AliTRDgeometry.cxx:55
 AliTRDgeometry.cxx:56
 AliTRDgeometry.cxx:57
 AliTRDgeometry.cxx:58
 AliTRDgeometry.cxx:59
 AliTRDgeometry.cxx:60
 AliTRDgeometry.cxx:61
 AliTRDgeometry.cxx:62
 AliTRDgeometry.cxx:63
 AliTRDgeometry.cxx:64
 AliTRDgeometry.cxx:65
 AliTRDgeometry.cxx:66
 AliTRDgeometry.cxx:67
 AliTRDgeometry.cxx:68
 AliTRDgeometry.cxx:69
 AliTRDgeometry.cxx:70
 AliTRDgeometry.cxx:71
 AliTRDgeometry.cxx:72
 AliTRDgeometry.cxx:73
 AliTRDgeometry.cxx:74
 AliTRDgeometry.cxx:75
 AliTRDgeometry.cxx:76
 AliTRDgeometry.cxx:77
 AliTRDgeometry.cxx:78
 AliTRDgeometry.cxx:79
 AliTRDgeometry.cxx:80
 AliTRDgeometry.cxx:81
 AliTRDgeometry.cxx:82
 AliTRDgeometry.cxx:83
 AliTRDgeometry.cxx:84
 AliTRDgeometry.cxx:85
 AliTRDgeometry.cxx:86
 AliTRDgeometry.cxx:87
 AliTRDgeometry.cxx:88
 AliTRDgeometry.cxx:89
 AliTRDgeometry.cxx:90
 AliTRDgeometry.cxx:91
 AliTRDgeometry.cxx:92
 AliTRDgeometry.cxx:93
 AliTRDgeometry.cxx:94
 AliTRDgeometry.cxx:95
 AliTRDgeometry.cxx:96
 AliTRDgeometry.cxx:97
 AliTRDgeometry.cxx:98
 AliTRDgeometry.cxx:99
 AliTRDgeometry.cxx:100
 AliTRDgeometry.cxx:101
 AliTRDgeometry.cxx:102
 AliTRDgeometry.cxx:103
 AliTRDgeometry.cxx:104
 AliTRDgeometry.cxx:105
 AliTRDgeometry.cxx:106
 AliTRDgeometry.cxx:107
 AliTRDgeometry.cxx:108
 AliTRDgeometry.cxx:109
 AliTRDgeometry.cxx:110
 AliTRDgeometry.cxx:111
 AliTRDgeometry.cxx:112
 AliTRDgeometry.cxx:113
 AliTRDgeometry.cxx:114
 AliTRDgeometry.cxx:115
 AliTRDgeometry.cxx:116
 AliTRDgeometry.cxx:117
 AliTRDgeometry.cxx:118
 AliTRDgeometry.cxx:119
 AliTRDgeometry.cxx:120
 AliTRDgeometry.cxx:121
 AliTRDgeometry.cxx:122
 AliTRDgeometry.cxx:123
 AliTRDgeometry.cxx:124
 AliTRDgeometry.cxx:125
 AliTRDgeometry.cxx:126
 AliTRDgeometry.cxx:127
 AliTRDgeometry.cxx:128
 AliTRDgeometry.cxx:129
 AliTRDgeometry.cxx:130
 AliTRDgeometry.cxx:131
 AliTRDgeometry.cxx:132
 AliTRDgeometry.cxx:133
 AliTRDgeometry.cxx:134
 AliTRDgeometry.cxx:135
 AliTRDgeometry.cxx:136
 AliTRDgeometry.cxx:137
 AliTRDgeometry.cxx:138
 AliTRDgeometry.cxx:139
 AliTRDgeometry.cxx:140
 AliTRDgeometry.cxx:141
 AliTRDgeometry.cxx:142
 AliTRDgeometry.cxx:143
 AliTRDgeometry.cxx:144
 AliTRDgeometry.cxx:145
 AliTRDgeometry.cxx:146
 AliTRDgeometry.cxx:147
 AliTRDgeometry.cxx:148
 AliTRDgeometry.cxx:149
 AliTRDgeometry.cxx:150
 AliTRDgeometry.cxx:151
 AliTRDgeometry.cxx:152
 AliTRDgeometry.cxx:153
 AliTRDgeometry.cxx:154
 AliTRDgeometry.cxx:155
 AliTRDgeometry.cxx:156
 AliTRDgeometry.cxx:157
 AliTRDgeometry.cxx:158
 AliTRDgeometry.cxx:159
 AliTRDgeometry.cxx:160
 AliTRDgeometry.cxx:161
 AliTRDgeometry.cxx:162
 AliTRDgeometry.cxx:163
 AliTRDgeometry.cxx:164
 AliTRDgeometry.cxx:165
 AliTRDgeometry.cxx:166
 AliTRDgeometry.cxx:167
 AliTRDgeometry.cxx:168
 AliTRDgeometry.cxx:169
 AliTRDgeometry.cxx:170
 AliTRDgeometry.cxx:171
 AliTRDgeometry.cxx:172
 AliTRDgeometry.cxx:173
 AliTRDgeometry.cxx:174
 AliTRDgeometry.cxx:175
 AliTRDgeometry.cxx:176
 AliTRDgeometry.cxx:177
 AliTRDgeometry.cxx:178
 AliTRDgeometry.cxx:179
 AliTRDgeometry.cxx:180
 AliTRDgeometry.cxx:181
 AliTRDgeometry.cxx:182
 AliTRDgeometry.cxx:183
 AliTRDgeometry.cxx:184
 AliTRDgeometry.cxx:185
 AliTRDgeometry.cxx:186
 AliTRDgeometry.cxx:187
 AliTRDgeometry.cxx:188
 AliTRDgeometry.cxx:189
 AliTRDgeometry.cxx:190
 AliTRDgeometry.cxx:191
 AliTRDgeometry.cxx:192
 AliTRDgeometry.cxx:193
 AliTRDgeometry.cxx:194
 AliTRDgeometry.cxx:195
 AliTRDgeometry.cxx:196
 AliTRDgeometry.cxx:197
 AliTRDgeometry.cxx:198
 AliTRDgeometry.cxx:199
 AliTRDgeometry.cxx:200
 AliTRDgeometry.cxx:201
 AliTRDgeometry.cxx:202
 AliTRDgeometry.cxx:203
 AliTRDgeometry.cxx:204
 AliTRDgeometry.cxx:205
 AliTRDgeometry.cxx:206
 AliTRDgeometry.cxx:207
 AliTRDgeometry.cxx:208
 AliTRDgeometry.cxx:209
 AliTRDgeometry.cxx:210
 AliTRDgeometry.cxx:211
 AliTRDgeometry.cxx:212
 AliTRDgeometry.cxx:213
 AliTRDgeometry.cxx:214
 AliTRDgeometry.cxx:215
 AliTRDgeometry.cxx:216
 AliTRDgeometry.cxx:217
 AliTRDgeometry.cxx:218
 AliTRDgeometry.cxx:219
 AliTRDgeometry.cxx:220
 AliTRDgeometry.cxx:221
 AliTRDgeometry.cxx:222
 AliTRDgeometry.cxx:223
 AliTRDgeometry.cxx:224
 AliTRDgeometry.cxx:225
 AliTRDgeometry.cxx:226
 AliTRDgeometry.cxx:227
 AliTRDgeometry.cxx:228
 AliTRDgeometry.cxx:229
 AliTRDgeometry.cxx:230
 AliTRDgeometry.cxx:231
 AliTRDgeometry.cxx:232
 AliTRDgeometry.cxx:233
 AliTRDgeometry.cxx:234
 AliTRDgeometry.cxx:235
 AliTRDgeometry.cxx:236
 AliTRDgeometry.cxx:237
 AliTRDgeometry.cxx:238
 AliTRDgeometry.cxx:239
 AliTRDgeometry.cxx:240
 AliTRDgeometry.cxx:241
 AliTRDgeometry.cxx:242
 AliTRDgeometry.cxx:243
 AliTRDgeometry.cxx:244
 AliTRDgeometry.cxx:245
 AliTRDgeometry.cxx:246
 AliTRDgeometry.cxx:247
 AliTRDgeometry.cxx:248
 AliTRDgeometry.cxx:249
 AliTRDgeometry.cxx:250
 AliTRDgeometry.cxx:251
 AliTRDgeometry.cxx:252
 AliTRDgeometry.cxx:253
 AliTRDgeometry.cxx:254
 AliTRDgeometry.cxx:255
 AliTRDgeometry.cxx:256
 AliTRDgeometry.cxx:257
 AliTRDgeometry.cxx:258
 AliTRDgeometry.cxx:259
 AliTRDgeometry.cxx:260
 AliTRDgeometry.cxx:261
 AliTRDgeometry.cxx:262
 AliTRDgeometry.cxx:263
 AliTRDgeometry.cxx:264
 AliTRDgeometry.cxx:265
 AliTRDgeometry.cxx:266
 AliTRDgeometry.cxx:267
 AliTRDgeometry.cxx:268
 AliTRDgeometry.cxx:269
 AliTRDgeometry.cxx:270
 AliTRDgeometry.cxx:271
 AliTRDgeometry.cxx:272
 AliTRDgeometry.cxx:273
 AliTRDgeometry.cxx:274
 AliTRDgeometry.cxx:275
 AliTRDgeometry.cxx:276
 AliTRDgeometry.cxx:277
 AliTRDgeometry.cxx:278
 AliTRDgeometry.cxx:279
 AliTRDgeometry.cxx:280
 AliTRDgeometry.cxx:281
 AliTRDgeometry.cxx:282
 AliTRDgeometry.cxx:283
 AliTRDgeometry.cxx:284
 AliTRDgeometry.cxx:285
 AliTRDgeometry.cxx:286
 AliTRDgeometry.cxx:287
 AliTRDgeometry.cxx:288
 AliTRDgeometry.cxx:289
 AliTRDgeometry.cxx:290
 AliTRDgeometry.cxx:291
 AliTRDgeometry.cxx:292
 AliTRDgeometry.cxx:293
 AliTRDgeometry.cxx:294
 AliTRDgeometry.cxx:295
 AliTRDgeometry.cxx:296
 AliTRDgeometry.cxx:297
 AliTRDgeometry.cxx:298
 AliTRDgeometry.cxx:299
 AliTRDgeometry.cxx:300
 AliTRDgeometry.cxx:301
 AliTRDgeometry.cxx:302
 AliTRDgeometry.cxx:303
 AliTRDgeometry.cxx:304
 AliTRDgeometry.cxx:305
 AliTRDgeometry.cxx:306
 AliTRDgeometry.cxx:307
 AliTRDgeometry.cxx:308
 AliTRDgeometry.cxx:309
 AliTRDgeometry.cxx:310
 AliTRDgeometry.cxx:311
 AliTRDgeometry.cxx:312
 AliTRDgeometry.cxx:313
 AliTRDgeometry.cxx:314
 AliTRDgeometry.cxx:315
 AliTRDgeometry.cxx:316
 AliTRDgeometry.cxx:317
 AliTRDgeometry.cxx:318
 AliTRDgeometry.cxx:319
 AliTRDgeometry.cxx:320
 AliTRDgeometry.cxx:321
 AliTRDgeometry.cxx:322
 AliTRDgeometry.cxx:323
 AliTRDgeometry.cxx:324
 AliTRDgeometry.cxx:325
 AliTRDgeometry.cxx:326
 AliTRDgeometry.cxx:327
 AliTRDgeometry.cxx:328
 AliTRDgeometry.cxx:329
 AliTRDgeometry.cxx:330
 AliTRDgeometry.cxx:331
 AliTRDgeometry.cxx:332
 AliTRDgeometry.cxx:333
 AliTRDgeometry.cxx:334
 AliTRDgeometry.cxx:335
 AliTRDgeometry.cxx:336
 AliTRDgeometry.cxx:337
 AliTRDgeometry.cxx:338
 AliTRDgeometry.cxx:339
 AliTRDgeometry.cxx:340
 AliTRDgeometry.cxx:341
 AliTRDgeometry.cxx:342
 AliTRDgeometry.cxx:343
 AliTRDgeometry.cxx:344
 AliTRDgeometry.cxx:345
 AliTRDgeometry.cxx:346
 AliTRDgeometry.cxx:347
 AliTRDgeometry.cxx:348
 AliTRDgeometry.cxx:349
 AliTRDgeometry.cxx:350
 AliTRDgeometry.cxx:351
 AliTRDgeometry.cxx:352
 AliTRDgeometry.cxx:353
 AliTRDgeometry.cxx:354
 AliTRDgeometry.cxx:355
 AliTRDgeometry.cxx:356
 AliTRDgeometry.cxx:357
 AliTRDgeometry.cxx:358
 AliTRDgeometry.cxx:359
 AliTRDgeometry.cxx:360
 AliTRDgeometry.cxx:361
 AliTRDgeometry.cxx:362
 AliTRDgeometry.cxx:363
 AliTRDgeometry.cxx:364
 AliTRDgeometry.cxx:365
 AliTRDgeometry.cxx:366
 AliTRDgeometry.cxx:367
 AliTRDgeometry.cxx:368
 AliTRDgeometry.cxx:369
 AliTRDgeometry.cxx:370
 AliTRDgeometry.cxx:371
 AliTRDgeometry.cxx:372
 AliTRDgeometry.cxx:373
 AliTRDgeometry.cxx:374
 AliTRDgeometry.cxx:375
 AliTRDgeometry.cxx:376
 AliTRDgeometry.cxx:377
 AliTRDgeometry.cxx:378
 AliTRDgeometry.cxx:379
 AliTRDgeometry.cxx:380
 AliTRDgeometry.cxx:381
 AliTRDgeometry.cxx:382
 AliTRDgeometry.cxx:383
 AliTRDgeometry.cxx:384
 AliTRDgeometry.cxx:385
 AliTRDgeometry.cxx:386
 AliTRDgeometry.cxx:387
 AliTRDgeometry.cxx:388
 AliTRDgeometry.cxx:389
 AliTRDgeometry.cxx:390
 AliTRDgeometry.cxx:391
 AliTRDgeometry.cxx:392
 AliTRDgeometry.cxx:393
 AliTRDgeometry.cxx:394
 AliTRDgeometry.cxx:395
 AliTRDgeometry.cxx:396
 AliTRDgeometry.cxx:397
 AliTRDgeometry.cxx:398
 AliTRDgeometry.cxx:399
 AliTRDgeometry.cxx:400
 AliTRDgeometry.cxx:401
 AliTRDgeometry.cxx:402
 AliTRDgeometry.cxx:403
 AliTRDgeometry.cxx:404
 AliTRDgeometry.cxx:405
 AliTRDgeometry.cxx:406
 AliTRDgeometry.cxx:407
 AliTRDgeometry.cxx:408
 AliTRDgeometry.cxx:409
 AliTRDgeometry.cxx:410
 AliTRDgeometry.cxx:411
 AliTRDgeometry.cxx:412
 AliTRDgeometry.cxx:413
 AliTRDgeometry.cxx:414
 AliTRDgeometry.cxx:415
 AliTRDgeometry.cxx:416
 AliTRDgeometry.cxx:417
 AliTRDgeometry.cxx:418
 AliTRDgeometry.cxx:419
 AliTRDgeometry.cxx:420
 AliTRDgeometry.cxx:421
 AliTRDgeometry.cxx:422
 AliTRDgeometry.cxx:423
 AliTRDgeometry.cxx:424
 AliTRDgeometry.cxx:425
 AliTRDgeometry.cxx:426
 AliTRDgeometry.cxx:427
 AliTRDgeometry.cxx:428
 AliTRDgeometry.cxx:429
 AliTRDgeometry.cxx:430
 AliTRDgeometry.cxx:431
 AliTRDgeometry.cxx:432
 AliTRDgeometry.cxx:433
 AliTRDgeometry.cxx:434
 AliTRDgeometry.cxx:435
 AliTRDgeometry.cxx:436
 AliTRDgeometry.cxx:437
 AliTRDgeometry.cxx:438
 AliTRDgeometry.cxx:439
 AliTRDgeometry.cxx:440
 AliTRDgeometry.cxx:441
 AliTRDgeometry.cxx:442
 AliTRDgeometry.cxx:443
 AliTRDgeometry.cxx:444
 AliTRDgeometry.cxx:445
 AliTRDgeometry.cxx:446
 AliTRDgeometry.cxx:447
 AliTRDgeometry.cxx:448
 AliTRDgeometry.cxx:449
 AliTRDgeometry.cxx:450
 AliTRDgeometry.cxx:451
 AliTRDgeometry.cxx:452
 AliTRDgeometry.cxx:453
 AliTRDgeometry.cxx:454
 AliTRDgeometry.cxx:455
 AliTRDgeometry.cxx:456
 AliTRDgeometry.cxx:457
 AliTRDgeometry.cxx:458
 AliTRDgeometry.cxx:459
 AliTRDgeometry.cxx:460
 AliTRDgeometry.cxx:461
 AliTRDgeometry.cxx:462
 AliTRDgeometry.cxx:463
 AliTRDgeometry.cxx:464
 AliTRDgeometry.cxx:465
 AliTRDgeometry.cxx:466
 AliTRDgeometry.cxx:467
 AliTRDgeometry.cxx:468
 AliTRDgeometry.cxx:469
 AliTRDgeometry.cxx:470
 AliTRDgeometry.cxx:471
 AliTRDgeometry.cxx:472
 AliTRDgeometry.cxx:473
 AliTRDgeometry.cxx:474
 AliTRDgeometry.cxx:475
 AliTRDgeometry.cxx:476
 AliTRDgeometry.cxx:477
 AliTRDgeometry.cxx:478
 AliTRDgeometry.cxx:479
 AliTRDgeometry.cxx:480
 AliTRDgeometry.cxx:481
 AliTRDgeometry.cxx:482
 AliTRDgeometry.cxx:483
 AliTRDgeometry.cxx:484
 AliTRDgeometry.cxx:485
 AliTRDgeometry.cxx:486
 AliTRDgeometry.cxx:487
 AliTRDgeometry.cxx:488
 AliTRDgeometry.cxx:489
 AliTRDgeometry.cxx:490
 AliTRDgeometry.cxx:491
 AliTRDgeometry.cxx:492
 AliTRDgeometry.cxx:493
 AliTRDgeometry.cxx:494
 AliTRDgeometry.cxx:495
 AliTRDgeometry.cxx:496
 AliTRDgeometry.cxx:497
 AliTRDgeometry.cxx:498
 AliTRDgeometry.cxx:499
 AliTRDgeometry.cxx:500
 AliTRDgeometry.cxx:501
 AliTRDgeometry.cxx:502
 AliTRDgeometry.cxx:503
 AliTRDgeometry.cxx:504
 AliTRDgeometry.cxx:505
 AliTRDgeometry.cxx:506
 AliTRDgeometry.cxx:507
 AliTRDgeometry.cxx:508
 AliTRDgeometry.cxx:509
 AliTRDgeometry.cxx:510
 AliTRDgeometry.cxx:511
 AliTRDgeometry.cxx:512
 AliTRDgeometry.cxx:513
 AliTRDgeometry.cxx:514
 AliTRDgeometry.cxx:515
 AliTRDgeometry.cxx:516
 AliTRDgeometry.cxx:517
 AliTRDgeometry.cxx:518
 AliTRDgeometry.cxx:519
 AliTRDgeometry.cxx:520
 AliTRDgeometry.cxx:521
 AliTRDgeometry.cxx:522
 AliTRDgeometry.cxx:523
 AliTRDgeometry.cxx:524
 AliTRDgeometry.cxx:525
 AliTRDgeometry.cxx:526
 AliTRDgeometry.cxx:527
 AliTRDgeometry.cxx:528
 AliTRDgeometry.cxx:529
 AliTRDgeometry.cxx:530
 AliTRDgeometry.cxx:531
 AliTRDgeometry.cxx:532
 AliTRDgeometry.cxx:533
 AliTRDgeometry.cxx:534
 AliTRDgeometry.cxx:535
 AliTRDgeometry.cxx:536
 AliTRDgeometry.cxx:537
 AliTRDgeometry.cxx:538
 AliTRDgeometry.cxx:539
 AliTRDgeometry.cxx:540
 AliTRDgeometry.cxx:541
 AliTRDgeometry.cxx:542
 AliTRDgeometry.cxx:543
 AliTRDgeometry.cxx:544
 AliTRDgeometry.cxx:545
 AliTRDgeometry.cxx:546
 AliTRDgeometry.cxx:547
 AliTRDgeometry.cxx:548
 AliTRDgeometry.cxx:549
 AliTRDgeometry.cxx:550
 AliTRDgeometry.cxx:551
 AliTRDgeometry.cxx:552
 AliTRDgeometry.cxx:553
 AliTRDgeometry.cxx:554
 AliTRDgeometry.cxx:555
 AliTRDgeometry.cxx:556
 AliTRDgeometry.cxx:557
 AliTRDgeometry.cxx:558
 AliTRDgeometry.cxx:559
 AliTRDgeometry.cxx:560
 AliTRDgeometry.cxx:561
 AliTRDgeometry.cxx:562
 AliTRDgeometry.cxx:563
 AliTRDgeometry.cxx:564
 AliTRDgeometry.cxx:565
 AliTRDgeometry.cxx:566
 AliTRDgeometry.cxx:567
 AliTRDgeometry.cxx:568
 AliTRDgeometry.cxx:569
 AliTRDgeometry.cxx:570
 AliTRDgeometry.cxx:571
 AliTRDgeometry.cxx:572
 AliTRDgeometry.cxx:573
 AliTRDgeometry.cxx:574
 AliTRDgeometry.cxx:575
 AliTRDgeometry.cxx:576
 AliTRDgeometry.cxx:577
 AliTRDgeometry.cxx:578
 AliTRDgeometry.cxx:579
 AliTRDgeometry.cxx:580
 AliTRDgeometry.cxx:581
 AliTRDgeometry.cxx:582
 AliTRDgeometry.cxx:583
 AliTRDgeometry.cxx:584
 AliTRDgeometry.cxx:585
 AliTRDgeometry.cxx:586
 AliTRDgeometry.cxx:587
 AliTRDgeometry.cxx:588
 AliTRDgeometry.cxx:589
 AliTRDgeometry.cxx:590
 AliTRDgeometry.cxx:591
 AliTRDgeometry.cxx:592
 AliTRDgeometry.cxx:593
 AliTRDgeometry.cxx:594
 AliTRDgeometry.cxx:595
 AliTRDgeometry.cxx:596
 AliTRDgeometry.cxx:597
 AliTRDgeometry.cxx:598
 AliTRDgeometry.cxx:599
 AliTRDgeometry.cxx:600
 AliTRDgeometry.cxx:601
 AliTRDgeometry.cxx:602
 AliTRDgeometry.cxx:603
 AliTRDgeometry.cxx:604
 AliTRDgeometry.cxx:605
 AliTRDgeometry.cxx:606
 AliTRDgeometry.cxx:607
 AliTRDgeometry.cxx:608
 AliTRDgeometry.cxx:609
 AliTRDgeometry.cxx:610
 AliTRDgeometry.cxx:611
 AliTRDgeometry.cxx:612
 AliTRDgeometry.cxx:613
 AliTRDgeometry.cxx:614
 AliTRDgeometry.cxx:615
 AliTRDgeometry.cxx:616
 AliTRDgeometry.cxx:617
 AliTRDgeometry.cxx:618
 AliTRDgeometry.cxx:619
 AliTRDgeometry.cxx:620
 AliTRDgeometry.cxx:621
 AliTRDgeometry.cxx:622
 AliTRDgeometry.cxx:623
 AliTRDgeometry.cxx:624
 AliTRDgeometry.cxx:625
 AliTRDgeometry.cxx:626
 AliTRDgeometry.cxx:627
 AliTRDgeometry.cxx:628
 AliTRDgeometry.cxx:629
 AliTRDgeometry.cxx:630
 AliTRDgeometry.cxx:631
 AliTRDgeometry.cxx:632
 AliTRDgeometry.cxx:633
 AliTRDgeometry.cxx:634
 AliTRDgeometry.cxx:635
 AliTRDgeometry.cxx:636
 AliTRDgeometry.cxx:637
 AliTRDgeometry.cxx:638
 AliTRDgeometry.cxx:639
 AliTRDgeometry.cxx:640
 AliTRDgeometry.cxx:641
 AliTRDgeometry.cxx:642
 AliTRDgeometry.cxx:643
 AliTRDgeometry.cxx:644
 AliTRDgeometry.cxx:645
 AliTRDgeometry.cxx:646
 AliTRDgeometry.cxx:647
 AliTRDgeometry.cxx:648
 AliTRDgeometry.cxx:649
 AliTRDgeometry.cxx:650
 AliTRDgeometry.cxx:651
 AliTRDgeometry.cxx:652
 AliTRDgeometry.cxx:653
 AliTRDgeometry.cxx:654
 AliTRDgeometry.cxx:655
 AliTRDgeometry.cxx:656
 AliTRDgeometry.cxx:657
 AliTRDgeometry.cxx:658
 AliTRDgeometry.cxx:659
 AliTRDgeometry.cxx:660
 AliTRDgeometry.cxx:661
 AliTRDgeometry.cxx:662
 AliTRDgeometry.cxx:663
 AliTRDgeometry.cxx:664
 AliTRDgeometry.cxx:665
 AliTRDgeometry.cxx:666
 AliTRDgeometry.cxx:667
 AliTRDgeometry.cxx:668
 AliTRDgeometry.cxx:669
 AliTRDgeometry.cxx:670
 AliTRDgeometry.cxx:671
 AliTRDgeometry.cxx:672
 AliTRDgeometry.cxx:673
 AliTRDgeometry.cxx:674
 AliTRDgeometry.cxx:675
 AliTRDgeometry.cxx:676
 AliTRDgeometry.cxx:677
 AliTRDgeometry.cxx:678
 AliTRDgeometry.cxx:679
 AliTRDgeometry.cxx:680
 AliTRDgeometry.cxx:681
 AliTRDgeometry.cxx:682
 AliTRDgeometry.cxx:683
 AliTRDgeometry.cxx:684
 AliTRDgeometry.cxx:685
 AliTRDgeometry.cxx:686
 AliTRDgeometry.cxx:687
 AliTRDgeometry.cxx:688
 AliTRDgeometry.cxx:689
 AliTRDgeometry.cxx:690
 AliTRDgeometry.cxx:691
 AliTRDgeometry.cxx:692
 AliTRDgeometry.cxx:693
 AliTRDgeometry.cxx:694
 AliTRDgeometry.cxx:695
 AliTRDgeometry.cxx:696
 AliTRDgeometry.cxx:697
 AliTRDgeometry.cxx:698
 AliTRDgeometry.cxx:699
 AliTRDgeometry.cxx:700
 AliTRDgeometry.cxx:701
 AliTRDgeometry.cxx:702
 AliTRDgeometry.cxx:703
 AliTRDgeometry.cxx:704
 AliTRDgeometry.cxx:705
 AliTRDgeometry.cxx:706
 AliTRDgeometry.cxx:707
 AliTRDgeometry.cxx:708
 AliTRDgeometry.cxx:709
 AliTRDgeometry.cxx:710
 AliTRDgeometry.cxx:711
 AliTRDgeometry.cxx:712
 AliTRDgeometry.cxx:713
 AliTRDgeometry.cxx:714
 AliTRDgeometry.cxx:715
 AliTRDgeometry.cxx:716
 AliTRDgeometry.cxx:717
 AliTRDgeometry.cxx:718
 AliTRDgeometry.cxx:719
 AliTRDgeometry.cxx:720
 AliTRDgeometry.cxx:721
 AliTRDgeometry.cxx:722
 AliTRDgeometry.cxx:723
 AliTRDgeometry.cxx:724
 AliTRDgeometry.cxx:725
 AliTRDgeometry.cxx:726
 AliTRDgeometry.cxx:727
 AliTRDgeometry.cxx:728
 AliTRDgeometry.cxx:729
 AliTRDgeometry.cxx:730
 AliTRDgeometry.cxx:731
 AliTRDgeometry.cxx:732
 AliTRDgeometry.cxx:733
 AliTRDgeometry.cxx:734
 AliTRDgeometry.cxx:735
 AliTRDgeometry.cxx:736
 AliTRDgeometry.cxx:737
 AliTRDgeometry.cxx:738
 AliTRDgeometry.cxx:739
 AliTRDgeometry.cxx:740
 AliTRDgeometry.cxx:741
 AliTRDgeometry.cxx:742
 AliTRDgeometry.cxx:743
 AliTRDgeometry.cxx:744
 AliTRDgeometry.cxx:745
 AliTRDgeometry.cxx:746
 AliTRDgeometry.cxx:747
 AliTRDgeometry.cxx:748
 AliTRDgeometry.cxx:749
 AliTRDgeometry.cxx:750
 AliTRDgeometry.cxx:751
 AliTRDgeometry.cxx:752
 AliTRDgeometry.cxx:753
 AliTRDgeometry.cxx:754
 AliTRDgeometry.cxx:755
 AliTRDgeometry.cxx:756
 AliTRDgeometry.cxx:757
 AliTRDgeometry.cxx:758
 AliTRDgeometry.cxx:759
 AliTRDgeometry.cxx:760
 AliTRDgeometry.cxx:761
 AliTRDgeometry.cxx:762
 AliTRDgeometry.cxx:763
 AliTRDgeometry.cxx:764
 AliTRDgeometry.cxx:765
 AliTRDgeometry.cxx:766
 AliTRDgeometry.cxx:767
 AliTRDgeometry.cxx:768
 AliTRDgeometry.cxx:769
 AliTRDgeometry.cxx:770
 AliTRDgeometry.cxx:771
 AliTRDgeometry.cxx:772
 AliTRDgeometry.cxx:773
 AliTRDgeometry.cxx:774
 AliTRDgeometry.cxx:775
 AliTRDgeometry.cxx:776
 AliTRDgeometry.cxx:777
 AliTRDgeometry.cxx:778
 AliTRDgeometry.cxx:779
 AliTRDgeometry.cxx:780
 AliTRDgeometry.cxx:781
 AliTRDgeometry.cxx:782
 AliTRDgeometry.cxx:783
 AliTRDgeometry.cxx:784
 AliTRDgeometry.cxx:785
 AliTRDgeometry.cxx:786
 AliTRDgeometry.cxx:787
 AliTRDgeometry.cxx:788
 AliTRDgeometry.cxx:789
 AliTRDgeometry.cxx:790
 AliTRDgeometry.cxx:791
 AliTRDgeometry.cxx:792
 AliTRDgeometry.cxx:793
 AliTRDgeometry.cxx:794
 AliTRDgeometry.cxx:795
 AliTRDgeometry.cxx:796
 AliTRDgeometry.cxx:797
 AliTRDgeometry.cxx:798
 AliTRDgeometry.cxx:799
 AliTRDgeometry.cxx:800
 AliTRDgeometry.cxx:801
 AliTRDgeometry.cxx:802
 AliTRDgeometry.cxx:803
 AliTRDgeometry.cxx:804
 AliTRDgeometry.cxx:805
 AliTRDgeometry.cxx:806
 AliTRDgeometry.cxx:807
 AliTRDgeometry.cxx:808
 AliTRDgeometry.cxx:809
 AliTRDgeometry.cxx:810
 AliTRDgeometry.cxx:811
 AliTRDgeometry.cxx:812
 AliTRDgeometry.cxx:813
 AliTRDgeometry.cxx:814
 AliTRDgeometry.cxx:815
 AliTRDgeometry.cxx:816
 AliTRDgeometry.cxx:817
 AliTRDgeometry.cxx:818
 AliTRDgeometry.cxx:819
 AliTRDgeometry.cxx:820
 AliTRDgeometry.cxx:821
 AliTRDgeometry.cxx:822
 AliTRDgeometry.cxx:823
 AliTRDgeometry.cxx:824
 AliTRDgeometry.cxx:825
 AliTRDgeometry.cxx:826
 AliTRDgeometry.cxx:827
 AliTRDgeometry.cxx:828
 AliTRDgeometry.cxx:829
 AliTRDgeometry.cxx:830
 AliTRDgeometry.cxx:831
 AliTRDgeometry.cxx:832
 AliTRDgeometry.cxx:833
 AliTRDgeometry.cxx:834
 AliTRDgeometry.cxx:835
 AliTRDgeometry.cxx:836
 AliTRDgeometry.cxx:837
 AliTRDgeometry.cxx:838
 AliTRDgeometry.cxx:839
 AliTRDgeometry.cxx:840
 AliTRDgeometry.cxx:841
 AliTRDgeometry.cxx:842
 AliTRDgeometry.cxx:843
 AliTRDgeometry.cxx:844
 AliTRDgeometry.cxx:845
 AliTRDgeometry.cxx:846
 AliTRDgeometry.cxx:847
 AliTRDgeometry.cxx:848
 AliTRDgeometry.cxx:849
 AliTRDgeometry.cxx:850
 AliTRDgeometry.cxx:851
 AliTRDgeometry.cxx:852
 AliTRDgeometry.cxx:853
 AliTRDgeometry.cxx:854
 AliTRDgeometry.cxx:855
 AliTRDgeometry.cxx:856
 AliTRDgeometry.cxx:857
 AliTRDgeometry.cxx:858
 AliTRDgeometry.cxx:859
 AliTRDgeometry.cxx:860
 AliTRDgeometry.cxx:861
 AliTRDgeometry.cxx:862
 AliTRDgeometry.cxx:863
 AliTRDgeometry.cxx:864
 AliTRDgeometry.cxx:865
 AliTRDgeometry.cxx:866
 AliTRDgeometry.cxx:867
 AliTRDgeometry.cxx:868
 AliTRDgeometry.cxx:869
 AliTRDgeometry.cxx:870
 AliTRDgeometry.cxx:871
 AliTRDgeometry.cxx:872
 AliTRDgeometry.cxx:873
 AliTRDgeometry.cxx:874
 AliTRDgeometry.cxx:875
 AliTRDgeometry.cxx:876
 AliTRDgeometry.cxx:877
 AliTRDgeometry.cxx:878
 AliTRDgeometry.cxx:879
 AliTRDgeometry.cxx:880
 AliTRDgeometry.cxx:881
 AliTRDgeometry.cxx:882
 AliTRDgeometry.cxx:883
 AliTRDgeometry.cxx:884
 AliTRDgeometry.cxx:885
 AliTRDgeometry.cxx:886
 AliTRDgeometry.cxx:887
 AliTRDgeometry.cxx:888
 AliTRDgeometry.cxx:889
 AliTRDgeometry.cxx:890
 AliTRDgeometry.cxx:891
 AliTRDgeometry.cxx:892
 AliTRDgeometry.cxx:893
 AliTRDgeometry.cxx:894
 AliTRDgeometry.cxx:895
 AliTRDgeometry.cxx:896
 AliTRDgeometry.cxx:897
 AliTRDgeometry.cxx:898
 AliTRDgeometry.cxx:899
 AliTRDgeometry.cxx:900
 AliTRDgeometry.cxx:901
 AliTRDgeometry.cxx:902
 AliTRDgeometry.cxx:903
 AliTRDgeometry.cxx:904
 AliTRDgeometry.cxx:905
 AliTRDgeometry.cxx:906
 AliTRDgeometry.cxx:907
 AliTRDgeometry.cxx:908
 AliTRDgeometry.cxx:909
 AliTRDgeometry.cxx:910
 AliTRDgeometry.cxx:911
 AliTRDgeometry.cxx:912
 AliTRDgeometry.cxx:913
 AliTRDgeometry.cxx:914
 AliTRDgeometry.cxx:915
 AliTRDgeometry.cxx:916
 AliTRDgeometry.cxx:917
 AliTRDgeometry.cxx:918
 AliTRDgeometry.cxx:919
 AliTRDgeometry.cxx:920
 AliTRDgeometry.cxx:921
 AliTRDgeometry.cxx:922
 AliTRDgeometry.cxx:923
 AliTRDgeometry.cxx:924
 AliTRDgeometry.cxx:925
 AliTRDgeometry.cxx:926
 AliTRDgeometry.cxx:927
 AliTRDgeometry.cxx:928
 AliTRDgeometry.cxx:929
 AliTRDgeometry.cxx:930
 AliTRDgeometry.cxx:931
 AliTRDgeometry.cxx:932
 AliTRDgeometry.cxx:933
 AliTRDgeometry.cxx:934
 AliTRDgeometry.cxx:935
 AliTRDgeometry.cxx:936
 AliTRDgeometry.cxx:937
 AliTRDgeometry.cxx:938
 AliTRDgeometry.cxx:939
 AliTRDgeometry.cxx:940
 AliTRDgeometry.cxx:941
 AliTRDgeometry.cxx:942
 AliTRDgeometry.cxx:943
 AliTRDgeometry.cxx:944
 AliTRDgeometry.cxx:945
 AliTRDgeometry.cxx:946
 AliTRDgeometry.cxx:947
 AliTRDgeometry.cxx:948
 AliTRDgeometry.cxx:949
 AliTRDgeometry.cxx:950
 AliTRDgeometry.cxx:951
 AliTRDgeometry.cxx:952
 AliTRDgeometry.cxx:953
 AliTRDgeometry.cxx:954
 AliTRDgeometry.cxx:955
 AliTRDgeometry.cxx:956
 AliTRDgeometry.cxx:957
 AliTRDgeometry.cxx:958
 AliTRDgeometry.cxx:959
 AliTRDgeometry.cxx:960
 AliTRDgeometry.cxx:961
 AliTRDgeometry.cxx:962
 AliTRDgeometry.cxx:963
 AliTRDgeometry.cxx:964
 AliTRDgeometry.cxx:965
 AliTRDgeometry.cxx:966
 AliTRDgeometry.cxx:967
 AliTRDgeometry.cxx:968
 AliTRDgeometry.cxx:969
 AliTRDgeometry.cxx:970
 AliTRDgeometry.cxx:971
 AliTRDgeometry.cxx:972
 AliTRDgeometry.cxx:973
 AliTRDgeometry.cxx:974
 AliTRDgeometry.cxx:975
 AliTRDgeometry.cxx:976
 AliTRDgeometry.cxx:977
 AliTRDgeometry.cxx:978
 AliTRDgeometry.cxx:979
 AliTRDgeometry.cxx:980
 AliTRDgeometry.cxx:981
 AliTRDgeometry.cxx:982
 AliTRDgeometry.cxx:983
 AliTRDgeometry.cxx:984
 AliTRDgeometry.cxx:985
 AliTRDgeometry.cxx:986
 AliTRDgeometry.cxx:987
 AliTRDgeometry.cxx:988
 AliTRDgeometry.cxx:989
 AliTRDgeometry.cxx:990
 AliTRDgeometry.cxx:991
 AliTRDgeometry.cxx:992
 AliTRDgeometry.cxx:993
 AliTRDgeometry.cxx:994
 AliTRDgeometry.cxx:995
 AliTRDgeometry.cxx:996
 AliTRDgeometry.cxx:997
 AliTRDgeometry.cxx:998
 AliTRDgeometry.cxx:999
 AliTRDgeometry.cxx:1000
 AliTRDgeometry.cxx:1001
 AliTRDgeometry.cxx:1002
 AliTRDgeometry.cxx:1003
 AliTRDgeometry.cxx:1004
 AliTRDgeometry.cxx:1005
 AliTRDgeometry.cxx:1006
 AliTRDgeometry.cxx:1007
 AliTRDgeometry.cxx:1008
 AliTRDgeometry.cxx:1009
 AliTRDgeometry.cxx:1010
 AliTRDgeometry.cxx:1011
 AliTRDgeometry.cxx:1012
 AliTRDgeometry.cxx:1013
 AliTRDgeometry.cxx:1014
 AliTRDgeometry.cxx:1015
 AliTRDgeometry.cxx:1016
 AliTRDgeometry.cxx:1017
 AliTRDgeometry.cxx:1018
 AliTRDgeometry.cxx:1019
 AliTRDgeometry.cxx:1020
 AliTRDgeometry.cxx:1021
 AliTRDgeometry.cxx:1022
 AliTRDgeometry.cxx:1023
 AliTRDgeometry.cxx:1024
 AliTRDgeometry.cxx:1025
 AliTRDgeometry.cxx:1026
 AliTRDgeometry.cxx:1027
 AliTRDgeometry.cxx:1028
 AliTRDgeometry.cxx:1029
 AliTRDgeometry.cxx:1030
 AliTRDgeometry.cxx:1031
 AliTRDgeometry.cxx:1032
 AliTRDgeometry.cxx:1033
 AliTRDgeometry.cxx:1034
 AliTRDgeometry.cxx:1035
 AliTRDgeometry.cxx:1036
 AliTRDgeometry.cxx:1037
 AliTRDgeometry.cxx:1038
 AliTRDgeometry.cxx:1039
 AliTRDgeometry.cxx:1040
 AliTRDgeometry.cxx:1041
 AliTRDgeometry.cxx:1042
 AliTRDgeometry.cxx:1043
 AliTRDgeometry.cxx:1044
 AliTRDgeometry.cxx:1045
 AliTRDgeometry.cxx:1046
 AliTRDgeometry.cxx:1047
 AliTRDgeometry.cxx:1048
 AliTRDgeometry.cxx:1049
 AliTRDgeometry.cxx:1050
 AliTRDgeometry.cxx:1051
 AliTRDgeometry.cxx:1052
 AliTRDgeometry.cxx:1053
 AliTRDgeometry.cxx:1054
 AliTRDgeometry.cxx:1055
 AliTRDgeometry.cxx:1056
 AliTRDgeometry.cxx:1057
 AliTRDgeometry.cxx:1058
 AliTRDgeometry.cxx:1059
 AliTRDgeometry.cxx:1060
 AliTRDgeometry.cxx:1061
 AliTRDgeometry.cxx:1062
 AliTRDgeometry.cxx:1063
 AliTRDgeometry.cxx:1064
 AliTRDgeometry.cxx:1065
 AliTRDgeometry.cxx:1066
 AliTRDgeometry.cxx:1067
 AliTRDgeometry.cxx:1068
 AliTRDgeometry.cxx:1069
 AliTRDgeometry.cxx:1070
 AliTRDgeometry.cxx:1071
 AliTRDgeometry.cxx:1072
 AliTRDgeometry.cxx:1073
 AliTRDgeometry.cxx:1074
 AliTRDgeometry.cxx:1075
 AliTRDgeometry.cxx:1076
 AliTRDgeometry.cxx:1077
 AliTRDgeometry.cxx:1078
 AliTRDgeometry.cxx:1079
 AliTRDgeometry.cxx:1080
 AliTRDgeometry.cxx:1081
 AliTRDgeometry.cxx:1082
 AliTRDgeometry.cxx:1083
 AliTRDgeometry.cxx:1084
 AliTRDgeometry.cxx:1085
 AliTRDgeometry.cxx:1086
 AliTRDgeometry.cxx:1087
 AliTRDgeometry.cxx:1088
 AliTRDgeometry.cxx:1089
 AliTRDgeometry.cxx:1090
 AliTRDgeometry.cxx:1091
 AliTRDgeometry.cxx:1092
 AliTRDgeometry.cxx:1093
 AliTRDgeometry.cxx:1094
 AliTRDgeometry.cxx:1095
 AliTRDgeometry.cxx:1096
 AliTRDgeometry.cxx:1097
 AliTRDgeometry.cxx:1098
 AliTRDgeometry.cxx:1099
 AliTRDgeometry.cxx:1100
 AliTRDgeometry.cxx:1101
 AliTRDgeometry.cxx:1102
 AliTRDgeometry.cxx:1103
 AliTRDgeometry.cxx:1104
 AliTRDgeometry.cxx:1105
 AliTRDgeometry.cxx:1106
 AliTRDgeometry.cxx:1107
 AliTRDgeometry.cxx:1108
 AliTRDgeometry.cxx:1109
 AliTRDgeometry.cxx:1110
 AliTRDgeometry.cxx:1111
 AliTRDgeometry.cxx:1112
 AliTRDgeometry.cxx:1113
 AliTRDgeometry.cxx:1114
 AliTRDgeometry.cxx:1115
 AliTRDgeometry.cxx:1116
 AliTRDgeometry.cxx:1117
 AliTRDgeometry.cxx:1118
 AliTRDgeometry.cxx:1119
 AliTRDgeometry.cxx:1120
 AliTRDgeometry.cxx:1121
 AliTRDgeometry.cxx:1122
 AliTRDgeometry.cxx:1123
 AliTRDgeometry.cxx:1124
 AliTRDgeometry.cxx:1125
 AliTRDgeometry.cxx:1126
 AliTRDgeometry.cxx:1127
 AliTRDgeometry.cxx:1128
 AliTRDgeometry.cxx:1129
 AliTRDgeometry.cxx:1130
 AliTRDgeometry.cxx:1131
 AliTRDgeometry.cxx:1132
 AliTRDgeometry.cxx:1133
 AliTRDgeometry.cxx:1134
 AliTRDgeometry.cxx:1135
 AliTRDgeometry.cxx:1136
 AliTRDgeometry.cxx:1137
 AliTRDgeometry.cxx:1138
 AliTRDgeometry.cxx:1139
 AliTRDgeometry.cxx:1140
 AliTRDgeometry.cxx:1141
 AliTRDgeometry.cxx:1142
 AliTRDgeometry.cxx:1143
 AliTRDgeometry.cxx:1144
 AliTRDgeometry.cxx:1145
 AliTRDgeometry.cxx:1146
 AliTRDgeometry.cxx:1147
 AliTRDgeometry.cxx:1148
 AliTRDgeometry.cxx:1149
 AliTRDgeometry.cxx:1150
 AliTRDgeometry.cxx:1151
 AliTRDgeometry.cxx:1152
 AliTRDgeometry.cxx:1153
 AliTRDgeometry.cxx:1154
 AliTRDgeometry.cxx:1155
 AliTRDgeometry.cxx:1156
 AliTRDgeometry.cxx:1157
 AliTRDgeometry.cxx:1158
 AliTRDgeometry.cxx:1159
 AliTRDgeometry.cxx:1160
 AliTRDgeometry.cxx:1161
 AliTRDgeometry.cxx:1162
 AliTRDgeometry.cxx:1163
 AliTRDgeometry.cxx:1164
 AliTRDgeometry.cxx:1165
 AliTRDgeometry.cxx:1166
 AliTRDgeometry.cxx:1167
 AliTRDgeometry.cxx:1168
 AliTRDgeometry.cxx:1169
 AliTRDgeometry.cxx:1170
 AliTRDgeometry.cxx:1171
 AliTRDgeometry.cxx:1172
 AliTRDgeometry.cxx:1173
 AliTRDgeometry.cxx:1174
 AliTRDgeometry.cxx:1175
 AliTRDgeometry.cxx:1176
 AliTRDgeometry.cxx:1177
 AliTRDgeometry.cxx:1178
 AliTRDgeometry.cxx:1179
 AliTRDgeometry.cxx:1180
 AliTRDgeometry.cxx:1181
 AliTRDgeometry.cxx:1182
 AliTRDgeometry.cxx:1183
 AliTRDgeometry.cxx:1184
 AliTRDgeometry.cxx:1185
 AliTRDgeometry.cxx:1186
 AliTRDgeometry.cxx:1187
 AliTRDgeometry.cxx:1188
 AliTRDgeometry.cxx:1189
 AliTRDgeometry.cxx:1190
 AliTRDgeometry.cxx:1191
 AliTRDgeometry.cxx:1192
 AliTRDgeometry.cxx:1193
 AliTRDgeometry.cxx:1194
 AliTRDgeometry.cxx:1195
 AliTRDgeometry.cxx:1196
 AliTRDgeometry.cxx:1197
 AliTRDgeometry.cxx:1198
 AliTRDgeometry.cxx:1199
 AliTRDgeometry.cxx:1200
 AliTRDgeometry.cxx:1201
 AliTRDgeometry.cxx:1202
 AliTRDgeometry.cxx:1203
 AliTRDgeometry.cxx:1204
 AliTRDgeometry.cxx:1205
 AliTRDgeometry.cxx:1206
 AliTRDgeometry.cxx:1207
 AliTRDgeometry.cxx:1208
 AliTRDgeometry.cxx:1209
 AliTRDgeometry.cxx:1210
 AliTRDgeometry.cxx:1211
 AliTRDgeometry.cxx:1212
 AliTRDgeometry.cxx:1213
 AliTRDgeometry.cxx:1214
 AliTRDgeometry.cxx:1215
 AliTRDgeometry.cxx:1216
 AliTRDgeometry.cxx:1217
 AliTRDgeometry.cxx:1218
 AliTRDgeometry.cxx:1219
 AliTRDgeometry.cxx:1220
 AliTRDgeometry.cxx:1221
 AliTRDgeometry.cxx:1222
 AliTRDgeometry.cxx:1223
 AliTRDgeometry.cxx:1224
 AliTRDgeometry.cxx:1225
 AliTRDgeometry.cxx:1226
 AliTRDgeometry.cxx:1227
 AliTRDgeometry.cxx:1228
 AliTRDgeometry.cxx:1229
 AliTRDgeometry.cxx:1230
 AliTRDgeometry.cxx:1231
 AliTRDgeometry.cxx:1232
 AliTRDgeometry.cxx:1233
 AliTRDgeometry.cxx:1234
 AliTRDgeometry.cxx:1235
 AliTRDgeometry.cxx:1236
 AliTRDgeometry.cxx:1237
 AliTRDgeometry.cxx:1238
 AliTRDgeometry.cxx:1239
 AliTRDgeometry.cxx:1240
 AliTRDgeometry.cxx:1241
 AliTRDgeometry.cxx:1242
 AliTRDgeometry.cxx:1243
 AliTRDgeometry.cxx:1244
 AliTRDgeometry.cxx:1245
 AliTRDgeometry.cxx:1246
 AliTRDgeometry.cxx:1247
 AliTRDgeometry.cxx:1248
 AliTRDgeometry.cxx:1249
 AliTRDgeometry.cxx:1250
 AliTRDgeometry.cxx:1251
 AliTRDgeometry.cxx:1252
 AliTRDgeometry.cxx:1253
 AliTRDgeometry.cxx:1254
 AliTRDgeometry.cxx:1255
 AliTRDgeometry.cxx:1256
 AliTRDgeometry.cxx:1257
 AliTRDgeometry.cxx:1258
 AliTRDgeometry.cxx:1259
 AliTRDgeometry.cxx:1260
 AliTRDgeometry.cxx:1261
 AliTRDgeometry.cxx:1262
 AliTRDgeometry.cxx:1263
 AliTRDgeometry.cxx:1264
 AliTRDgeometry.cxx:1265
 AliTRDgeometry.cxx:1266
 AliTRDgeometry.cxx:1267
 AliTRDgeometry.cxx:1268
 AliTRDgeometry.cxx:1269
 AliTRDgeometry.cxx:1270
 AliTRDgeometry.cxx:1271
 AliTRDgeometry.cxx:1272
 AliTRDgeometry.cxx:1273
 AliTRDgeometry.cxx:1274
 AliTRDgeometry.cxx:1275
 AliTRDgeometry.cxx:1276
 AliTRDgeometry.cxx:1277
 AliTRDgeometry.cxx:1278
 AliTRDgeometry.cxx:1279
 AliTRDgeometry.cxx:1280
 AliTRDgeometry.cxx:1281
 AliTRDgeometry.cxx:1282
 AliTRDgeometry.cxx:1283
 AliTRDgeometry.cxx:1284
 AliTRDgeometry.cxx:1285
 AliTRDgeometry.cxx:1286
 AliTRDgeometry.cxx:1287
 AliTRDgeometry.cxx:1288
 AliTRDgeometry.cxx:1289
 AliTRDgeometry.cxx:1290
 AliTRDgeometry.cxx:1291
 AliTRDgeometry.cxx:1292
 AliTRDgeometry.cxx:1293
 AliTRDgeometry.cxx:1294
 AliTRDgeometry.cxx:1295
 AliTRDgeometry.cxx:1296
 AliTRDgeometry.cxx:1297
 AliTRDgeometry.cxx:1298
 AliTRDgeometry.cxx:1299
 AliTRDgeometry.cxx:1300
 AliTRDgeometry.cxx:1301
 AliTRDgeometry.cxx:1302
 AliTRDgeometry.cxx:1303
 AliTRDgeometry.cxx:1304
 AliTRDgeometry.cxx:1305
 AliTRDgeometry.cxx:1306
 AliTRDgeometry.cxx:1307
 AliTRDgeometry.cxx:1308
 AliTRDgeometry.cxx:1309
 AliTRDgeometry.cxx:1310
 AliTRDgeometry.cxx:1311
 AliTRDgeometry.cxx:1312
 AliTRDgeometry.cxx:1313
 AliTRDgeometry.cxx:1314
 AliTRDgeometry.cxx:1315
 AliTRDgeometry.cxx:1316
 AliTRDgeometry.cxx:1317
 AliTRDgeometry.cxx:1318
 AliTRDgeometry.cxx:1319
 AliTRDgeometry.cxx:1320
 AliTRDgeometry.cxx:1321
 AliTRDgeometry.cxx:1322
 AliTRDgeometry.cxx:1323
 AliTRDgeometry.cxx:1324
 AliTRDgeometry.cxx:1325
 AliTRDgeometry.cxx:1326
 AliTRDgeometry.cxx:1327
 AliTRDgeometry.cxx:1328
 AliTRDgeometry.cxx:1329
 AliTRDgeometry.cxx:1330
 AliTRDgeometry.cxx:1331
 AliTRDgeometry.cxx:1332
 AliTRDgeometry.cxx:1333
 AliTRDgeometry.cxx:1334
 AliTRDgeometry.cxx:1335
 AliTRDgeometry.cxx:1336
 AliTRDgeometry.cxx:1337
 AliTRDgeometry.cxx:1338
 AliTRDgeometry.cxx:1339
 AliTRDgeometry.cxx:1340
 AliTRDgeometry.cxx:1341
 AliTRDgeometry.cxx:1342
 AliTRDgeometry.cxx:1343
 AliTRDgeometry.cxx:1344
 AliTRDgeometry.cxx:1345
 AliTRDgeometry.cxx:1346
 AliTRDgeometry.cxx:1347
 AliTRDgeometry.cxx:1348
 AliTRDgeometry.cxx:1349
 AliTRDgeometry.cxx:1350
 AliTRDgeometry.cxx:1351
 AliTRDgeometry.cxx:1352
 AliTRDgeometry.cxx:1353
 AliTRDgeometry.cxx:1354
 AliTRDgeometry.cxx:1355
 AliTRDgeometry.cxx:1356
 AliTRDgeometry.cxx:1357
 AliTRDgeometry.cxx:1358
 AliTRDgeometry.cxx:1359
 AliTRDgeometry.cxx:1360
 AliTRDgeometry.cxx:1361
 AliTRDgeometry.cxx:1362
 AliTRDgeometry.cxx:1363
 AliTRDgeometry.cxx:1364
 AliTRDgeometry.cxx:1365
 AliTRDgeometry.cxx:1366
 AliTRDgeometry.cxx:1367
 AliTRDgeometry.cxx:1368
 AliTRDgeometry.cxx:1369
 AliTRDgeometry.cxx:1370
 AliTRDgeometry.cxx:1371
 AliTRDgeometry.cxx:1372
 AliTRDgeometry.cxx:1373
 AliTRDgeometry.cxx:1374
 AliTRDgeometry.cxx:1375
 AliTRDgeometry.cxx:1376
 AliTRDgeometry.cxx:1377
 AliTRDgeometry.cxx:1378
 AliTRDgeometry.cxx:1379
 AliTRDgeometry.cxx:1380
 AliTRDgeometry.cxx:1381
 AliTRDgeometry.cxx:1382
 AliTRDgeometry.cxx:1383
 AliTRDgeometry.cxx:1384
 AliTRDgeometry.cxx:1385
 AliTRDgeometry.cxx:1386
 AliTRDgeometry.cxx:1387
 AliTRDgeometry.cxx:1388
 AliTRDgeometry.cxx:1389
 AliTRDgeometry.cxx:1390
 AliTRDgeometry.cxx:1391
 AliTRDgeometry.cxx:1392
 AliTRDgeometry.cxx:1393
 AliTRDgeometry.cxx:1394
 AliTRDgeometry.cxx:1395
 AliTRDgeometry.cxx:1396
 AliTRDgeometry.cxx:1397
 AliTRDgeometry.cxx:1398
 AliTRDgeometry.cxx:1399
 AliTRDgeometry.cxx:1400
 AliTRDgeometry.cxx:1401
 AliTRDgeometry.cxx:1402
 AliTRDgeometry.cxx:1403
 AliTRDgeometry.cxx:1404
 AliTRDgeometry.cxx:1405
 AliTRDgeometry.cxx:1406
 AliTRDgeometry.cxx:1407
 AliTRDgeometry.cxx:1408
 AliTRDgeometry.cxx:1409
 AliTRDgeometry.cxx:1410
 AliTRDgeometry.cxx:1411
 AliTRDgeometry.cxx:1412
 AliTRDgeometry.cxx:1413
 AliTRDgeometry.cxx:1414
 AliTRDgeometry.cxx:1415
 AliTRDgeometry.cxx:1416
 AliTRDgeometry.cxx:1417
 AliTRDgeometry.cxx:1418
 AliTRDgeometry.cxx:1419
 AliTRDgeometry.cxx:1420
 AliTRDgeometry.cxx:1421
 AliTRDgeometry.cxx:1422
 AliTRDgeometry.cxx:1423
 AliTRDgeometry.cxx:1424
 AliTRDgeometry.cxx:1425
 AliTRDgeometry.cxx:1426
 AliTRDgeometry.cxx:1427
 AliTRDgeometry.cxx:1428
 AliTRDgeometry.cxx:1429
 AliTRDgeometry.cxx:1430
 AliTRDgeometry.cxx:1431
 AliTRDgeometry.cxx:1432
 AliTRDgeometry.cxx:1433
 AliTRDgeometry.cxx:1434
 AliTRDgeometry.cxx:1435
 AliTRDgeometry.cxx:1436
 AliTRDgeometry.cxx:1437
 AliTRDgeometry.cxx:1438
 AliTRDgeometry.cxx:1439
 AliTRDgeometry.cxx:1440
 AliTRDgeometry.cxx:1441
 AliTRDgeometry.cxx:1442
 AliTRDgeometry.cxx:1443
 AliTRDgeometry.cxx:1444
 AliTRDgeometry.cxx:1445
 AliTRDgeometry.cxx:1446
 AliTRDgeometry.cxx:1447
 AliTRDgeometry.cxx:1448
 AliTRDgeometry.cxx:1449
 AliTRDgeometry.cxx:1450
 AliTRDgeometry.cxx:1451
 AliTRDgeometry.cxx:1452
 AliTRDgeometry.cxx:1453
 AliTRDgeometry.cxx:1454
 AliTRDgeometry.cxx:1455
 AliTRDgeometry.cxx:1456
 AliTRDgeometry.cxx:1457
 AliTRDgeometry.cxx:1458
 AliTRDgeometry.cxx:1459
 AliTRDgeometry.cxx:1460
 AliTRDgeometry.cxx:1461
 AliTRDgeometry.cxx:1462
 AliTRDgeometry.cxx:1463
 AliTRDgeometry.cxx:1464
 AliTRDgeometry.cxx:1465
 AliTRDgeometry.cxx:1466
 AliTRDgeometry.cxx:1467
 AliTRDgeometry.cxx:1468
 AliTRDgeometry.cxx:1469
 AliTRDgeometry.cxx:1470
 AliTRDgeometry.cxx:1471
 AliTRDgeometry.cxx:1472
 AliTRDgeometry.cxx:1473
 AliTRDgeometry.cxx:1474
 AliTRDgeometry.cxx:1475
 AliTRDgeometry.cxx:1476
 AliTRDgeometry.cxx:1477
 AliTRDgeometry.cxx:1478
 AliTRDgeometry.cxx:1479
 AliTRDgeometry.cxx:1480
 AliTRDgeometry.cxx:1481
 AliTRDgeometry.cxx:1482
 AliTRDgeometry.cxx:1483
 AliTRDgeometry.cxx:1484
 AliTRDgeometry.cxx:1485
 AliTRDgeometry.cxx:1486
 AliTRDgeometry.cxx:1487
 AliTRDgeometry.cxx:1488
 AliTRDgeometry.cxx:1489
 AliTRDgeometry.cxx:1490
 AliTRDgeometry.cxx:1491
 AliTRDgeometry.cxx:1492
 AliTRDgeometry.cxx:1493
 AliTRDgeometry.cxx:1494
 AliTRDgeometry.cxx:1495
 AliTRDgeometry.cxx:1496
 AliTRDgeometry.cxx:1497
 AliTRDgeometry.cxx:1498
 AliTRDgeometry.cxx:1499
 AliTRDgeometry.cxx:1500
 AliTRDgeometry.cxx:1501
 AliTRDgeometry.cxx:1502
 AliTRDgeometry.cxx:1503
 AliTRDgeometry.cxx:1504
 AliTRDgeometry.cxx:1505
 AliTRDgeometry.cxx:1506
 AliTRDgeometry.cxx:1507
 AliTRDgeometry.cxx:1508
 AliTRDgeometry.cxx:1509
 AliTRDgeometry.cxx:1510
 AliTRDgeometry.cxx:1511
 AliTRDgeometry.cxx:1512
 AliTRDgeometry.cxx:1513
 AliTRDgeometry.cxx:1514
 AliTRDgeometry.cxx:1515
 AliTRDgeometry.cxx:1516
 AliTRDgeometry.cxx:1517
 AliTRDgeometry.cxx:1518
 AliTRDgeometry.cxx:1519
 AliTRDgeometry.cxx:1520
 AliTRDgeometry.cxx:1521
 AliTRDgeometry.cxx:1522
 AliTRDgeometry.cxx:1523
 AliTRDgeometry.cxx:1524
 AliTRDgeometry.cxx:1525
 AliTRDgeometry.cxx:1526
 AliTRDgeometry.cxx:1527
 AliTRDgeometry.cxx:1528
 AliTRDgeometry.cxx:1529
 AliTRDgeometry.cxx:1530
 AliTRDgeometry.cxx:1531
 AliTRDgeometry.cxx:1532
 AliTRDgeometry.cxx:1533
 AliTRDgeometry.cxx:1534
 AliTRDgeometry.cxx:1535
 AliTRDgeometry.cxx:1536
 AliTRDgeometry.cxx:1537
 AliTRDgeometry.cxx:1538
 AliTRDgeometry.cxx:1539
 AliTRDgeometry.cxx:1540
 AliTRDgeometry.cxx:1541
 AliTRDgeometry.cxx:1542
 AliTRDgeometry.cxx:1543
 AliTRDgeometry.cxx:1544
 AliTRDgeometry.cxx:1545
 AliTRDgeometry.cxx:1546
 AliTRDgeometry.cxx:1547
 AliTRDgeometry.cxx:1548
 AliTRDgeometry.cxx:1549
 AliTRDgeometry.cxx:1550
 AliTRDgeometry.cxx:1551
 AliTRDgeometry.cxx:1552
 AliTRDgeometry.cxx:1553
 AliTRDgeometry.cxx:1554
 AliTRDgeometry.cxx:1555
 AliTRDgeometry.cxx:1556
 AliTRDgeometry.cxx:1557
 AliTRDgeometry.cxx:1558
 AliTRDgeometry.cxx:1559
 AliTRDgeometry.cxx:1560
 AliTRDgeometry.cxx:1561
 AliTRDgeometry.cxx:1562
 AliTRDgeometry.cxx:1563
 AliTRDgeometry.cxx:1564
 AliTRDgeometry.cxx:1565
 AliTRDgeometry.cxx:1566
 AliTRDgeometry.cxx:1567
 AliTRDgeometry.cxx:1568
 AliTRDgeometry.cxx:1569
 AliTRDgeometry.cxx:1570
 AliTRDgeometry.cxx:1571
 AliTRDgeometry.cxx:1572
 AliTRDgeometry.cxx:1573
 AliTRDgeometry.cxx:1574
 AliTRDgeometry.cxx:1575
 AliTRDgeometry.cxx:1576
 AliTRDgeometry.cxx:1577
 AliTRDgeometry.cxx:1578
 AliTRDgeometry.cxx:1579
 AliTRDgeometry.cxx:1580
 AliTRDgeometry.cxx:1581
 AliTRDgeometry.cxx:1582
 AliTRDgeometry.cxx:1583
 AliTRDgeometry.cxx:1584
 AliTRDgeometry.cxx:1585
 AliTRDgeometry.cxx:1586
 AliTRDgeometry.cxx:1587
 AliTRDgeometry.cxx:1588
 AliTRDgeometry.cxx:1589
 AliTRDgeometry.cxx:1590
 AliTRDgeometry.cxx:1591
 AliTRDgeometry.cxx:1592
 AliTRDgeometry.cxx:1593
 AliTRDgeometry.cxx:1594
 AliTRDgeometry.cxx:1595
 AliTRDgeometry.cxx:1596
 AliTRDgeometry.cxx:1597
 AliTRDgeometry.cxx:1598
 AliTRDgeometry.cxx:1599
 AliTRDgeometry.cxx:1600
 AliTRDgeometry.cxx:1601
 AliTRDgeometry.cxx:1602
 AliTRDgeometry.cxx:1603
 AliTRDgeometry.cxx:1604
 AliTRDgeometry.cxx:1605
 AliTRDgeometry.cxx:1606
 AliTRDgeometry.cxx:1607
 AliTRDgeometry.cxx:1608
 AliTRDgeometry.cxx:1609
 AliTRDgeometry.cxx:1610
 AliTRDgeometry.cxx:1611
 AliTRDgeometry.cxx:1612
 AliTRDgeometry.cxx:1613
 AliTRDgeometry.cxx:1614
 AliTRDgeometry.cxx:1615
 AliTRDgeometry.cxx:1616
 AliTRDgeometry.cxx:1617
 AliTRDgeometry.cxx:1618
 AliTRDgeometry.cxx:1619
 AliTRDgeometry.cxx:1620
 AliTRDgeometry.cxx:1621
 AliTRDgeometry.cxx:1622
 AliTRDgeometry.cxx:1623
 AliTRDgeometry.cxx:1624
 AliTRDgeometry.cxx:1625
 AliTRDgeometry.cxx:1626
 AliTRDgeometry.cxx:1627
 AliTRDgeometry.cxx:1628
 AliTRDgeometry.cxx:1629
 AliTRDgeometry.cxx:1630
 AliTRDgeometry.cxx:1631
 AliTRDgeometry.cxx:1632
 AliTRDgeometry.cxx:1633
 AliTRDgeometry.cxx:1634
 AliTRDgeometry.cxx:1635
 AliTRDgeometry.cxx:1636
 AliTRDgeometry.cxx:1637
 AliTRDgeometry.cxx:1638
 AliTRDgeometry.cxx:1639
 AliTRDgeometry.cxx:1640
 AliTRDgeometry.cxx:1641
 AliTRDgeometry.cxx:1642
 AliTRDgeometry.cxx:1643
 AliTRDgeometry.cxx:1644
 AliTRDgeometry.cxx:1645
 AliTRDgeometry.cxx:1646
 AliTRDgeometry.cxx:1647
 AliTRDgeometry.cxx:1648
 AliTRDgeometry.cxx:1649
 AliTRDgeometry.cxx:1650
 AliTRDgeometry.cxx:1651
 AliTRDgeometry.cxx:1652
 AliTRDgeometry.cxx:1653
 AliTRDgeometry.cxx:1654
 AliTRDgeometry.cxx:1655
 AliTRDgeometry.cxx:1656
 AliTRDgeometry.cxx:1657
 AliTRDgeometry.cxx:1658
 AliTRDgeometry.cxx:1659
 AliTRDgeometry.cxx:1660
 AliTRDgeometry.cxx:1661
 AliTRDgeometry.cxx:1662
 AliTRDgeometry.cxx:1663
 AliTRDgeometry.cxx:1664
 AliTRDgeometry.cxx:1665
 AliTRDgeometry.cxx:1666
 AliTRDgeometry.cxx:1667
 AliTRDgeometry.cxx:1668
 AliTRDgeometry.cxx:1669
 AliTRDgeometry.cxx:1670
 AliTRDgeometry.cxx:1671
 AliTRDgeometry.cxx:1672
 AliTRDgeometry.cxx:1673
 AliTRDgeometry.cxx:1674
 AliTRDgeometry.cxx:1675
 AliTRDgeometry.cxx:1676
 AliTRDgeometry.cxx:1677
 AliTRDgeometry.cxx:1678
 AliTRDgeometry.cxx:1679
 AliTRDgeometry.cxx:1680
 AliTRDgeometry.cxx:1681
 AliTRDgeometry.cxx:1682
 AliTRDgeometry.cxx:1683
 AliTRDgeometry.cxx:1684
 AliTRDgeometry.cxx:1685
 AliTRDgeometry.cxx:1686
 AliTRDgeometry.cxx:1687
 AliTRDgeometry.cxx:1688
 AliTRDgeometry.cxx:1689
 AliTRDgeometry.cxx:1690
 AliTRDgeometry.cxx:1691
 AliTRDgeometry.cxx:1692
 AliTRDgeometry.cxx:1693
 AliTRDgeometry.cxx:1694
 AliTRDgeometry.cxx:1695
 AliTRDgeometry.cxx:1696
 AliTRDgeometry.cxx:1697
 AliTRDgeometry.cxx:1698
 AliTRDgeometry.cxx:1699
 AliTRDgeometry.cxx:1700
 AliTRDgeometry.cxx:1701
 AliTRDgeometry.cxx:1702
 AliTRDgeometry.cxx:1703
 AliTRDgeometry.cxx:1704
 AliTRDgeometry.cxx:1705
 AliTRDgeometry.cxx:1706
 AliTRDgeometry.cxx:1707
 AliTRDgeometry.cxx:1708
 AliTRDgeometry.cxx:1709
 AliTRDgeometry.cxx:1710
 AliTRDgeometry.cxx:1711
 AliTRDgeometry.cxx:1712
 AliTRDgeometry.cxx:1713
 AliTRDgeometry.cxx:1714
 AliTRDgeometry.cxx:1715
 AliTRDgeometry.cxx:1716
 AliTRDgeometry.cxx:1717
 AliTRDgeometry.cxx:1718
 AliTRDgeometry.cxx:1719
 AliTRDgeometry.cxx:1720
 AliTRDgeometry.cxx:1721
 AliTRDgeometry.cxx:1722
 AliTRDgeometry.cxx:1723
 AliTRDgeometry.cxx:1724
 AliTRDgeometry.cxx:1725
 AliTRDgeometry.cxx:1726
 AliTRDgeometry.cxx:1727
 AliTRDgeometry.cxx:1728
 AliTRDgeometry.cxx:1729
 AliTRDgeometry.cxx:1730
 AliTRDgeometry.cxx:1731
 AliTRDgeometry.cxx:1732
 AliTRDgeometry.cxx:1733
 AliTRDgeometry.cxx:1734
 AliTRDgeometry.cxx:1735
 AliTRDgeometry.cxx:1736
 AliTRDgeometry.cxx:1737
 AliTRDgeometry.cxx:1738
 AliTRDgeometry.cxx:1739
 AliTRDgeometry.cxx:1740
 AliTRDgeometry.cxx:1741
 AliTRDgeometry.cxx:1742
 AliTRDgeometry.cxx:1743
 AliTRDgeometry.cxx:1744
 AliTRDgeometry.cxx:1745
 AliTRDgeometry.cxx:1746
 AliTRDgeometry.cxx:1747
 AliTRDgeometry.cxx:1748
 AliTRDgeometry.cxx:1749
 AliTRDgeometry.cxx:1750
 AliTRDgeometry.cxx:1751
 AliTRDgeometry.cxx:1752
 AliTRDgeometry.cxx:1753
 AliTRDgeometry.cxx:1754
 AliTRDgeometry.cxx:1755
 AliTRDgeometry.cxx:1756
 AliTRDgeometry.cxx:1757
 AliTRDgeometry.cxx:1758
 AliTRDgeometry.cxx:1759
 AliTRDgeometry.cxx:1760
 AliTRDgeometry.cxx:1761
 AliTRDgeometry.cxx:1762
 AliTRDgeometry.cxx:1763
 AliTRDgeometry.cxx:1764
 AliTRDgeometry.cxx:1765
 AliTRDgeometry.cxx:1766
 AliTRDgeometry.cxx:1767
 AliTRDgeometry.cxx:1768
 AliTRDgeometry.cxx:1769
 AliTRDgeometry.cxx:1770
 AliTRDgeometry.cxx:1771
 AliTRDgeometry.cxx:1772
 AliTRDgeometry.cxx:1773
 AliTRDgeometry.cxx:1774
 AliTRDgeometry.cxx:1775
 AliTRDgeometry.cxx:1776
 AliTRDgeometry.cxx:1777
 AliTRDgeometry.cxx:1778
 AliTRDgeometry.cxx:1779
 AliTRDgeometry.cxx:1780
 AliTRDgeometry.cxx:1781
 AliTRDgeometry.cxx:1782
 AliTRDgeometry.cxx:1783
 AliTRDgeometry.cxx:1784
 AliTRDgeometry.cxx:1785
 AliTRDgeometry.cxx:1786
 AliTRDgeometry.cxx:1787
 AliTRDgeometry.cxx:1788
 AliTRDgeometry.cxx:1789
 AliTRDgeometry.cxx:1790
 AliTRDgeometry.cxx:1791
 AliTRDgeometry.cxx:1792
 AliTRDgeometry.cxx:1793
 AliTRDgeometry.cxx:1794
 AliTRDgeometry.cxx:1795
 AliTRDgeometry.cxx:1796
 AliTRDgeometry.cxx:1797
 AliTRDgeometry.cxx:1798
 AliTRDgeometry.cxx:1799
 AliTRDgeometry.cxx:1800
 AliTRDgeometry.cxx:1801
 AliTRDgeometry.cxx:1802
 AliTRDgeometry.cxx:1803
 AliTRDgeometry.cxx:1804
 AliTRDgeometry.cxx:1805
 AliTRDgeometry.cxx:1806
 AliTRDgeometry.cxx:1807
 AliTRDgeometry.cxx:1808
 AliTRDgeometry.cxx:1809
 AliTRDgeometry.cxx:1810
 AliTRDgeometry.cxx:1811
 AliTRDgeometry.cxx:1812
 AliTRDgeometry.cxx:1813
 AliTRDgeometry.cxx:1814
 AliTRDgeometry.cxx:1815
 AliTRDgeometry.cxx:1816
 AliTRDgeometry.cxx:1817
 AliTRDgeometry.cxx:1818
 AliTRDgeometry.cxx:1819
 AliTRDgeometry.cxx:1820
 AliTRDgeometry.cxx:1821
 AliTRDgeometry.cxx:1822
 AliTRDgeometry.cxx:1823
 AliTRDgeometry.cxx:1824
 AliTRDgeometry.cxx:1825
 AliTRDgeometry.cxx:1826
 AliTRDgeometry.cxx:1827
 AliTRDgeometry.cxx:1828
 AliTRDgeometry.cxx:1829
 AliTRDgeometry.cxx:1830
 AliTRDgeometry.cxx:1831
 AliTRDgeometry.cxx:1832
 AliTRDgeometry.cxx:1833
 AliTRDgeometry.cxx:1834
 AliTRDgeometry.cxx:1835
 AliTRDgeometry.cxx:1836
 AliTRDgeometry.cxx:1837
 AliTRDgeometry.cxx:1838
 AliTRDgeometry.cxx:1839
 AliTRDgeometry.cxx:1840
 AliTRDgeometry.cxx:1841
 AliTRDgeometry.cxx:1842
 AliTRDgeometry.cxx:1843
 AliTRDgeometry.cxx:1844
 AliTRDgeometry.cxx:1845
 AliTRDgeometry.cxx:1846
 AliTRDgeometry.cxx:1847
 AliTRDgeometry.cxx:1848
 AliTRDgeometry.cxx:1849
 AliTRDgeometry.cxx:1850
 AliTRDgeometry.cxx:1851
 AliTRDgeometry.cxx:1852
 AliTRDgeometry.cxx:1853
 AliTRDgeometry.cxx:1854
 AliTRDgeometry.cxx:1855
 AliTRDgeometry.cxx:1856
 AliTRDgeometry.cxx:1857
 AliTRDgeometry.cxx:1858
 AliTRDgeometry.cxx:1859
 AliTRDgeometry.cxx:1860
 AliTRDgeometry.cxx:1861
 AliTRDgeometry.cxx:1862
 AliTRDgeometry.cxx:1863
 AliTRDgeometry.cxx:1864
 AliTRDgeometry.cxx:1865
 AliTRDgeometry.cxx:1866
 AliTRDgeometry.cxx:1867
 AliTRDgeometry.cxx:1868
 AliTRDgeometry.cxx:1869
 AliTRDgeometry.cxx:1870
 AliTRDgeometry.cxx:1871
 AliTRDgeometry.cxx:1872
 AliTRDgeometry.cxx:1873
 AliTRDgeometry.cxx:1874
 AliTRDgeometry.cxx:1875
 AliTRDgeometry.cxx:1876
 AliTRDgeometry.cxx:1877
 AliTRDgeometry.cxx:1878
 AliTRDgeometry.cxx:1879
 AliTRDgeometry.cxx:1880
 AliTRDgeometry.cxx:1881
 AliTRDgeometry.cxx:1882
 AliTRDgeometry.cxx:1883
 AliTRDgeometry.cxx:1884
 AliTRDgeometry.cxx:1885
 AliTRDgeometry.cxx:1886
 AliTRDgeometry.cxx:1887
 AliTRDgeometry.cxx:1888
 AliTRDgeometry.cxx:1889
 AliTRDgeometry.cxx:1890
 AliTRDgeometry.cxx:1891
 AliTRDgeometry.cxx:1892
 AliTRDgeometry.cxx:1893
 AliTRDgeometry.cxx:1894
 AliTRDgeometry.cxx:1895
 AliTRDgeometry.cxx:1896
 AliTRDgeometry.cxx:1897
 AliTRDgeometry.cxx:1898
 AliTRDgeometry.cxx:1899
 AliTRDgeometry.cxx:1900
 AliTRDgeometry.cxx:1901
 AliTRDgeometry.cxx:1902
 AliTRDgeometry.cxx:1903
 AliTRDgeometry.cxx:1904
 AliTRDgeometry.cxx:1905
 AliTRDgeometry.cxx:1906
 AliTRDgeometry.cxx:1907
 AliTRDgeometry.cxx:1908
 AliTRDgeometry.cxx:1909
 AliTRDgeometry.cxx:1910
 AliTRDgeometry.cxx:1911
 AliTRDgeometry.cxx:1912
 AliTRDgeometry.cxx:1913
 AliTRDgeometry.cxx:1914
 AliTRDgeometry.cxx:1915
 AliTRDgeometry.cxx:1916
 AliTRDgeometry.cxx:1917
 AliTRDgeometry.cxx:1918
 AliTRDgeometry.cxx:1919
 AliTRDgeometry.cxx:1920
 AliTRDgeometry.cxx:1921
 AliTRDgeometry.cxx:1922
 AliTRDgeometry.cxx:1923
 AliTRDgeometry.cxx:1924
 AliTRDgeometry.cxx:1925
 AliTRDgeometry.cxx:1926
 AliTRDgeometry.cxx:1927
 AliTRDgeometry.cxx:1928
 AliTRDgeometry.cxx:1929
 AliTRDgeometry.cxx:1930
 AliTRDgeometry.cxx:1931
 AliTRDgeometry.cxx:1932
 AliTRDgeometry.cxx:1933
 AliTRDgeometry.cxx:1934
 AliTRDgeometry.cxx:1935
 AliTRDgeometry.cxx:1936
 AliTRDgeometry.cxx:1937
 AliTRDgeometry.cxx:1938
 AliTRDgeometry.cxx:1939
 AliTRDgeometry.cxx:1940
 AliTRDgeometry.cxx:1941
 AliTRDgeometry.cxx:1942
 AliTRDgeometry.cxx:1943
 AliTRDgeometry.cxx:1944
 AliTRDgeometry.cxx:1945
 AliTRDgeometry.cxx:1946
 AliTRDgeometry.cxx:1947
 AliTRDgeometry.cxx:1948
 AliTRDgeometry.cxx:1949
 AliTRDgeometry.cxx:1950
 AliTRDgeometry.cxx:1951
 AliTRDgeometry.cxx:1952
 AliTRDgeometry.cxx:1953
 AliTRDgeometry.cxx:1954
 AliTRDgeometry.cxx:1955
 AliTRDgeometry.cxx:1956
 AliTRDgeometry.cxx:1957
 AliTRDgeometry.cxx:1958
 AliTRDgeometry.cxx:1959
 AliTRDgeometry.cxx:1960
 AliTRDgeometry.cxx:1961
 AliTRDgeometry.cxx:1962
 AliTRDgeometry.cxx:1963
 AliTRDgeometry.cxx:1964
 AliTRDgeometry.cxx:1965
 AliTRDgeometry.cxx:1966
 AliTRDgeometry.cxx:1967
 AliTRDgeometry.cxx:1968
 AliTRDgeometry.cxx:1969
 AliTRDgeometry.cxx:1970
 AliTRDgeometry.cxx:1971
 AliTRDgeometry.cxx:1972
 AliTRDgeometry.cxx:1973
 AliTRDgeometry.cxx:1974
 AliTRDgeometry.cxx:1975
 AliTRDgeometry.cxx:1976
 AliTRDgeometry.cxx:1977
 AliTRDgeometry.cxx:1978
 AliTRDgeometry.cxx:1979
 AliTRDgeometry.cxx:1980
 AliTRDgeometry.cxx:1981
 AliTRDgeometry.cxx:1982
 AliTRDgeometry.cxx:1983
 AliTRDgeometry.cxx:1984
 AliTRDgeometry.cxx:1985
 AliTRDgeometry.cxx:1986
 AliTRDgeometry.cxx:1987
 AliTRDgeometry.cxx:1988
 AliTRDgeometry.cxx:1989
 AliTRDgeometry.cxx:1990
 AliTRDgeometry.cxx:1991
 AliTRDgeometry.cxx:1992
 AliTRDgeometry.cxx:1993
 AliTRDgeometry.cxx:1994
 AliTRDgeometry.cxx:1995
 AliTRDgeometry.cxx:1996
 AliTRDgeometry.cxx:1997
 AliTRDgeometry.cxx:1998
 AliTRDgeometry.cxx:1999
 AliTRDgeometry.cxx:2000
 AliTRDgeometry.cxx:2001
 AliTRDgeometry.cxx:2002
 AliTRDgeometry.cxx:2003
 AliTRDgeometry.cxx:2004
 AliTRDgeometry.cxx:2005
 AliTRDgeometry.cxx:2006
 AliTRDgeometry.cxx:2007
 AliTRDgeometry.cxx:2008
 AliTRDgeometry.cxx:2009
 AliTRDgeometry.cxx:2010
 AliTRDgeometry.cxx:2011
 AliTRDgeometry.cxx:2012
 AliTRDgeometry.cxx:2013
 AliTRDgeometry.cxx:2014
 AliTRDgeometry.cxx:2015
 AliTRDgeometry.cxx:2016
 AliTRDgeometry.cxx:2017
 AliTRDgeometry.cxx:2018
 AliTRDgeometry.cxx:2019
 AliTRDgeometry.cxx:2020
 AliTRDgeometry.cxx:2021
 AliTRDgeometry.cxx:2022
 AliTRDgeometry.cxx:2023
 AliTRDgeometry.cxx:2024
 AliTRDgeometry.cxx:2025
 AliTRDgeometry.cxx:2026
 AliTRDgeometry.cxx:2027
 AliTRDgeometry.cxx:2028
 AliTRDgeometry.cxx:2029
 AliTRDgeometry.cxx:2030
 AliTRDgeometry.cxx:2031
 AliTRDgeometry.cxx:2032
 AliTRDgeometry.cxx:2033
 AliTRDgeometry.cxx:2034
 AliTRDgeometry.cxx:2035
 AliTRDgeometry.cxx:2036
 AliTRDgeometry.cxx:2037
 AliTRDgeometry.cxx:2038
 AliTRDgeometry.cxx:2039
 AliTRDgeometry.cxx:2040
 AliTRDgeometry.cxx:2041
 AliTRDgeometry.cxx:2042
 AliTRDgeometry.cxx:2043
 AliTRDgeometry.cxx:2044
 AliTRDgeometry.cxx:2045
 AliTRDgeometry.cxx:2046
 AliTRDgeometry.cxx:2047
 AliTRDgeometry.cxx:2048
 AliTRDgeometry.cxx:2049
 AliTRDgeometry.cxx:2050
 AliTRDgeometry.cxx:2051
 AliTRDgeometry.cxx:2052
 AliTRDgeometry.cxx:2053
 AliTRDgeometry.cxx:2054
 AliTRDgeometry.cxx:2055
 AliTRDgeometry.cxx:2056
 AliTRDgeometry.cxx:2057
 AliTRDgeometry.cxx:2058
 AliTRDgeometry.cxx:2059
 AliTRDgeometry.cxx:2060
 AliTRDgeometry.cxx:2061
 AliTRDgeometry.cxx:2062
 AliTRDgeometry.cxx:2063
 AliTRDgeometry.cxx:2064
 AliTRDgeometry.cxx:2065
 AliTRDgeometry.cxx:2066
 AliTRDgeometry.cxx:2067
 AliTRDgeometry.cxx:2068
 AliTRDgeometry.cxx:2069
 AliTRDgeometry.cxx:2070
 AliTRDgeometry.cxx:2071
 AliTRDgeometry.cxx:2072
 AliTRDgeometry.cxx:2073
 AliTRDgeometry.cxx:2074
 AliTRDgeometry.cxx:2075
 AliTRDgeometry.cxx:2076
 AliTRDgeometry.cxx:2077
 AliTRDgeometry.cxx:2078
 AliTRDgeometry.cxx:2079
 AliTRDgeometry.cxx:2080
 AliTRDgeometry.cxx:2081
 AliTRDgeometry.cxx:2082
 AliTRDgeometry.cxx:2083
 AliTRDgeometry.cxx:2084
 AliTRDgeometry.cxx:2085
 AliTRDgeometry.cxx:2086
 AliTRDgeometry.cxx:2087
 AliTRDgeometry.cxx:2088
 AliTRDgeometry.cxx:2089
 AliTRDgeometry.cxx:2090
 AliTRDgeometry.cxx:2091
 AliTRDgeometry.cxx:2092
 AliTRDgeometry.cxx:2093
 AliTRDgeometry.cxx:2094
 AliTRDgeometry.cxx:2095
 AliTRDgeometry.cxx:2096
 AliTRDgeometry.cxx:2097
 AliTRDgeometry.cxx:2098
 AliTRDgeometry.cxx:2099
 AliTRDgeometry.cxx:2100
 AliTRDgeometry.cxx:2101
 AliTRDgeometry.cxx:2102
 AliTRDgeometry.cxx:2103
 AliTRDgeometry.cxx:2104
 AliTRDgeometry.cxx:2105
 AliTRDgeometry.cxx:2106
 AliTRDgeometry.cxx:2107
 AliTRDgeometry.cxx:2108
 AliTRDgeometry.cxx:2109
 AliTRDgeometry.cxx:2110
 AliTRDgeometry.cxx:2111
 AliTRDgeometry.cxx:2112
 AliTRDgeometry.cxx:2113
 AliTRDgeometry.cxx:2114
 AliTRDgeometry.cxx:2115
 AliTRDgeometry.cxx:2116
 AliTRDgeometry.cxx:2117
 AliTRDgeometry.cxx:2118
 AliTRDgeometry.cxx:2119
 AliTRDgeometry.cxx:2120
 AliTRDgeometry.cxx:2121
 AliTRDgeometry.cxx:2122
 AliTRDgeometry.cxx:2123
 AliTRDgeometry.cxx:2124
 AliTRDgeometry.cxx:2125
 AliTRDgeometry.cxx:2126
 AliTRDgeometry.cxx:2127
 AliTRDgeometry.cxx:2128
 AliTRDgeometry.cxx:2129
 AliTRDgeometry.cxx:2130
 AliTRDgeometry.cxx:2131
 AliTRDgeometry.cxx:2132
 AliTRDgeometry.cxx:2133
 AliTRDgeometry.cxx:2134
 AliTRDgeometry.cxx:2135
 AliTRDgeometry.cxx:2136
 AliTRDgeometry.cxx:2137
 AliTRDgeometry.cxx:2138
 AliTRDgeometry.cxx:2139
 AliTRDgeometry.cxx:2140
 AliTRDgeometry.cxx:2141
 AliTRDgeometry.cxx:2142
 AliTRDgeometry.cxx:2143
 AliTRDgeometry.cxx:2144
 AliTRDgeometry.cxx:2145
 AliTRDgeometry.cxx:2146
 AliTRDgeometry.cxx:2147
 AliTRDgeometry.cxx:2148
 AliTRDgeometry.cxx:2149
 AliTRDgeometry.cxx:2150
 AliTRDgeometry.cxx:2151
 AliTRDgeometry.cxx:2152
 AliTRDgeometry.cxx:2153
 AliTRDgeometry.cxx:2154
 AliTRDgeometry.cxx:2155
 AliTRDgeometry.cxx:2156
 AliTRDgeometry.cxx:2157
 AliTRDgeometry.cxx:2158
 AliTRDgeometry.cxx:2159
 AliTRDgeometry.cxx:2160
 AliTRDgeometry.cxx:2161
 AliTRDgeometry.cxx:2162
 AliTRDgeometry.cxx:2163
 AliTRDgeometry.cxx:2164
 AliTRDgeometry.cxx:2165
 AliTRDgeometry.cxx:2166
 AliTRDgeometry.cxx:2167
 AliTRDgeometry.cxx:2168
 AliTRDgeometry.cxx:2169
 AliTRDgeometry.cxx:2170
 AliTRDgeometry.cxx:2171
 AliTRDgeometry.cxx:2172
 AliTRDgeometry.cxx:2173
 AliTRDgeometry.cxx:2174
 AliTRDgeometry.cxx:2175
 AliTRDgeometry.cxx:2176
 AliTRDgeometry.cxx:2177
 AliTRDgeometry.cxx:2178
 AliTRDgeometry.cxx:2179
 AliTRDgeometry.cxx:2180
 AliTRDgeometry.cxx:2181
 AliTRDgeometry.cxx:2182
 AliTRDgeometry.cxx:2183
 AliTRDgeometry.cxx:2184
 AliTRDgeometry.cxx:2185
 AliTRDgeometry.cxx:2186
 AliTRDgeometry.cxx:2187
 AliTRDgeometry.cxx:2188
 AliTRDgeometry.cxx:2189
 AliTRDgeometry.cxx:2190
 AliTRDgeometry.cxx:2191
 AliTRDgeometry.cxx:2192
 AliTRDgeometry.cxx:2193
 AliTRDgeometry.cxx:2194
 AliTRDgeometry.cxx:2195
 AliTRDgeometry.cxx:2196
 AliTRDgeometry.cxx:2197
 AliTRDgeometry.cxx:2198
 AliTRDgeometry.cxx:2199
 AliTRDgeometry.cxx:2200
 AliTRDgeometry.cxx:2201
 AliTRDgeometry.cxx:2202
 AliTRDgeometry.cxx:2203
 AliTRDgeometry.cxx:2204
 AliTRDgeometry.cxx:2205
 AliTRDgeometry.cxx:2206
 AliTRDgeometry.cxx:2207
 AliTRDgeometry.cxx:2208
 AliTRDgeometry.cxx:2209
 AliTRDgeometry.cxx:2210
 AliTRDgeometry.cxx:2211
 AliTRDgeometry.cxx:2212
 AliTRDgeometry.cxx:2213
 AliTRDgeometry.cxx:2214
 AliTRDgeometry.cxx:2215
 AliTRDgeometry.cxx:2216
 AliTRDgeometry.cxx:2217
 AliTRDgeometry.cxx:2218
 AliTRDgeometry.cxx:2219
 AliTRDgeometry.cxx:2220
 AliTRDgeometry.cxx:2221
 AliTRDgeometry.cxx:2222
 AliTRDgeometry.cxx:2223
 AliTRDgeometry.cxx:2224
 AliTRDgeometry.cxx:2225
 AliTRDgeometry.cxx:2226
 AliTRDgeometry.cxx:2227
 AliTRDgeometry.cxx:2228
 AliTRDgeometry.cxx:2229
 AliTRDgeometry.cxx:2230
 AliTRDgeometry.cxx:2231
 AliTRDgeometry.cxx:2232
 AliTRDgeometry.cxx:2233
 AliTRDgeometry.cxx:2234
 AliTRDgeometry.cxx:2235
 AliTRDgeometry.cxx:2236
 AliTRDgeometry.cxx:2237
 AliTRDgeometry.cxx:2238
 AliTRDgeometry.cxx:2239
 AliTRDgeometry.cxx:2240
 AliTRDgeometry.cxx:2241
 AliTRDgeometry.cxx:2242
 AliTRDgeometry.cxx:2243
 AliTRDgeometry.cxx:2244
 AliTRDgeometry.cxx:2245
 AliTRDgeometry.cxx:2246
 AliTRDgeometry.cxx:2247
 AliTRDgeometry.cxx:2248
 AliTRDgeometry.cxx:2249
 AliTRDgeometry.cxx:2250
 AliTRDgeometry.cxx:2251
 AliTRDgeometry.cxx:2252
 AliTRDgeometry.cxx:2253
 AliTRDgeometry.cxx:2254
 AliTRDgeometry.cxx:2255
 AliTRDgeometry.cxx:2256
 AliTRDgeometry.cxx:2257
 AliTRDgeometry.cxx:2258
 AliTRDgeometry.cxx:2259
 AliTRDgeometry.cxx:2260
 AliTRDgeometry.cxx:2261
 AliTRDgeometry.cxx:2262
 AliTRDgeometry.cxx:2263
 AliTRDgeometry.cxx:2264
 AliTRDgeometry.cxx:2265
 AliTRDgeometry.cxx:2266
 AliTRDgeometry.cxx:2267
 AliTRDgeometry.cxx:2268
 AliTRDgeometry.cxx:2269
 AliTRDgeometry.cxx:2270
 AliTRDgeometry.cxx:2271
 AliTRDgeometry.cxx:2272
 AliTRDgeometry.cxx:2273
 AliTRDgeometry.cxx:2274
 AliTRDgeometry.cxx:2275
 AliTRDgeometry.cxx:2276
 AliTRDgeometry.cxx:2277
 AliTRDgeometry.cxx:2278
 AliTRDgeometry.cxx:2279
 AliTRDgeometry.cxx:2280
 AliTRDgeometry.cxx:2281
 AliTRDgeometry.cxx:2282
 AliTRDgeometry.cxx:2283
 AliTRDgeometry.cxx:2284
 AliTRDgeometry.cxx:2285
 AliTRDgeometry.cxx:2286
 AliTRDgeometry.cxx:2287
 AliTRDgeometry.cxx:2288
 AliTRDgeometry.cxx:2289
 AliTRDgeometry.cxx:2290
 AliTRDgeometry.cxx:2291
 AliTRDgeometry.cxx:2292
 AliTRDgeometry.cxx:2293
 AliTRDgeometry.cxx:2294
 AliTRDgeometry.cxx:2295
 AliTRDgeometry.cxx:2296
 AliTRDgeometry.cxx:2297
 AliTRDgeometry.cxx:2298
 AliTRDgeometry.cxx:2299
 AliTRDgeometry.cxx:2300
 AliTRDgeometry.cxx:2301
 AliTRDgeometry.cxx:2302
 AliTRDgeometry.cxx:2303
 AliTRDgeometry.cxx:2304
 AliTRDgeometry.cxx:2305
 AliTRDgeometry.cxx:2306
 AliTRDgeometry.cxx:2307
 AliTRDgeometry.cxx:2308
 AliTRDgeometry.cxx:2309
 AliTRDgeometry.cxx:2310
 AliTRDgeometry.cxx:2311
 AliTRDgeometry.cxx:2312
 AliTRDgeometry.cxx:2313
 AliTRDgeometry.cxx:2314
 AliTRDgeometry.cxx:2315
 AliTRDgeometry.cxx:2316
 AliTRDgeometry.cxx:2317
 AliTRDgeometry.cxx:2318
 AliTRDgeometry.cxx:2319
 AliTRDgeometry.cxx:2320
 AliTRDgeometry.cxx:2321
 AliTRDgeometry.cxx:2322
 AliTRDgeometry.cxx:2323
 AliTRDgeometry.cxx:2324
 AliTRDgeometry.cxx:2325
 AliTRDgeometry.cxx:2326
 AliTRDgeometry.cxx:2327
 AliTRDgeometry.cxx:2328
 AliTRDgeometry.cxx:2329
 AliTRDgeometry.cxx:2330
 AliTRDgeometry.cxx:2331
 AliTRDgeometry.cxx:2332
 AliTRDgeometry.cxx:2333
 AliTRDgeometry.cxx:2334
 AliTRDgeometry.cxx:2335
 AliTRDgeometry.cxx:2336
 AliTRDgeometry.cxx:2337
 AliTRDgeometry.cxx:2338
 AliTRDgeometry.cxx:2339
 AliTRDgeometry.cxx:2340
 AliTRDgeometry.cxx:2341
 AliTRDgeometry.cxx:2342
 AliTRDgeometry.cxx:2343
 AliTRDgeometry.cxx:2344
 AliTRDgeometry.cxx:2345
 AliTRDgeometry.cxx:2346
 AliTRDgeometry.cxx:2347
 AliTRDgeometry.cxx:2348
 AliTRDgeometry.cxx:2349
 AliTRDgeometry.cxx:2350
 AliTRDgeometry.cxx:2351
 AliTRDgeometry.cxx:2352
 AliTRDgeometry.cxx:2353
 AliTRDgeometry.cxx:2354
 AliTRDgeometry.cxx:2355
 AliTRDgeometry.cxx:2356
 AliTRDgeometry.cxx:2357
 AliTRDgeometry.cxx:2358
 AliTRDgeometry.cxx:2359
 AliTRDgeometry.cxx:2360
 AliTRDgeometry.cxx:2361
 AliTRDgeometry.cxx:2362
 AliTRDgeometry.cxx:2363
 AliTRDgeometry.cxx:2364
 AliTRDgeometry.cxx:2365
 AliTRDgeometry.cxx:2366
 AliTRDgeometry.cxx:2367
 AliTRDgeometry.cxx:2368
 AliTRDgeometry.cxx:2369
 AliTRDgeometry.cxx:2370
 AliTRDgeometry.cxx:2371
 AliTRDgeometry.cxx:2372
 AliTRDgeometry.cxx:2373
 AliTRDgeometry.cxx:2374
 AliTRDgeometry.cxx:2375
 AliTRDgeometry.cxx:2376
 AliTRDgeometry.cxx:2377
 AliTRDgeometry.cxx:2378
 AliTRDgeometry.cxx:2379
 AliTRDgeometry.cxx:2380
 AliTRDgeometry.cxx:2381
 AliTRDgeometry.cxx:2382
 AliTRDgeometry.cxx:2383
 AliTRDgeometry.cxx:2384
 AliTRDgeometry.cxx:2385
 AliTRDgeometry.cxx:2386
 AliTRDgeometry.cxx:2387
 AliTRDgeometry.cxx:2388
 AliTRDgeometry.cxx:2389
 AliTRDgeometry.cxx:2390
 AliTRDgeometry.cxx:2391
 AliTRDgeometry.cxx:2392
 AliTRDgeometry.cxx:2393
 AliTRDgeometry.cxx:2394
 AliTRDgeometry.cxx:2395
 AliTRDgeometry.cxx:2396
 AliTRDgeometry.cxx:2397
 AliTRDgeometry.cxx:2398
 AliTRDgeometry.cxx:2399
 AliTRDgeometry.cxx:2400
 AliTRDgeometry.cxx:2401
 AliTRDgeometry.cxx:2402
 AliTRDgeometry.cxx:2403
 AliTRDgeometry.cxx:2404
 AliTRDgeometry.cxx:2405
 AliTRDgeometry.cxx:2406
 AliTRDgeometry.cxx:2407
 AliTRDgeometry.cxx:2408
 AliTRDgeometry.cxx:2409
 AliTRDgeometry.cxx:2410
 AliTRDgeometry.cxx:2411
 AliTRDgeometry.cxx:2412
 AliTRDgeometry.cxx:2413
 AliTRDgeometry.cxx:2414
 AliTRDgeometry.cxx:2415
 AliTRDgeometry.cxx:2416
 AliTRDgeometry.cxx:2417
 AliTRDgeometry.cxx:2418
 AliTRDgeometry.cxx:2419
 AliTRDgeometry.cxx:2420
 AliTRDgeometry.cxx:2421
 AliTRDgeometry.cxx:2422
 AliTRDgeometry.cxx:2423
 AliTRDgeometry.cxx:2424
 AliTRDgeometry.cxx:2425
 AliTRDgeometry.cxx:2426
 AliTRDgeometry.cxx:2427
 AliTRDgeometry.cxx:2428
 AliTRDgeometry.cxx:2429
 AliTRDgeometry.cxx:2430
 AliTRDgeometry.cxx:2431
 AliTRDgeometry.cxx:2432
 AliTRDgeometry.cxx:2433
 AliTRDgeometry.cxx:2434
 AliTRDgeometry.cxx:2435
 AliTRDgeometry.cxx:2436
 AliTRDgeometry.cxx:2437
 AliTRDgeometry.cxx:2438
 AliTRDgeometry.cxx:2439
 AliTRDgeometry.cxx:2440
 AliTRDgeometry.cxx:2441
 AliTRDgeometry.cxx:2442
 AliTRDgeometry.cxx:2443
 AliTRDgeometry.cxx:2444
 AliTRDgeometry.cxx:2445
 AliTRDgeometry.cxx:2446
 AliTRDgeometry.cxx:2447
 AliTRDgeometry.cxx:2448
 AliTRDgeometry.cxx:2449
 AliTRDgeometry.cxx:2450
 AliTRDgeometry.cxx:2451
 AliTRDgeometry.cxx:2452
 AliTRDgeometry.cxx:2453
 AliTRDgeometry.cxx:2454
 AliTRDgeometry.cxx:2455
 AliTRDgeometry.cxx:2456
 AliTRDgeometry.cxx:2457
 AliTRDgeometry.cxx:2458
 AliTRDgeometry.cxx:2459
 AliTRDgeometry.cxx:2460
 AliTRDgeometry.cxx:2461
 AliTRDgeometry.cxx:2462
 AliTRDgeometry.cxx:2463
 AliTRDgeometry.cxx:2464
 AliTRDgeometry.cxx:2465
 AliTRDgeometry.cxx:2466
 AliTRDgeometry.cxx:2467
 AliTRDgeometry.cxx:2468
 AliTRDgeometry.cxx:2469
 AliTRDgeometry.cxx:2470
 AliTRDgeometry.cxx:2471
 AliTRDgeometry.cxx:2472
 AliTRDgeometry.cxx:2473
 AliTRDgeometry.cxx:2474
 AliTRDgeometry.cxx:2475
 AliTRDgeometry.cxx:2476
 AliTRDgeometry.cxx:2477
 AliTRDgeometry.cxx:2478
 AliTRDgeometry.cxx:2479
 AliTRDgeometry.cxx:2480
 AliTRDgeometry.cxx:2481
 AliTRDgeometry.cxx:2482
 AliTRDgeometry.cxx:2483
 AliTRDgeometry.cxx:2484
 AliTRDgeometry.cxx:2485
 AliTRDgeometry.cxx:2486
 AliTRDgeometry.cxx:2487
 AliTRDgeometry.cxx:2488
 AliTRDgeometry.cxx:2489
 AliTRDgeometry.cxx:2490
 AliTRDgeometry.cxx:2491
 AliTRDgeometry.cxx:2492
 AliTRDgeometry.cxx:2493
 AliTRDgeometry.cxx:2494
 AliTRDgeometry.cxx:2495
 AliTRDgeometry.cxx:2496
 AliTRDgeometry.cxx:2497
 AliTRDgeometry.cxx:2498
 AliTRDgeometry.cxx:2499
 AliTRDgeometry.cxx:2500
 AliTRDgeometry.cxx:2501
 AliTRDgeometry.cxx:2502
 AliTRDgeometry.cxx:2503
 AliTRDgeometry.cxx:2504
 AliTRDgeometry.cxx:2505
 AliTRDgeometry.cxx:2506
 AliTRDgeometry.cxx:2507
 AliTRDgeometry.cxx:2508
 AliTRDgeometry.cxx:2509
 AliTRDgeometry.cxx:2510
 AliTRDgeometry.cxx:2511
 AliTRDgeometry.cxx:2512
 AliTRDgeometry.cxx:2513
 AliTRDgeometry.cxx:2514
 AliTRDgeometry.cxx:2515
 AliTRDgeometry.cxx:2516
 AliTRDgeometry.cxx:2517
 AliTRDgeometry.cxx:2518
 AliTRDgeometry.cxx:2519
 AliTRDgeometry.cxx:2520
 AliTRDgeometry.cxx:2521
 AliTRDgeometry.cxx:2522
 AliTRDgeometry.cxx:2523
 AliTRDgeometry.cxx:2524
 AliTRDgeometry.cxx:2525
 AliTRDgeometry.cxx:2526
 AliTRDgeometry.cxx:2527
 AliTRDgeometry.cxx:2528
 AliTRDgeometry.cxx:2529
 AliTRDgeometry.cxx:2530
 AliTRDgeometry.cxx:2531
 AliTRDgeometry.cxx:2532
 AliTRDgeometry.cxx:2533
 AliTRDgeometry.cxx:2534
 AliTRDgeometry.cxx:2535
 AliTRDgeometry.cxx:2536
 AliTRDgeometry.cxx:2537
 AliTRDgeometry.cxx:2538
 AliTRDgeometry.cxx:2539
 AliTRDgeometry.cxx:2540
 AliTRDgeometry.cxx:2541
 AliTRDgeometry.cxx:2542
 AliTRDgeometry.cxx:2543
 AliTRDgeometry.cxx:2544
 AliTRDgeometry.cxx:2545
 AliTRDgeometry.cxx:2546
 AliTRDgeometry.cxx:2547
 AliTRDgeometry.cxx:2548
 AliTRDgeometry.cxx:2549
 AliTRDgeometry.cxx:2550
 AliTRDgeometry.cxx:2551
 AliTRDgeometry.cxx:2552
 AliTRDgeometry.cxx:2553
 AliTRDgeometry.cxx:2554
 AliTRDgeometry.cxx:2555
 AliTRDgeometry.cxx:2556
 AliTRDgeometry.cxx:2557
 AliTRDgeometry.cxx:2558
 AliTRDgeometry.cxx:2559
 AliTRDgeometry.cxx:2560
 AliTRDgeometry.cxx:2561
 AliTRDgeometry.cxx:2562
 AliTRDgeometry.cxx:2563
 AliTRDgeometry.cxx:2564
 AliTRDgeometry.cxx:2565
 AliTRDgeometry.cxx:2566
 AliTRDgeometry.cxx:2567
 AliTRDgeometry.cxx:2568
 AliTRDgeometry.cxx:2569
 AliTRDgeometry.cxx:2570
 AliTRDgeometry.cxx:2571
 AliTRDgeometry.cxx:2572
 AliTRDgeometry.cxx:2573
 AliTRDgeometry.cxx:2574
 AliTRDgeometry.cxx:2575
 AliTRDgeometry.cxx:2576
 AliTRDgeometry.cxx:2577
 AliTRDgeometry.cxx:2578
 AliTRDgeometry.cxx:2579
 AliTRDgeometry.cxx:2580
 AliTRDgeometry.cxx:2581
 AliTRDgeometry.cxx:2582
 AliTRDgeometry.cxx:2583
 AliTRDgeometry.cxx:2584
 AliTRDgeometry.cxx:2585
 AliTRDgeometry.cxx:2586
 AliTRDgeometry.cxx:2587
 AliTRDgeometry.cxx:2588
 AliTRDgeometry.cxx:2589
 AliTRDgeometry.cxx:2590
 AliTRDgeometry.cxx:2591
 AliTRDgeometry.cxx:2592
 AliTRDgeometry.cxx:2593
 AliTRDgeometry.cxx:2594
 AliTRDgeometry.cxx:2595
 AliTRDgeometry.cxx:2596
 AliTRDgeometry.cxx:2597
 AliTRDgeometry.cxx:2598
 AliTRDgeometry.cxx:2599
 AliTRDgeometry.cxx:2600
 AliTRDgeometry.cxx:2601
 AliTRDgeometry.cxx:2602
 AliTRDgeometry.cxx:2603
 AliTRDgeometry.cxx:2604
 AliTRDgeometry.cxx:2605
 AliTRDgeometry.cxx:2606
 AliTRDgeometry.cxx:2607
 AliTRDgeometry.cxx:2608
 AliTRDgeometry.cxx:2609
 AliTRDgeometry.cxx:2610
 AliTRDgeometry.cxx:2611
 AliTRDgeometry.cxx:2612
 AliTRDgeometry.cxx:2613
 AliTRDgeometry.cxx:2614
 AliTRDgeometry.cxx:2615
 AliTRDgeometry.cxx:2616
 AliTRDgeometry.cxx:2617
 AliTRDgeometry.cxx:2618
 AliTRDgeometry.cxx:2619
 AliTRDgeometry.cxx:2620
 AliTRDgeometry.cxx:2621
 AliTRDgeometry.cxx:2622
 AliTRDgeometry.cxx:2623
 AliTRDgeometry.cxx:2624
 AliTRDgeometry.cxx:2625
 AliTRDgeometry.cxx:2626
 AliTRDgeometry.cxx:2627
 AliTRDgeometry.cxx:2628
 AliTRDgeometry.cxx:2629
 AliTRDgeometry.cxx:2630
 AliTRDgeometry.cxx:2631
 AliTRDgeometry.cxx:2632
 AliTRDgeometry.cxx:2633
 AliTRDgeometry.cxx:2634
 AliTRDgeometry.cxx:2635
 AliTRDgeometry.cxx:2636
 AliTRDgeometry.cxx:2637
 AliTRDgeometry.cxx:2638
 AliTRDgeometry.cxx:2639
 AliTRDgeometry.cxx:2640
 AliTRDgeometry.cxx:2641
 AliTRDgeometry.cxx:2642
 AliTRDgeometry.cxx:2643
 AliTRDgeometry.cxx:2644
 AliTRDgeometry.cxx:2645
 AliTRDgeometry.cxx:2646
 AliTRDgeometry.cxx:2647
 AliTRDgeometry.cxx:2648
 AliTRDgeometry.cxx:2649
 AliTRDgeometry.cxx:2650
 AliTRDgeometry.cxx:2651
 AliTRDgeometry.cxx:2652
 AliTRDgeometry.cxx:2653
 AliTRDgeometry.cxx:2654
 AliTRDgeometry.cxx:2655
 AliTRDgeometry.cxx:2656
 AliTRDgeometry.cxx:2657
 AliTRDgeometry.cxx:2658
 AliTRDgeometry.cxx:2659
 AliTRDgeometry.cxx:2660
 AliTRDgeometry.cxx:2661
 AliTRDgeometry.cxx:2662
 AliTRDgeometry.cxx:2663
 AliTRDgeometry.cxx:2664
 AliTRDgeometry.cxx:2665
 AliTRDgeometry.cxx:2666
 AliTRDgeometry.cxx:2667
 AliTRDgeometry.cxx:2668
 AliTRDgeometry.cxx:2669
 AliTRDgeometry.cxx:2670
 AliTRDgeometry.cxx:2671
 AliTRDgeometry.cxx:2672
 AliTRDgeometry.cxx:2673
 AliTRDgeometry.cxx:2674
 AliTRDgeometry.cxx:2675
 AliTRDgeometry.cxx:2676
 AliTRDgeometry.cxx:2677
 AliTRDgeometry.cxx:2678
 AliTRDgeometry.cxx:2679
 AliTRDgeometry.cxx:2680
 AliTRDgeometry.cxx:2681
 AliTRDgeometry.cxx:2682
 AliTRDgeometry.cxx:2683
 AliTRDgeometry.cxx:2684
 AliTRDgeometry.cxx:2685
 AliTRDgeometry.cxx:2686
 AliTRDgeometry.cxx:2687
 AliTRDgeometry.cxx:2688
 AliTRDgeometry.cxx:2689
 AliTRDgeometry.cxx:2690
 AliTRDgeometry.cxx:2691
 AliTRDgeometry.cxx:2692
 AliTRDgeometry.cxx:2693
 AliTRDgeometry.cxx:2694
 AliTRDgeometry.cxx:2695
 AliTRDgeometry.cxx:2696
 AliTRDgeometry.cxx:2697
 AliTRDgeometry.cxx:2698
 AliTRDgeometry.cxx:2699
 AliTRDgeometry.cxx:2700
 AliTRDgeometry.cxx:2701
 AliTRDgeometry.cxx:2702
 AliTRDgeometry.cxx:2703
 AliTRDgeometry.cxx:2704
 AliTRDgeometry.cxx:2705
 AliTRDgeometry.cxx:2706
 AliTRDgeometry.cxx:2707
 AliTRDgeometry.cxx:2708
 AliTRDgeometry.cxx:2709
 AliTRDgeometry.cxx:2710
 AliTRDgeometry.cxx:2711
 AliTRDgeometry.cxx:2712
 AliTRDgeometry.cxx:2713
 AliTRDgeometry.cxx:2714
 AliTRDgeometry.cxx:2715
 AliTRDgeometry.cxx:2716
 AliTRDgeometry.cxx:2717
 AliTRDgeometry.cxx:2718
 AliTRDgeometry.cxx:2719
 AliTRDgeometry.cxx:2720
 AliTRDgeometry.cxx:2721
 AliTRDgeometry.cxx:2722
 AliTRDgeometry.cxx:2723
 AliTRDgeometry.cxx:2724
 AliTRDgeometry.cxx:2725
 AliTRDgeometry.cxx:2726
 AliTRDgeometry.cxx:2727
 AliTRDgeometry.cxx:2728
 AliTRDgeometry.cxx:2729
 AliTRDgeometry.cxx:2730
 AliTRDgeometry.cxx:2731
 AliTRDgeometry.cxx:2732
 AliTRDgeometry.cxx:2733
 AliTRDgeometry.cxx:2734
 AliTRDgeometry.cxx:2735
 AliTRDgeometry.cxx:2736
 AliTRDgeometry.cxx:2737
 AliTRDgeometry.cxx:2738
 AliTRDgeometry.cxx:2739
 AliTRDgeometry.cxx:2740
 AliTRDgeometry.cxx:2741
 AliTRDgeometry.cxx:2742
 AliTRDgeometry.cxx:2743
 AliTRDgeometry.cxx:2744
 AliTRDgeometry.cxx:2745
 AliTRDgeometry.cxx:2746
 AliTRDgeometry.cxx:2747
 AliTRDgeometry.cxx:2748
 AliTRDgeometry.cxx:2749
 AliTRDgeometry.cxx:2750
 AliTRDgeometry.cxx:2751
 AliTRDgeometry.cxx:2752
 AliTRDgeometry.cxx:2753
 AliTRDgeometry.cxx:2754
 AliTRDgeometry.cxx:2755
 AliTRDgeometry.cxx:2756
 AliTRDgeometry.cxx:2757
 AliTRDgeometry.cxx:2758
 AliTRDgeometry.cxx:2759
 AliTRDgeometry.cxx:2760
 AliTRDgeometry.cxx:2761
 AliTRDgeometry.cxx:2762
 AliTRDgeometry.cxx:2763
 AliTRDgeometry.cxx:2764
 AliTRDgeometry.cxx:2765
 AliTRDgeometry.cxx:2766
 AliTRDgeometry.cxx:2767
 AliTRDgeometry.cxx:2768
 AliTRDgeometry.cxx:2769
 AliTRDgeometry.cxx:2770
 AliTRDgeometry.cxx:2771
 AliTRDgeometry.cxx:2772
 AliTRDgeometry.cxx:2773
 AliTRDgeometry.cxx:2774
 AliTRDgeometry.cxx:2775
 AliTRDgeometry.cxx:2776
 AliTRDgeometry.cxx:2777
 AliTRDgeometry.cxx:2778
 AliTRDgeometry.cxx:2779
 AliTRDgeometry.cxx:2780
 AliTRDgeometry.cxx:2781
 AliTRDgeometry.cxx:2782
 AliTRDgeometry.cxx:2783
 AliTRDgeometry.cxx:2784
 AliTRDgeometry.cxx:2785
 AliTRDgeometry.cxx:2786
 AliTRDgeometry.cxx:2787
 AliTRDgeometry.cxx:2788
 AliTRDgeometry.cxx:2789
 AliTRDgeometry.cxx:2790
 AliTRDgeometry.cxx:2791
 AliTRDgeometry.cxx:2792
 AliTRDgeometry.cxx:2793
 AliTRDgeometry.cxx:2794
 AliTRDgeometry.cxx:2795
 AliTRDgeometry.cxx:2796
 AliTRDgeometry.cxx:2797
 AliTRDgeometry.cxx:2798
 AliTRDgeometry.cxx:2799
 AliTRDgeometry.cxx:2800
 AliTRDgeometry.cxx:2801
 AliTRDgeometry.cxx:2802
 AliTRDgeometry.cxx:2803
 AliTRDgeometry.cxx:2804
 AliTRDgeometry.cxx:2805
 AliTRDgeometry.cxx:2806
 AliTRDgeometry.cxx:2807
 AliTRDgeometry.cxx:2808
 AliTRDgeometry.cxx:2809
 AliTRDgeometry.cxx:2810
 AliTRDgeometry.cxx:2811
 AliTRDgeometry.cxx:2812
 AliTRDgeometry.cxx:2813
 AliTRDgeometry.cxx:2814
 AliTRDgeometry.cxx:2815
 AliTRDgeometry.cxx:2816
 AliTRDgeometry.cxx:2817
 AliTRDgeometry.cxx:2818
 AliTRDgeometry.cxx:2819
 AliTRDgeometry.cxx:2820
 AliTRDgeometry.cxx:2821
 AliTRDgeometry.cxx:2822
 AliTRDgeometry.cxx:2823
 AliTRDgeometry.cxx:2824
 AliTRDgeometry.cxx:2825
 AliTRDgeometry.cxx:2826
 AliTRDgeometry.cxx:2827
 AliTRDgeometry.cxx:2828
 AliTRDgeometry.cxx:2829
 AliTRDgeometry.cxx:2830
 AliTRDgeometry.cxx:2831
 AliTRDgeometry.cxx:2832
 AliTRDgeometry.cxx:2833
 AliTRDgeometry.cxx:2834
 AliTRDgeometry.cxx:2835
 AliTRDgeometry.cxx:2836
 AliTRDgeometry.cxx:2837
 AliTRDgeometry.cxx:2838
 AliTRDgeometry.cxx:2839
 AliTRDgeometry.cxx:2840
 AliTRDgeometry.cxx:2841
 AliTRDgeometry.cxx:2842
 AliTRDgeometry.cxx:2843
 AliTRDgeometry.cxx:2844
 AliTRDgeometry.cxx:2845
 AliTRDgeometry.cxx:2846
 AliTRDgeometry.cxx:2847
 AliTRDgeometry.cxx:2848
 AliTRDgeometry.cxx:2849
 AliTRDgeometry.cxx:2850
 AliTRDgeometry.cxx:2851
 AliTRDgeometry.cxx:2852
 AliTRDgeometry.cxx:2853
 AliTRDgeometry.cxx:2854
 AliTRDgeometry.cxx:2855
 AliTRDgeometry.cxx:2856
 AliTRDgeometry.cxx:2857
 AliTRDgeometry.cxx:2858
 AliTRDgeometry.cxx:2859
 AliTRDgeometry.cxx:2860
 AliTRDgeometry.cxx:2861
 AliTRDgeometry.cxx:2862
 AliTRDgeometry.cxx:2863
 AliTRDgeometry.cxx:2864
 AliTRDgeometry.cxx:2865
 AliTRDgeometry.cxx:2866
 AliTRDgeometry.cxx:2867
 AliTRDgeometry.cxx:2868
 AliTRDgeometry.cxx:2869
 AliTRDgeometry.cxx:2870
 AliTRDgeometry.cxx:2871
 AliTRDgeometry.cxx:2872
 AliTRDgeometry.cxx:2873
 AliTRDgeometry.cxx:2874
 AliTRDgeometry.cxx:2875
 AliTRDgeometry.cxx:2876
 AliTRDgeometry.cxx:2877
 AliTRDgeometry.cxx:2878
 AliTRDgeometry.cxx:2879
 AliTRDgeometry.cxx:2880
 AliTRDgeometry.cxx:2881
 AliTRDgeometry.cxx:2882
 AliTRDgeometry.cxx:2883
 AliTRDgeometry.cxx:2884
 AliTRDgeometry.cxx:2885
 AliTRDgeometry.cxx:2886
 AliTRDgeometry.cxx:2887
 AliTRDgeometry.cxx:2888
 AliTRDgeometry.cxx:2889
 AliTRDgeometry.cxx:2890
 AliTRDgeometry.cxx:2891
 AliTRDgeometry.cxx:2892
 AliTRDgeometry.cxx:2893
 AliTRDgeometry.cxx:2894
 AliTRDgeometry.cxx:2895
 AliTRDgeometry.cxx:2896
 AliTRDgeometry.cxx:2897
 AliTRDgeometry.cxx:2898
 AliTRDgeometry.cxx:2899
 AliTRDgeometry.cxx:2900
 AliTRDgeometry.cxx:2901
 AliTRDgeometry.cxx:2902
 AliTRDgeometry.cxx:2903
 AliTRDgeometry.cxx:2904
 AliTRDgeometry.cxx:2905
 AliTRDgeometry.cxx:2906
 AliTRDgeometry.cxx:2907
 AliTRDgeometry.cxx:2908
 AliTRDgeometry.cxx:2909
 AliTRDgeometry.cxx:2910
 AliTRDgeometry.cxx:2911
 AliTRDgeometry.cxx:2912
 AliTRDgeometry.cxx:2913
 AliTRDgeometry.cxx:2914
 AliTRDgeometry.cxx:2915
 AliTRDgeometry.cxx:2916
 AliTRDgeometry.cxx:2917
 AliTRDgeometry.cxx:2918
 AliTRDgeometry.cxx:2919
 AliTRDgeometry.cxx:2920
 AliTRDgeometry.cxx:2921
 AliTRDgeometry.cxx:2922
 AliTRDgeometry.cxx:2923
 AliTRDgeometry.cxx:2924
 AliTRDgeometry.cxx:2925
 AliTRDgeometry.cxx:2926
 AliTRDgeometry.cxx:2927
 AliTRDgeometry.cxx:2928
 AliTRDgeometry.cxx:2929
 AliTRDgeometry.cxx:2930
 AliTRDgeometry.cxx:2931
 AliTRDgeometry.cxx:2932
 AliTRDgeometry.cxx:2933
 AliTRDgeometry.cxx:2934
 AliTRDgeometry.cxx:2935
 AliTRDgeometry.cxx:2936
 AliTRDgeometry.cxx:2937
 AliTRDgeometry.cxx:2938
 AliTRDgeometry.cxx:2939
 AliTRDgeometry.cxx:2940
 AliTRDgeometry.cxx:2941
 AliTRDgeometry.cxx:2942
 AliTRDgeometry.cxx:2943
 AliTRDgeometry.cxx:2944
 AliTRDgeometry.cxx:2945
 AliTRDgeometry.cxx:2946
 AliTRDgeometry.cxx:2947
 AliTRDgeometry.cxx:2948
 AliTRDgeometry.cxx:2949
 AliTRDgeometry.cxx:2950
 AliTRDgeometry.cxx:2951
 AliTRDgeometry.cxx:2952
 AliTRDgeometry.cxx:2953
 AliTRDgeometry.cxx:2954
 AliTRDgeometry.cxx:2955
 AliTRDgeometry.cxx:2956
 AliTRDgeometry.cxx:2957
 AliTRDgeometry.cxx:2958
 AliTRDgeometry.cxx:2959
 AliTRDgeometry.cxx:2960
 AliTRDgeometry.cxx:2961
 AliTRDgeometry.cxx:2962
 AliTRDgeometry.cxx:2963
 AliTRDgeometry.cxx:2964
 AliTRDgeometry.cxx:2965
 AliTRDgeometry.cxx:2966
 AliTRDgeometry.cxx:2967
 AliTRDgeometry.cxx:2968
 AliTRDgeometry.cxx:2969
 AliTRDgeometry.cxx:2970
 AliTRDgeometry.cxx:2971
 AliTRDgeometry.cxx:2972
 AliTRDgeometry.cxx:2973
 AliTRDgeometry.cxx:2974
 AliTRDgeometry.cxx:2975
 AliTRDgeometry.cxx:2976
 AliTRDgeometry.cxx:2977
 AliTRDgeometry.cxx:2978
 AliTRDgeometry.cxx:2979
 AliTRDgeometry.cxx:2980
 AliTRDgeometry.cxx:2981
 AliTRDgeometry.cxx:2982
 AliTRDgeometry.cxx:2983
 AliTRDgeometry.cxx:2984
 AliTRDgeometry.cxx:2985
 AliTRDgeometry.cxx:2986
 AliTRDgeometry.cxx:2987
 AliTRDgeometry.cxx:2988
 AliTRDgeometry.cxx:2989
 AliTRDgeometry.cxx:2990
 AliTRDgeometry.cxx:2991
 AliTRDgeometry.cxx:2992
 AliTRDgeometry.cxx:2993
 AliTRDgeometry.cxx:2994
 AliTRDgeometry.cxx:2995
 AliTRDgeometry.cxx:2996
 AliTRDgeometry.cxx:2997
 AliTRDgeometry.cxx:2998
 AliTRDgeometry.cxx:2999
 AliTRDgeometry.cxx:3000
 AliTRDgeometry.cxx:3001
 AliTRDgeometry.cxx:3002
 AliTRDgeometry.cxx:3003
 AliTRDgeometry.cxx:3004
 AliTRDgeometry.cxx:3005
 AliTRDgeometry.cxx:3006
 AliTRDgeometry.cxx:3007
 AliTRDgeometry.cxx:3008
 AliTRDgeometry.cxx:3009
 AliTRDgeometry.cxx:3010
 AliTRDgeometry.cxx:3011
 AliTRDgeometry.cxx:3012
 AliTRDgeometry.cxx:3013
 AliTRDgeometry.cxx:3014
 AliTRDgeometry.cxx:3015
 AliTRDgeometry.cxx:3016
 AliTRDgeometry.cxx:3017
 AliTRDgeometry.cxx:3018
 AliTRDgeometry.cxx:3019
 AliTRDgeometry.cxx:3020
 AliTRDgeometry.cxx:3021
 AliTRDgeometry.cxx:3022
 AliTRDgeometry.cxx:3023
 AliTRDgeometry.cxx:3024
 AliTRDgeometry.cxx:3025
 AliTRDgeometry.cxx:3026
 AliTRDgeometry.cxx:3027
 AliTRDgeometry.cxx:3028
 AliTRDgeometry.cxx:3029
 AliTRDgeometry.cxx:3030
 AliTRDgeometry.cxx:3031
 AliTRDgeometry.cxx:3032
 AliTRDgeometry.cxx:3033
 AliTRDgeometry.cxx:3034
 AliTRDgeometry.cxx:3035
 AliTRDgeometry.cxx:3036
 AliTRDgeometry.cxx:3037
 AliTRDgeometry.cxx:3038
 AliTRDgeometry.cxx:3039
 AliTRDgeometry.cxx:3040
 AliTRDgeometry.cxx:3041
 AliTRDgeometry.cxx:3042
 AliTRDgeometry.cxx:3043
 AliTRDgeometry.cxx:3044
 AliTRDgeometry.cxx:3045
 AliTRDgeometry.cxx:3046
 AliTRDgeometry.cxx:3047
 AliTRDgeometry.cxx:3048
 AliTRDgeometry.cxx:3049
 AliTRDgeometry.cxx:3050
 AliTRDgeometry.cxx:3051
 AliTRDgeometry.cxx:3052
 AliTRDgeometry.cxx:3053
 AliTRDgeometry.cxx:3054
 AliTRDgeometry.cxx:3055
 AliTRDgeometry.cxx:3056
 AliTRDgeometry.cxx:3057
 AliTRDgeometry.cxx:3058
 AliTRDgeometry.cxx:3059
 AliTRDgeometry.cxx:3060
 AliTRDgeometry.cxx:3061
 AliTRDgeometry.cxx:3062
 AliTRDgeometry.cxx:3063
 AliTRDgeometry.cxx:3064
 AliTRDgeometry.cxx:3065
 AliTRDgeometry.cxx:3066
 AliTRDgeometry.cxx:3067
 AliTRDgeometry.cxx:3068
 AliTRDgeometry.cxx:3069
 AliTRDgeometry.cxx:3070
 AliTRDgeometry.cxx:3071
 AliTRDgeometry.cxx:3072
 AliTRDgeometry.cxx:3073
 AliTRDgeometry.cxx:3074
 AliTRDgeometry.cxx:3075
 AliTRDgeometry.cxx:3076
 AliTRDgeometry.cxx:3077
 AliTRDgeometry.cxx:3078
 AliTRDgeometry.cxx:3079
 AliTRDgeometry.cxx:3080
 AliTRDgeometry.cxx:3081
 AliTRDgeometry.cxx:3082
 AliTRDgeometry.cxx:3083
 AliTRDgeometry.cxx:3084
 AliTRDgeometry.cxx:3085
 AliTRDgeometry.cxx:3086
 AliTRDgeometry.cxx:3087
 AliTRDgeometry.cxx:3088
 AliTRDgeometry.cxx:3089
 AliTRDgeometry.cxx:3090
 AliTRDgeometry.cxx:3091
 AliTRDgeometry.cxx:3092
 AliTRDgeometry.cxx:3093
 AliTRDgeometry.cxx:3094
 AliTRDgeometry.cxx:3095
 AliTRDgeometry.cxx:3096
 AliTRDgeometry.cxx:3097
 AliTRDgeometry.cxx:3098
 AliTRDgeometry.cxx:3099
 AliTRDgeometry.cxx:3100
 AliTRDgeometry.cxx:3101
 AliTRDgeometry.cxx:3102
 AliTRDgeometry.cxx:3103
 AliTRDgeometry.cxx:3104
 AliTRDgeometry.cxx:3105
 AliTRDgeometry.cxx:3106
 AliTRDgeometry.cxx:3107
 AliTRDgeometry.cxx:3108
 AliTRDgeometry.cxx:3109
 AliTRDgeometry.cxx:3110
 AliTRDgeometry.cxx:3111
 AliTRDgeometry.cxx:3112
 AliTRDgeometry.cxx:3113
 AliTRDgeometry.cxx:3114
 AliTRDgeometry.cxx:3115
 AliTRDgeometry.cxx:3116
 AliTRDgeometry.cxx:3117
 AliTRDgeometry.cxx:3118
 AliTRDgeometry.cxx:3119
 AliTRDgeometry.cxx:3120
 AliTRDgeometry.cxx:3121
 AliTRDgeometry.cxx:3122
 AliTRDgeometry.cxx:3123
 AliTRDgeometry.cxx:3124
 AliTRDgeometry.cxx:3125
 AliTRDgeometry.cxx:3126
 AliTRDgeometry.cxx:3127
 AliTRDgeometry.cxx:3128
 AliTRDgeometry.cxx:3129
 AliTRDgeometry.cxx:3130
 AliTRDgeometry.cxx:3131
 AliTRDgeometry.cxx:3132
 AliTRDgeometry.cxx:3133
 AliTRDgeometry.cxx:3134
 AliTRDgeometry.cxx:3135
 AliTRDgeometry.cxx:3136
 AliTRDgeometry.cxx:3137
 AliTRDgeometry.cxx:3138
 AliTRDgeometry.cxx:3139
 AliTRDgeometry.cxx:3140
 AliTRDgeometry.cxx:3141
 AliTRDgeometry.cxx:3142
 AliTRDgeometry.cxx:3143
 AliTRDgeometry.cxx:3144
 AliTRDgeometry.cxx:3145
 AliTRDgeometry.cxx:3146
 AliTRDgeometry.cxx:3147
 AliTRDgeometry.cxx:3148
 AliTRDgeometry.cxx:3149
 AliTRDgeometry.cxx:3150
 AliTRDgeometry.cxx:3151
 AliTRDgeometry.cxx:3152
 AliTRDgeometry.cxx:3153
 AliTRDgeometry.cxx:3154
 AliTRDgeometry.cxx:3155
 AliTRDgeometry.cxx:3156
 AliTRDgeometry.cxx:3157
 AliTRDgeometry.cxx:3158
 AliTRDgeometry.cxx:3159
 AliTRDgeometry.cxx:3160
 AliTRDgeometry.cxx:3161
 AliTRDgeometry.cxx:3162
 AliTRDgeometry.cxx:3163
 AliTRDgeometry.cxx:3164
 AliTRDgeometry.cxx:3165
 AliTRDgeometry.cxx:3166
 AliTRDgeometry.cxx:3167
 AliTRDgeometry.cxx:3168
 AliTRDgeometry.cxx:3169
 AliTRDgeometry.cxx:3170
 AliTRDgeometry.cxx:3171
 AliTRDgeometry.cxx:3172
 AliTRDgeometry.cxx:3173
 AliTRDgeometry.cxx:3174
 AliTRDgeometry.cxx:3175
 AliTRDgeometry.cxx:3176
 AliTRDgeometry.cxx:3177
 AliTRDgeometry.cxx:3178
 AliTRDgeometry.cxx:3179
 AliTRDgeometry.cxx:3180
 AliTRDgeometry.cxx:3181
 AliTRDgeometry.cxx:3182