]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11Hybrid.cxx
Adding missing object
[u/mrichter/AliRoot.git] / ITS / AliITSv11Hybrid.cxx
index 8cd7c4eb78eeede4e26106cafea9e26a390160cb..359548c60b174e2914d388d6104914ea2134d35c 100644 (file)
@@ -70,8 +70,8 @@
 // Updates concerning the geometry: versioning system, new V11hybrid version, bug fixes (B.Nilsend and L. Gaudichet
 //
 
-
 #include <TClonesArray.h>
+#include <TGeoGlobalMagField.h>
 #include <TGeoManager.h>
 #include <TGeoMatrix.h>
 #include <TGeoPhysicalNode.h>
@@ -665,9 +665,8 @@ void AliITSv11Hybrid::AddAlignableVolumes() const{
     modnum = 0;
     TString str0 = "/ALIC_1/ITSV_1/ITSsddLayer3_1/ITSsddLadd_"; // SDD layer1
     TString str1 = "/ITSsddSensor3_";
-    TString str2 = "/ITSsddWafer3_1";
     TString ladder;
-    TString wafer;
+    TString sensor;
 
     for(Int_t c1 = 0; c1<14; c1++) {
 
@@ -685,23 +684,18 @@ void AliITSv11Hybrid::AddAlignableVolumes() const{
       for(Int_t c2 =0; c2<6; c2++) {
 
        modUID = AliGeomManager::LayerToVolUID(layerId,modnum++);
-       wafer = ladder;
-       wafer += str1;
-       wafer += c2;
-       wafer += str2;    // one wafer
+       sensor = ladder;
+       sensor += str1;
+       sensor += c2;
        strEntryName2 = strEntryName1;
        strEntryName2 += strSensor;
        strEntryName2 += c2;
        //printf("%s    ==    %s\n",strEntryName2.Data(),wafer.Data());
-       if(!gGeoManager->SetAlignableEntry(strEntryName2.Data(),wafer.Data(),modUID))
+       if(!gGeoManager->SetAlignableEntry(strEntryName2.Data(),sensor.Data(),modUID))
          AliFatal(Form("Unable to set alignable entry 2! %s :: %s",
-                   strEntryName2.Data(),wafer.Data()));
+                   strEntryName2.Data(),sensor.Data()));
 
-       if(c1 != 2) { 
        SetT2Lmatrix(modUID, 0, kFALSE, c2>=3);
-                 } else {// for ladder 2, mounted with a pi rot around y
-         SetT2Lmatrix(modUID, 0, kFALSE, c2<3);
-         }
       }
     }
 
@@ -709,7 +703,6 @@ void AliITSv11Hybrid::AddAlignableVolumes() const{
     modnum = 0;
     str0 = "/ALIC_1/ITSV_1/ITSsddLayer4_1/ITSsddLadd_"; // SDD layer2
     str1 = "/ITSsddSensor4_";
-    str2 = "/ITSsddWafer4_1";
     
     for(Int_t c1 = 0; c1<22; c1++) {
 
@@ -727,17 +720,16 @@ void AliITSv11Hybrid::AddAlignableVolumes() const{
       for(Int_t c2 =0; c2<8; c2++) {
 
        modUID = AliGeomManager::LayerToVolUID(layerId,modnum++);
-       wafer = ladder;
-       wafer += str1;
-       wafer += c2;
-       wafer += str2;    // one wafer
+       sensor = ladder;
+       sensor += str1;
+       sensor += c2;
        strEntryName2 = strEntryName1;
        strEntryName2 += strSensor;
        strEntryName2 += c2;
        //printf("%s    ==    %s\n",strEntryName2.Data(),wafer.Data());
-       if(!gGeoManager->SetAlignableEntry(strEntryName2.Data(),wafer.Data(),modUID))
+       if(!gGeoManager->SetAlignableEntry(strEntryName2.Data(),sensor.Data(),modUID))
          AliFatal(Form("Unable to set alignable entry 2! %s :: %s",
-                   strEntryName2.Data(),wafer.Data()));
+                   strEntryName2.Data(),sensor.Data()));
 
        SetT2Lmatrix(modUID, 0, kFALSE, c2>=4);
       }
@@ -1028,6 +1020,7 @@ void AliITSv11Hybrid::CreateGeometry() {
   if (AliITSInitGeometry::ServicesAreTGeoNative()) {
     fSDDgeom->SDDCables(vITS);
     fSSDgeom->SSDCables(vITS);
+    fSupgeom->ServicesCableSupport(vITS);
   }
 }
 
@@ -4514,8 +4507,6 @@ void AliITSv11Hybrid::CreateOldGeometry(){
   gMC->Gspos("IPA2", 1, "ITSV", 0., 0., 95.25, 0, "ONLY");  
   gMC->Gspos("IPA2", 2, "ITSV", 0., 0., -95.25, idrotm[200], "ONLY"); 
 
-  } // Move this graph down as you implement services in TGeo - M.S. 28may08
-
 
   // --- DEFINE CABLES/COOLING BELOW THE TPC ON THE ABSORBER SIDE - COPPER PART
   //     UPPER PART
@@ -4622,6 +4613,7 @@ void AliITSv11Hybrid::CreateOldGeometry(){
   //  gMC->Gspos("ICC4", 1, "ITSV", 0., 0., ztpc+dgh[2], 0, "ONLY");  
   gMC->Gspos("ICC4", 1, "ITSV", 0., 0., -(ztpc+dgh[2]), idrotm[199], "ONLY");  
   
+
   // --- DEFINE CABLES/COOLING BELOW THE TPC ON THE OTHER SIDE W.R.T.
   //     THE ABSORBER - COPPER PART - UPPER PART
 
@@ -4714,6 +4706,173 @@ void AliITSv11Hybrid::CreateOldGeometry(){
   gMC->Gsvolu("ICC0", "CONS", idtmed[225], dgh, 7);   
   gMC->Gspos("ICC0", 1, "ITSV", 0., 0., -(-186.6-dgh[0]), idrotm[199], "ONLY");
 
+  // --- DEFINE CABLES/COOLING BELOW THE TPC ON THE OTHER SIDE W.R.T.
+  //     THE ABSORBER - ALUMINUM PART - UPPER PART
+  
+  dgh[0] = 46.+1.0+1.5;  
+  dgh[1] = 46.+1.0+1.5+0.4; 
+//  dgh[2] = (ztpc-97.5)/2.;
+  dgh[2] = (186.6 - 101.1)/2.;
+  dgh[3] = 12.;
+  dgh[4] = 168.;  
+  gMC->Gsvolu("ICK5", "TUBS", idtmed[210], dgh, 5);   
+  //  gMC->Gspos("ICC5", 1, "ITSV", 0., 0., -97.5-dgh[2], 0, "ONLY");
+  gMC->Gspos("ICK5", 1, "ITSV", 0., 0., -(-101.1-dgh[2]), idrotm[199], "ONLY");   
+  
+  dgh[0] = (ztpc - 1.0 - 186.6)/2.;
+  dgh[1] = 64.0+1.0+1.5;
+  dgh[2] = 64.0+1.0+1.5+0.4;
+  dgh[3] = 46.+1.0+1.5;
+  dgh[4] = 46.+1.0+1.5+0.4;
+  dgh[5] = 12.;
+  dgh[6] = 168.;
+  gMC->Gsvolu("ICK9", "CONS", idtmed[210], dgh, 7);   
+  gMC->Gspos("ICK9", 1, "ITSV", 0., 0., -(-186.6-dgh[0]), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+5.5; 
+  dgh[2] = 4.0/2;
+  dgh[3] = 12.;
+  dgh[4] = 168.;  
+  gMC->Gsvolu("IKK7", "TUBS", idtmed[210], dgh, 5);   
+//  gMC->Gspos("IKK7", 1, "ITSV", 0., 0., -(-101.1-dgh[2]), idrotm[199], "ONLY");   
+  gMC->Gspos("IKK7", 1, "ITSV", 0., 0., -(-186.6+dgh[2]+5+4+34+31.8), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+0.3; 
+  dgh[2] = 34.0/2;
+  dgh[3] = 12.;
+  dgh[4] = 168.;  
+  gMC->Gsvolu("IKK5", "TUBS", idtmed[210], dgh, 5);   
+//  gMC->Gspos("IKK5", 1, "ITSV", 0., 0., -(-101.1-dgh[2]-4), idrotm[199], "ONLY");   
+  gMC->Gspos("IKK5", 1, "ITSV", 0., 0., -(-186.6+dgh[2]+5+4+31.8), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+5.5; 
+  dgh[2] = 4.0/2;
+  dgh[3] = 12.;
+  dgh[4] = 168.;  
+  gMC->Gsvolu("IKK3", "TUBS", idtmed[210], dgh, 5);   
+//  gMC->Gspos("IKK3", 1, "ITSV", 0., 0., -(-101.1-dgh[2]-4-34), idrotm[199], "ONLY");   
+  gMC->Gspos("IKK3", 1, "ITSV", 0., 0., -(-186.6+dgh[2]+5+31.8), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+6.0; 
+  dgh[2] = 5.0/2;
+  dgh[3] = 12.;
+  dgh[4] = 168.;  
+  gMC->Gsvolu("IKK1", "TUBS", idtmed[210], dgh, 5);   
+//  gMC->Gspos("IKK1", 1, "ITSV", 0., 0., -(-101.1-dgh[2]-4-34-4), idrotm[199], "ONLY");   
+  gMC->Gspos("IKK1", 1, "ITSV", 0., 0., -(-186.6+dgh[2]+31.8), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+0.3; 
+  dgh[2] = 31.8/2;
+  dgh[3] = 12.;
+  dgh[4] = 168.;  
+  gMC->Gsvolu("IKK9", "TUBS", idtmed[210], dgh, 5);   
+  gMC->Gspos("IKK9", 1, "ITSV", 0., 0., -(-186.6+dgh[2]), idrotm[199], "ONLY");
+
+
+  dgh[0] = 66.2/2;
+  dgh[1] = 46.+1.0+1.5+0.4+12.5;
+  dgh[2] = 46.+1.0+1.5+0.4+12.5+0.3;
+  dgh[3] = 46.+1.0+1.5+0.4;  
+  dgh[4] = 46.+1.0+1.5+0.4+0.3;
+  dgh[5] = 12.;
+  dgh[6] = 168.;
+  gMC->Gsvolu("ICK7", "CONS", idtmed[210], dgh, 7);   
+  gMC->Gspos("ICK7", 1, "ITSV", 0., 0., -(-186.6-dgh[0]), idrotm[199], "ONLY");
+
+  // --- DEFINE CABLES/COOLING BELOW THE TPC ON THE OTHER SIDE W.R.T.
+  //     THE ABSORBER - ALUMINUM PART - LOWER PART
+  
+  dgh[0] = 46.+1.0+1.5;   
+  dgh[1] = 46.+1.0+1.5+0.4;  
+//  dgh[2] = (ztpc-97.5)/2.;
+  dgh[2] = (186.6 - 101.1)/2.;
+  dgh[3] = 192.;
+  dgh[4] = 348.;  
+  gMC->Gsvolu("ICK6", "TUBS", idtmed[210], dgh, 5);   
+  //  gMC->Gspos("ICC6", 1, "ITSV", 0., 0., -97.5-dgh[2], 0, "ONLY"); 
+  gMC->Gspos("ICK6", 1, "ITSV", 0., 0., -(-101.1-dgh[2]), idrotm[199], "ONLY");      
+
+  dgh[0] = (ztpc - 1.0 - 186.6)/2.;
+  dgh[1] = 64.0+1.0+1.5;
+  dgh[2] = 64.0+1.0+1.5+0.4;
+  dgh[3] = 46.+1.0+1.5;
+  dgh[4] = 46.+1.0+1.5+0.4;
+  dgh[5] = 192.;
+  dgh[6] = 348.;
+  gMC->Gsvolu("ICK0", "CONS", idtmed[210], dgh, 7);   
+  gMC->Gspos("ICK0", 1, "ITSV", 0., 0., -(-186.6-dgh[0]), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+5.5; 
+  dgh[2] = 4.0/2;
+  dgh[3] = 192.;
+  dgh[4] = 348.;  
+  gMC->Gsvolu("IKK8", "TUBS", idtmed[210], dgh, 5);   
+//  gMC->Gspos("IKK8", 1, "ITSV", 0., 0., -(-101.1-dgh[2]), idrotm[199], "ONLY");   
+  gMC->Gspos("IKK8", 1, "ITSV", 0., 0., -(-186.6+dgh[2]+5+4+34+31.8), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;   
+  dgh[1] = 46.+1.0+1.5+0.4+0.3;  
+  dgh[2] = 34.0/2;
+  dgh[3] = 192.;
+  dgh[4] = 348.;  
+  gMC->Gsvolu("IKK6", "TUBS", idtmed[210], dgh, 5);   
+//  gMC->Gspos("IKK6", 1, "ITSV", 0., 0., -(-101.1-dgh[2]-4), idrotm[199], "ONLY");      
+  gMC->Gspos("IKK6", 1, "ITSV", 0., 0., -(-186.6+dgh[2]+5+4+31.8), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+5.5; 
+  dgh[2] = 4.0/2;
+  dgh[3] = 192.;
+  dgh[4] = 348.;  
+  gMC->Gsvolu("IKK4", "TUBS", idtmed[210], dgh, 5);   
+//  gMC->Gspos("IKK4", 1, "ITSV", 0., 0., -(-101.1-dgh[2]-4-34), idrotm[199], "ONLY");   
+  gMC->Gspos("IKK4", 1, "ITSV", 0., 0., -(-186.6+dgh[2]+5+31.8), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+6.0; 
+  dgh[2] = 5.0/2;
+  dgh[3] = 192.;
+  dgh[4] = 348.;  
+  gMC->Gsvolu("IKK2", "TUBS", idtmed[210], dgh, 5);   
+//  gMC->Gspos("IKK2", 1, "ITSV", 0., 0., -(-101.1-dgh[2]-4-34-4), idrotm[199], "ONLY");   
+  gMC->Gspos("IKK2", 1, "ITSV", 0., 0., -(-186.6+dgh[2]+31.8), idrotm[199], "ONLY");
+
+
+  dgh[0] = 46.+1.0+1.5+0.4;  
+  dgh[1] = 46.+1.0+1.5+0.4+0.3; 
+  dgh[2] = 31.8/2;
+  dgh[3] = 192.;
+  dgh[4] = 348.;  
+  gMC->Gsvolu("IKK0", "TUBS", idtmed[210], dgh, 5);   
+  gMC->Gspos("IKK0", 1, "ITSV", 0., 0., -(-186.6+dgh[2]), idrotm[199], "ONLY");
+
+
+  dgh[0] = 66.2/2;
+  dgh[1] = 46.+1.0+1.5+0.4+12.5;
+  dgh[2] = 46.+1.0+1.5+0.4+12.5+0.3;
+  dgh[3] = 46.+1.0+1.5+0.4;  
+  dgh[4] = 46.+1.0+1.5+0.4+0.3;
+  dgh[5] = 192.;
+  dgh[6] = 348.;
+  gMC->Gsvolu("ICK8", "CONS", idtmed[210], dgh, 7);   
+  gMC->Gspos("ICK8", 1, "ITSV", 0., 0., -(-186.6-dgh[0]), idrotm[199], "ONLY");
+
+
   // --- DEFINE CABLES/COOLING BEHIND THE TPC ON OTHER SIDE W.R.T. THE ABSORBER
   //     COPPER PART - UPPER PART
     
@@ -4780,7 +4939,7 @@ void AliITSv11Hybrid::CreateOldGeometry(){
   gMC->Gsvolu("IHK2", "TUBS", idtmed[264], dgh, 5);  
   gMC->Gspos("IHK2", 1, "ITSV", 0., 0., -(-ztpc-dgh[2]), idrotm[199], "ONLY");      
   
-//  }
+  }
 
 
   // --- DEFINE RAILS BETWEEN THE ITS AND THE TPC
@@ -4812,8 +4971,8 @@ void AliITSv11Hybrid::CreateOldGeometry(){
   dgh[1] = 59.;
   dgh[2] = 0.6;    
   gMC->Gsvolu("ICYL", "TUBE", idtmed[210], dgh, 3);   
-  gMC->Gspos("ICYL", 1, "ALIC", 0., 0., -74.1,idrotm[199], "ONLY");   
-  gMC->Gspos("ICYL", 2, "ALIC", 0., 0., 74.1, 0, "ONLY"); 
+  gMC->Gspos("ICYL", 1, "ITSV", 0., 0., -74.1,idrotm[199], "ONLY");   
+  gMC->Gspos("ICYL", 2, "ITSV", 0., 0., 74.1, 0, "ONLY"); 
 
   // --- DEFINE SUPPORTS FOR RAILS ATTACHED TO THE CYLINDERS
 
@@ -5091,8 +5250,8 @@ void AliITSv11Hybrid::CreateMaterials(){
     // Return:
     //   none.
 
-    Int_t   ifield = gAlice->Field()->Integ();
-    Float_t fieldm = gAlice->Field()->Max();
+    Int_t   ifield = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ();
+    Float_t fieldm = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max();
 
     Float_t tmaxfd = 0.1; // 1.0; // Degree
     Float_t stemax = 1.0; // cm
@@ -5132,7 +5291,7 @@ void AliITSv11Hybrid::CreateMaterials(){
     Float_t aCM55J[4]={12.0107,14.0067,15.9994,1.00794};
     Float_t zCM55J[4]={6.,7.,8.,1.};
     Float_t wCM55J[4]={0.908508078,0.010387573,0.055957585,0.025146765};
-    Float_t dCM55J = 1.63;
+    Float_t dCM55J = 1.8;
 
     //ALCM55J
 
@@ -5150,7 +5309,7 @@ void AliITSv11Hybrid::CreateMaterials(){
 
     //Inox
     
-    Float_t aINOX[9]={12.0107,54.9380, 28.0855,30.9738,32.066,58.6928,55.9961,95.94,55.845};
+    Float_t aINOX[9]={12.0107,54.9380, 28.0855,30.9738,32.066,58.6928,51.9961,95.94,55.845};
     Float_t zINOX[9]={6.,25.,14.,15.,16., 28.,24.,42.,26.};
     Float_t wINOX[9]={0.0003,0.02,0.01,0.00045,0.0003,0.12,0.17,0.025,0.654};
     Float_t dINOX = 8.03;
@@ -5258,6 +5417,18 @@ void AliITSv11Hybrid::CreateMaterials(){
     Float_t woptfib[2] = {  1.,      2.    };
     Float_t doptfib    = 2.55;
 
+    // Tetrafluorethylene-Perfluorpropylene (FEP) - 08 Mar 10
+    Float_t aFEP[2] = { 12.0107, 18.9984};
+    Float_t zFEP[2] = {  6.    ,  9.    };
+    Float_t wFEP[2] = {  1.    ,  2.    };
+    Float_t dFEP    = 2.15;
+
+    //SSD NiSn capacitor ends
+    Float_t aNiSn[2]  = { 56.6934,118.710};
+    Float_t zNiSn[2]  = {     28.,     50.};
+    Float_t wNiSn[2]  = {0.33, 0.67};
+    Float_t dNiSn     = wNiSn[0]*8.908 + wNiSn[1]*7.310;
+
     AliMaterial(1,"SI$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
     AliMedium(1,"SI$",1,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
 
@@ -5332,6 +5503,10 @@ void AliITSv11Hybrid::CreateMaterials(){
     AliMixture(56, "SPD KAPTON(POLYCH2)", aKapton, zKapton, dKapton, 4, wKapton);
     AliMedium(56,"SPD KAPTON(POLYCH2)$",56,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
 
+    // Gaseous Freon has same chemical composition but air density at 1.7 atm
+    AliMixture(59,"GASEOUS FREON$",afre,zfre,1.7*dAir,-2,wfre);
+    AliMedium(59,"GASEOUS FREON$",59,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
     AliMixture(61,"EPOXY$",aEpoxy,zEpoxy,dEpoxy,-3,wEpoxy);
     AliMedium(61,"EPOXY$",61,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
 
@@ -5347,6 +5522,12 @@ void AliITSv11Hybrid::CreateMaterials(){
     AliMixture(65,"INOX$",aINOX,zINOX,dINOX,9,wINOX);
     AliMedium(65,"INOX$",65,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
 
+    AliMixture(66,"NiSn$",aNiSn,zNiSn,dNiSn,2,wNiSn);
+    AliMedium(66,"NiSn$",66,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+    AliMaterial(67,"Sn$", 118.710, 50., 7.310, 1.206, 999.);
+    AliMedium(67,"Sn$",67,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
     AliMixture(68,"ROHACELL$",arohac,zrohac,drohac,-4,wrohac);
     AliMedium(68,"ROHACELL$",68,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
 
@@ -5596,6 +5777,79 @@ void AliITSv11Hybrid::CreateMaterials(){
 
     AliMixture(98,"SDD OPTICFIB$",aoptfib,zoptfib,doptfib,-2,woptfib);
     AliMedium(98,"SDD OPTICFIB$",98,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+    AliMixture(95,"SSD FEP$",aFEP,zFEP,dFEP,-2,wFEP);
+    AliMedium(95,"SSD FEP$",95,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+    // Mean material for low-voltage cables on SPD trays Side A
+    // (Copper + PolyEthylene (C2-H4)) (D.Elia for cable number and
+    // cross-section area, M.Sitta for elemental computation) - 26 Feb 10
+    wW[0] = 0.323024;//H
+    wW[2] = 0.515464;//Cu
+    wW[1] = 0.161512;//C
+    wW[3] = 0.000000;//O
+    wW[4] = 0.000000;//S
+    wW[5] = 0.000000;//F
+    wW[6] = 0.000000;//Sn
+    wW[7] = 0.000000;//Pb
+    wW[8] = 0.000000;//Cr
+    wW[9] = 0.000000;//Si
+    wW[10] = 0.000000;//Ni
+    wW[11] = 0.000000;//Ca
+
+    den = 5.078866;
+    AliMixture(60,"SPD_LOWCABLES$",aA,zZ,den,+3,wW);
+    AliMedium(60,"SPD_LOWCABLES$",60,0,ifield,fieldm,tmaxfd,stemax,
+             deemax,epsil,stmin);
+
+    // Mean material for high-voltage cables on SPD trays Side A & C
+    // (Copper + HD PolyEthylene (C2-H2)) (D.Elia for cable number and
+    // cross-section area, M.Sitta for elemental computation) - 10 Jun 10
+    wW[0] = 0.083766;//H
+    wW[2] = 0.417136;//Cu
+    wW[1] = 0.499098;//C
+    wW[3] = 0.000000;//O
+    wW[4] = 0.000000;//S
+    wW[5] = 0.000000;//F
+    wW[6] = 0.000000;//Sn
+    wW[7] = 0.000000;//Pb
+    wW[8] = 0.000000;//Cr
+    wW[9] = 0.000000;//Si
+    wW[10] = 0.000000;//Ni
+    wW[11] = 0.000000;//Ca
+
+    den = 1.514930;
+    AliMixture(58,"SPD_HICABLES$",aA,zZ,den,+3,wW);
+    AliMedium(58,"SPD_HICABLES$",58,0,ifield,fieldm,tmaxfd,stemax,
+             deemax,epsil,stmin);
+
+    // PolyUrethane [C25-H42-N2-O6] - 07 Mar 10
+    zZ[2] =  7.0; aA[2] =  14.0067; // Nitrogen - From Root TGeoElementTable
+
+    wW[0] = 0.090724;//H
+    wW[2] = 0.060035;//N
+    wW[1] = 0.643513;//C
+    wW[3] = 0.205728;//O
+    wW[4] = 0.000000;//S
+    wW[5] = 0.000000;//F
+    wW[6] = 0.000000;//Sn
+    wW[7] = 0.000000;//Pb
+    wW[8] = 0.000000;//Cr
+    wW[9] = 0.000000;//Si
+    wW[10] = 0.000000;//Ni
+    wW[11] = 0.000000;//Ca
+
+    den = 1.158910;
+    AliMixture(67,"POLYURETHANE$",aA,zZ,den,+4,wW);
+    AliMedium(67,"POLYURETHANE$",67,0,ifield,fieldm,tmaxfd,stemax,
+             deemax,epsil,stmin);
+
+
+    // Anticorodal: Aliminum alloy for tray ring support on Side A
+    den = 2.710301;
+    AliMaterial(93,"ANTICORODAL$",0.26982E+02,0.13000E+02,den,0.89000E+01,0.99900E+03);
+    AliMedium(93,"ANTICORODAL$",93,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+    
 }
 
 //______________________________________________________________________
@@ -5838,8 +6092,8 @@ void AliITSv11Hybrid::StepManager(){
     Int_t copy, lay = 0;
     Int_t id = gMC->CurrentVolID(copy);
 
-    Bool_t notSens;
-    while ((notSens = id != fIdSens[lay]) && (lay<fIdN)) ++lay;
+    Bool_t notSens = kFALSE;
+    while ((lay<fIdN)  && (notSens = id != fIdSens[lay])) ++lay;
     if (notSens) return;
 
     if(gMC->IsTrackExiting()) {