]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11GeometrySSD.cxx
Testing merging fixed
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySSD.cxx
index 08d596524f27b258c96aa9dbfeac3d059e88b957..0b221e73f3785c534b06449107e3506a4e819370 100644 (file)
@@ -42,8 +42,8 @@
 /////////////////////////////////////////////////////////////////////////////////
 // Names of the Sensitive Volumes of Layer 5 and Layer 6
 /////////////////////////////////////////////////////////////////////////////////
-const char* AliITSv11GeometrySSD::fgSSDsensitiveVolName5 = "ITSssdSensitivL5";
-const char* AliITSv11GeometrySSD::fgSSDsensitiveVolName6 = "ITSssdSensitivL6";
+const char* AliITSv11GeometrySSD::fgkSSDsensitiveVolName5 = "ITSssdSensitivL5";
+const char* AliITSv11GeometrySSD::fgkSSDsensitiveVolName6 = "ITSssdSensitivL6";
 /////////////////////////////////////////////////////////////////////////////////
 //Parameters for SSD Geometry
 /////////////////////////////////////////////////////////////////////////////////
@@ -494,7 +494,7 @@ const Double_t AliITSv11GeometrySSD::fgkEndCapSupportMiddleRadius[2] = {377.0*fg
 const Double_t AliITSv11GeometrySSD::fgkEndCapSupportLowRadius[2] = {375.0*fgkmm,435.0*fgkmm};
 const Double_t AliITSv11GeometrySSD::fgkEndCapSupportHighWidth = 20.0*fgkmm;
 const Double_t AliITSv11GeometrySSD::fgkEndCapSupportLowWidth[2] = {3.0*fgkmm,3.0*fgkmm};
-const Double_t AliITSv11GeometrySSD::fgkEndCapSupportCenterLay5ITSPosition = 625.0*fgkmm;
+const Double_t AliITSv11GeometrySSD::fgkEndCapSupportCenterLay5ITSPosition = 624.9*fgkmm;
 const Double_t AliITSv11GeometrySSD::fgkEndCapSupportCenterLay5Position = 2.5*fgkmm;
 const Double_t AliITSv11GeometrySSD::fgkEndCapSupportCenterLay6ITSPosition = 635.0*fgkmm;
 const Double_t AliITSv11GeometrySSD::fgkEndCapSupportCenterLay6Position = 2.5*fgkmm;
@@ -613,7 +613,9 @@ AliITSv11GeometrySSD::AliITSv11GeometrySSD():
   ////////////////////////
   // Standard constructor
   ////////////////////////
-
+  for(Int_t i=0; i<fgkendladdermountingblocknumber; i++){
+    fendladdermountingblockcombitrans[i] = NULL;
+  }
   for (Int_t i=0; i < fgkcarbonfibersupportnumber; i++) {
     fcarbonfibersupport[i] = 0;
     fcarbonfibersupportmatrix[i] = 0;
@@ -652,7 +654,7 @@ AliITSv11GeometrySSD::AliITSv11GeometrySSD():
   for (Int_t i=0; i < fgkendlabbercarbonfiberjunctionumber; i++) {
     fendladdercarbonfiberjunction[i] = 0;
   }
-  for (Int_t i=0; i < fgkendladdercabonfiberjunctionmatrixnumber; i++) {
+  for (Int_t i=0; i < fgkendladdercarbonfiberjunctionmatrixnumber; i++) {
     fendladdercarbonfiberjunctionmatrix[i] = 0;
   }
   for (Int_t i=0; i < fgkendladdercarbonfibermatrixnumber; i++) {
@@ -679,93 +681,12 @@ AliITSv11GeometrySSD::AliITSv11GeometrySSD():
   for (Int_t i = 0; i < 2; i++) {
     fLay5LadderSupport[i] = 0;
     fLay6LadderSupport[i] = 0;
+    fcoolingtubematrix[i] = NULL;
+    fendladdersegment[i] = NULL;
+    fendladdersegmentmatrix[i] = NULL;
   }
 }
-/////////////////////////////////////////////////////////////////////////////////
-AliITSv11GeometrySSD::AliITSv11GeometrySSD(const AliITSv11GeometrySSD &s):
-  AliITSv11Geometry(s.GetDebug()),
-  fSSDChipMedium(s.fSSDChipMedium),
-  fSSDChipGlueMedium(s.fSSDChipGlueMedium),
-  fSSDStiffenerMedium(s.fSSDStiffenerMedium),
-  fSSDStiffenerConnectorMedium(s.fSSDStiffenerConnectorMedium),
-  fSSDStiffener0603CapacitorMedium(s.fSSDStiffener0603CapacitorMedium),
-  fSSDStiffener1812CapacitorMedium(s.fSSDStiffener1812CapacitorMedium),
-  fSSDStiffenerCapacitorCapMedium(s.fSSDStiffenerCapacitorCapMedium),
-  fSSDStiffenerHybridWireMedium(s.fSSDStiffenerHybridWireMedium),
-  fSSDKaptonFlexMedium(s.fSSDKaptonFlexMedium),
-  fSSDAlTraceFlexMedium(s.fSSDAlTraceFlexMedium),
-  fSSDAlTraceLadderCableMedium(s.fSSDAlTraceLadderCableMedium),
-  fSSDKaptonLadderCableMedium(s.fSSDKaptonLadderCableMedium),
-  fSSDKaptonChipCableMedium(s.fSSDKaptonChipCableMedium),
-  fSSDAlTraceChipCableMedium(s.fSSDAlTraceChipCableMedium),
-  fSSDAlCoolBlockMedium(s.fSSDAlCoolBlockMedium),
-  fSSDSensorMedium(s.fSSDSensorMedium),
-  fSSDSensorSupportMedium(s.fSSDSensorSupportMedium),
-  fSSDCarbonFiberMedium(s.fSSDCarbonFiberMedium),
-  fSSDTubeHolderMedium(s.fSSDTubeHolderMedium),
-  fSSDCoolingTubeWater(s.fSSDCoolingTubeWater),
-  fSSDCoolingTubePhynox(s.fSSDCoolingTubePhynox),
-  fSSDSupportRingAl(s.fSSDSupportRingAl),
-  fSSDMountingBlockMedium(s.fSSDMountingBlockMedium),
-  fSSDRohaCellCone(s.fSSDRohaCellCone),
-  fSSDAir(s.fSSDAir),
-  fSSDCopper(s.fSSDCopper),  
-  fSSDSn(s.fSSDSn),
-  fCreateMaterials(s.fCreateMaterials),
-  fTransformationMatrices(s.fTransformationMatrices),
-  fBasicObjects(s.fBasicObjects),
-  fcarbonfiberjunction(s.fcarbonfiberjunction),
-  fcoolingtubesupport(s.fcoolingtubesupport),
-  fhybridmatrix(s.fhybridmatrix),
-  fssdcoolingblocksystem(s.fssdcoolingblocksystem),
-  fcoolingblocksystematrix(s.fcoolingblocksystematrix),
-  fssdstiffenerflex(s.fssdstiffenerflex),
-  fssdendflex(s.fssdendflex),
-  fcoolingtube(s.fcoolingtube),
-  fendladdercoolingtubesupportmatrix(s.fendladdercoolingtubesupportmatrix),
-  fendladdermountingblock(s.fendladdermountingblock),
-  fendladdermountingblockclip(s.fendladdermountingblockclip),
-  fSSDSensor5(s.fSSDSensor5),
-  fSSDSensor6(s.fSSDSensor6),
-  fSSDLayer5(s.fSSDLayer5),    
-  fSSDLayer6(s.fSSDLayer6),
-  fMotherVol(s.fMotherVol),
-  fLay5LadderSupportRing(s.fLay5LadderSupportRing),
-  fLay6LadderSupportRing(s.fLay6LadderSupportRing),
-  fgkEndCapSupportSystem(s.fgkEndCapSupportSystem),
-  fSSDCone(s.fSSDCone),
-  fColorCarbonFiber(s.fColorCarbonFiber),
-  fColorRyton(s.fColorRyton),
-  fColorPhynox(s.fColorPhynox),
-  fColorSilicon(s.fColorSilicon),
-  fColorAl(s.fColorAl),
-  fColorNiSn(s.fColorNiSn),
-  fColorKapton(s.fColorKapton),
-  fColorPolyhamide(s.fColorPolyhamide),
-  fColorStiffener(s.fColorStiffener),
-  fColorEpoxy(s.fColorEpoxy),
-  fColorWater(s.fColorWater),
-  fColorG10(s.fColorG10)
-{
-  ////////////////////////
-  // Copy Constructor
-  ////////////////////////
-}
-/////////////////////////////////////////////////////////////////////////////////
-AliITSv11GeometrySSD& AliITSv11GeometrySSD::
-operator=(const AliITSv11GeometrySSD &s){
-  ////////////////////////
-  // Assignment operator
-  ////////////////////////
-  this->~AliITSv11GeometrySSD();
-  new(this) AliITSv11GeometrySSD(s); 
-  return *this;
-/*     
-  if(&s == this) return *this;
-  fMotherVol = s.fMotherVol;
-  return *this;
- */
-}
+
 ///////////////////////////////////////////////////////////////////////////////
 void AliITSv11GeometrySSD::CreateTransformationMatrices(){
   ///////////////////////////////////////////////////////////////////////  
@@ -1226,21 +1147,21 @@ void AliITSv11GeometrySSD::CreateTransformationMatrices(){
   TGeoTranslation** localendladdercarbonfiberjunctiontrans[fgkendlabbercarbonfiberjunctionumber];    
   for(Int_t i=0; i<fgkendlabbercarbonfiberjunctionumber; i++){
       localendladdercarbonfiberjunctionmatrix[i] 
-            = new TGeoCombiTrans*[fgkendladdercabonfiberjunctionmatrixnumber];
+            = new TGeoCombiTrans*[fgkendladdercarbonfiberjunctionmatrixnumber];
       localendladdercarbonfiberjunctionrot[i] 
-            = new TGeoRotation*[fgkendladdercabonfiberjunctionmatrixnumber];
+            = new TGeoRotation*[fgkendladdercarbonfiberjunctionmatrixnumber];
       localendladdercarbonfiberjunctiontrans[i] 
-            = new TGeoTranslation*[fgkendladdercabonfiberjunctionmatrixnumber];
+            = new TGeoTranslation*[fgkendladdercarbonfiberjunctionmatrixnumber];
       fendladdercarbonfiberjunctionmatrix[i]
-            = new TGeoHMatrix*[fgkendladdercabonfiberjunctionmatrixnumber];
+            = new TGeoHMatrix*[fgkendladdercarbonfiberjunctionmatrixnumber];
   }
   for(Int_t i=0; i<fgkendlabbercarbonfiberjunctionumber; i++)    
-      for(Int_t j=0; j<fgkendladdercabonfiberjunctionmatrixnumber; j++){
+      for(Int_t j=0; j<fgkendladdercarbonfiberjunctionmatrixnumber; j++){
             localendladdercarbonfiberjunctionrot[i][j] = new TGeoRotation();
             localendladdercarbonfiberjunctiontrans[i][j] = new TGeoTranslation();
       }
   for(Int_t i=0; i<fgkendlabbercarbonfiberjunctionumber; i++)     
-      for(Int_t j=0; j<fgkendladdercabonfiberjunctionmatrixnumber; j++)
+      for(Int_t j=0; j<fgkendladdercarbonfiberjunctionmatrixnumber; j++)
           localendladdercarbonfiberjunctionrot[i][j]->SetAngles(120.*j,0.,0.);
   for(Int_t i=0; i<fgkendlabbercarbonfiberjunctionumber; i++){
       localendladdercarbonfiberjunctiontrans[i][1]->SetTranslation(fgkCarbonFiberTriangleLength,
@@ -1265,7 +1186,7 @@ void AliITSv11GeometrySSD::CreateTransformationMatrices(){
                                *localendladdercarbonfiberjunctionglobalrot[i]);
   }
   for(Int_t i=0; i<fgkendlabbercarbonfiberjunctionumber; i++)    
-      for(Int_t j=0; j<fgkendladdercabonfiberjunctionmatrixnumber; j++){
+      for(Int_t j=0; j<fgkendladdercarbonfiberjunctionmatrixnumber; j++){
             localendladdercarbonfiberjunctionmatrix[i][j] = 
                   new TGeoCombiTrans(*localendladdercarbonfiberjunctiontrans[i][j],
                                      *localendladdercarbonfiberjunctionrot[i][j]);
@@ -1332,6 +1253,7 @@ void AliITSv11GeometrySSD::CreateTransformationMatrices(){
             new TGeoTranslation(0.0,(1-i)*(fgkEndLadderMountingBlockPosition[i]
                         +  0.5*fgkSSDMountingBlockWidth),
                         -  0.5*fgkCarbonFiberLowerSupportHeight);
+  fendladderlowersupptrans[0]->SetDz(-0.5*fgkCarbonFiberLowerSupportHeight-fgkSSDTolerance);
   fendladderlowersupptrans[2] = new TGeoTranslation(0.0,
                                                                         fgkCarbonFiberLowerSupportVolumePosition[1]
                                                                +    fgkCarbonFiberLowerSupportVolumePosition[0],
@@ -1692,7 +1614,7 @@ void AliITSv11GeometrySSD::CreateTransformationMatrices(){
   }
  delete localladdermotherrot;
  for(Int_t i=0; i<fgkendlabbercarbonfiberjunctionumber; i++){    
-      for(Int_t j=0; j<fgkendladdercabonfiberjunctionmatrixnumber; j++){
+      for(Int_t j=0; j<fgkendladdercarbonfiberjunctionmatrixnumber; j++){
             delete localendladdercarbonfiberjunctionmatrix[i][j];
             delete localendladdercarbonfiberjunctionrot[i][j];
             delete localendladdercarbonfiberjunctiontrans[i][j];
@@ -1868,9 +1790,9 @@ void AliITSv11GeometrySSD::SetSSDSensor(){
                                                 0.5*fgkSSDSensorHeight,
                                                 0.5*ssdsensitivelength);
   TGeoVolume* ssdsensorsensitiveLay5 = 
-       new TGeoVolume(fgSSDsensitiveVolName5,ssdsensorsensitiveshape,fSSDSensorMedium);
+       new TGeoVolume(fgkSSDsensitiveVolName5,ssdsensorsensitiveshape,fSSDSensorMedium);
   TGeoVolume* ssdsensorsensitiveLay6 = 
-       new TGeoVolume(fgSSDsensitiveVolName6,ssdsensorsensitiveshape,fSSDSensorMedium);
+       new TGeoVolume(fgkSSDsensitiveVolName6,ssdsensorsensitiveshape,fSSDSensorMedium);
   ssdsensorsensitiveLay5->SetLineColor(fColorSilicon);
   ssdsensorsensitiveLay6->SetLineColor(fColorSilicon);
   TGeoBBox* ssdsensorinsensitiveshape[2];
@@ -2008,9 +1930,9 @@ TGeoVolume* AliITSv11GeometrySSD::GetCarbonFiberJunction(Double_t width){
                                                  fgkCarbonFiberJunctionEdge[0]
                        *                         TMath::Sin(fgkCarbonFiberJunctionAngle[0]
                        *                         TMath::DegToRad()));
-  vertex[4] = new TVector3(fgkCarbonFiberJunctionLength,
+  vertex[4] = new TVector3(fgkCarbonFiberJunctionLength-fgkSSDTolerance,
                                                   fgkCarbonFiberJunctionEdge[1]);
-  vertex[5] = new TVector3(fgkCarbonFiberJunctionLength); 
+  vertex[5] = new TVector3(fgkCarbonFiberJunctionLength-fgkSSDTolerance); 
   vertex[1] = GetReflection(vertex[5],reflectionparam);        
   vertex[2] = GetReflection(vertex[4],reflectionparam);        
   Double_t xvertexpoints[6], yvertexpoints[6];
@@ -2090,7 +2012,7 @@ TList* AliITSv11GeometrySSD::GetCarbonFiberLowerSupportList(){
 }
 ///////////////////////////////////////////////////////////////////////////////
 TGeoVolume* AliITSv11GeometrySSD::GetSSDSensorSupport(Double_t length, Double_t height, 
-                                                                Double_t width, Double_t* thickness)const{
+                                                                Double_t width, const Double_t* thickness)const{
   /////////////////////////////////////////////////////////////
   // Method generating the Sensor Support   
   /////////////////////////////////////////////////////////////  
@@ -2136,9 +2058,9 @@ TGeoVolume* AliITSv11GeometrySSD::GetCoolingTubeSupport(Int_t nedges){
   ///////////////////////////////////////
   TVector3** vertexposition = new TVector3*[kvertexnumber];
 
-  Double_t Router = fgkCoolingTubeSupportRmin/CosD(phi/nedges);  //  Recalc inner radius so that tube fits inside  
-  vertexposition[0] = new TVector3(Router*CosD(angle),
-                                                                  Router*SinD(angle));
+  Double_t router = fgkCoolingTubeSupportRmin/CosD(phi/nedges);  //  Recalc inner radius so that tube fits inside  
+  vertexposition[0] = new TVector3(router*CosD(angle),
+                                                                  router*SinD(angle));
   vertexposition[1] = new TVector3(fgkCoolingTubeSupportRmax*CosD(angle),
                                                                   fgkCoolingTubeSupportRmax*SinD(angle));
   vertexposition[2] = new TVector3(vertexposition[1]->X(),
@@ -2150,8 +2072,8 @@ TGeoVolume* AliITSv11GeometrySSD::GetCoolingTubeSupport(Int_t nedges){
 
   for(Int_t i=0; i<nedges; i++)
        vertexposition[i+5] = 
-               new TVector3(Router*CosD(psi+i*(2.*phi/nedges)),
-                            Router*SinD(psi+i*(2.*phi/nedges)));
+               new TVector3(router*CosD(psi+i*(2.*phi/nedges)),
+                            router*SinD(psi+i*(2.*phi/nedges)));
   ///////////////////////////////////////////////////////////////////////
   // TGeoXTru Volume definition for Cooling Tube Support Arc Part
   ///////////////////////////////////////////////////////////////////////
@@ -2338,12 +2260,12 @@ TList* AliITSv11GeometrySSD::GetSSDHybridParts(){
     xmothervertex[i][2] = 0.5*(fgkSSDSensorLength-ssdstiffenerseparation); //0.5*fgkSSDStiffenerWidth;
     ymothervertex[i][2] = -0.5*fgkSSDStiffenerHeight-fgkSSDChipHeight -fgkSSDChipCablesHeight[i+2];
     xmothervertex[i][3] = xmothervertex[i][2];
-    ymothervertex[i][3] = ymothervertex[i][2]+fgkSSDChipCablesHeight[0]+fgkSSDChipCablesHeight[1];
+    ymothervertex[i][3] = ymothervertex[i][2]+fgkSSDChipCablesHeight[0]+fgkSSDChipCablesHeight[1]+fgkSSDTolerance;
 
     xmothervertex[i][4] = xmothervertex[i][2]-0.4;  
     ymothervertex[i][4] = ymothervertex[i][3];
     xmothervertex[i][5] = xmothervertex[i][4];
-    ymothervertex[i][5] = ymothervertex[i][4]+2*ssdchipcablesradius[i];
+    ymothervertex[i][5] = ymothervertex[i][4]+2*ssdchipcablesradius[i]-fgkSSDTolerance;
 
     xmothervertex[i][6] = 0.5*fgkSSDStiffenerWidth+ssdchipcablesradius[i]+0.3*fgkmm;
     ymothervertex[i][6] = ymothervertex[i][5];
@@ -3083,11 +3005,11 @@ TGeoVolume* AliITSv11GeometrySSD::GetSSDMountingBlock(){
   xmothervertex[6]  = xvertex[5]+fgkSSDMountingBlockLength[2];
   ymothervertex[6]  = ymothervertex[5];
   xmothervertex[7]  = xmothervertex[6];
-  ymothervertex[7]  = ymothervertex[4];
+  ymothervertex[7]  = ymothervertex[4] - fgkSSDTolerance;
   xmothervertex[8]  = xmothervertex[7]
                                        + 0.5*(fgkSSDMountingBlockLength[1]
                                        -          fgkSSDMountingBlockLength[2]);
-  ymothervertex[8]  = ymothervertex[4];
+  ymothervertex[8]  = ymothervertex[7];
   xmothervertex[9]  = xmothervertex[8];
   ymothervertex[9]  = ymothervertex[2];
   xmothervertex[10] = xvertex[0]+fgkSSDMountingBlockLength[0];
@@ -3524,9 +3446,9 @@ void AliITSv11GeometrySSD::GetSSDChipCables(TGeoVolume *&cableL, TGeoVolume *&ca
   xmothervertex[3] = xvertexpoints[0][3+nedges];
   ymothervertex[3] = yvertexpoints[0][3+nedges];
   xmothervertex[4] = xvertexpoints[0][3+2*nedges];
-  ymothervertex[4] = yvertexpoints[0][3+2*nedges];
+  ymothervertex[4] = yvertexpoints[0][3+2*nedges]+fgkSSDTolerance;
   xmothervertex[5] = xvertexpoints[0][4+2*nedges];
-  ymothervertex[5] = yvertexpoints[0][4+2*nedges];
+  ymothervertex[5] = yvertexpoints[0][4+2*nedges]+fgkSSDTolerance;
   xmothervertex[6] = xvertexpoints[1][5+2*nedges];
   ymothervertex[6] = yvertexpoints[1][5+2*nedges];
   xmothervertex[7] = xvertexpoints[0][1];
@@ -3901,7 +3823,7 @@ void AliITSv11GeometrySSD::SetEndLadderSegment(){
   if(!fTransformationMatrices) CreateTransformationMatrices();
   if(!fBasicObjects) CreateBasicObjects();
   for(Int_t i=0; i<fgkendlabbercarbonfiberjunctionumber; i++){
-       for(Int_t j=0; j<fgkendladdercabonfiberjunctionmatrixnumber; j++)
+       for(Int_t j=0; j<fgkendladdercarbonfiberjunctionmatrixnumber; j++)
                fendladdersegment[i]->AddNode(j==2 ? 
                                                        fendladdercarbonfiberjunction[i][1] : 
                                                        fendladdercarbonfiberjunction[i][0],
@@ -5818,7 +5740,8 @@ void AliITSv11GeometrySSD::SetLadderSupport(Int_t nedges){
                                                                endcapsidecoverboxtrans[2*(kendcapcoverholenumber[0]-1)+3
                                                                +i*(kendcapcoverholenumber[1]-1)+j]);
        }
-       return endcapsidecovermother;
+  delete [] endcapsidecoverboxtrans;
+  return endcapsidecovermother;
  } 
  ////////////////////////////////////////////////////////////////////////////////
  TGeoVolume** AliITSv11GeometrySSD::GetEndCapCards() const { 
@@ -7798,7 +7721,7 @@ void AliITSv11GeometrySSD::SetLadderSupport(Int_t nedges){
   Double_t ssdcablepatchpanel3BB26radiusmin[2];
   Double_t ssdcablepatchpanel3BB26radiusmax[2];
   Double_t ssdcablepatchpanel3RB26zsection[2];
-  ssdcablepatchpanel3BB26radiusmin[0] = ssdcableslay5pconrmin[3]-0.5*fgkSSDPatchPanelHeight+2.8;
+  ssdcablepatchpanel3BB26radiusmin[0] = ssdcableslay5pconrmin[3]-0.5*fgkSSDPatchPanelHeight+2.8+0.003;//Avoid small overlap with SPDshieldring;
   ssdcablepatchpanel3BB26radiusmax[0] = ssdcablepatchpanel3BB26radiusmin[0]
                                                                          + fgkSSDCablesLay5RightSideHeight
                                                                          + fgkSSDCablesLay6RightSideHeight+0.5*fgkSSDPatchPanelHeight;
@@ -8021,7 +7944,7 @@ void AliITSv11GeometrySSD::SetLadderSupport(Int_t nedges){
   return ssdcablesmother;
  }
  ////////////////////////////////////////////////////////////////////////////////
-TGeoArb8* AliITSv11GeometrySSD::GetArbShape(TVector3* vertexpos[], Double_t* width, 
+TGeoArb8* AliITSv11GeometrySSD::GetArbShape(TVector3 const * const vertexpos[4] , const Double_t* width, 
                                             Double_t height, const char* shapename, Int_t isign) const{
   /////////////////////////////////////////////////////////////
   // Method generating an Arb shape 
@@ -8115,7 +8038,7 @@ TGeoXtru* AliITSv11GeometrySSD::GetArcShape(Double_t phi, Double_t rmin,
        return arcshape;
 }
 ////////////////////////////////////////////////////////////////////////////////
-TGeoShape* AliITSv11GeometrySSD::GetScrewShape(Double_t* radius,Int_t* edgesnumber,Double_t* section) const {
+TGeoShape* AliITSv11GeometrySSD::GetScrewShape(const Double_t* radius,const Int_t* edgesnumber,const Double_t* section) const {
   ///////////////////////////////////////////////////////////////////////
   // Method Generating the Screw Shape  
   // radius[0]: outer radius
@@ -8155,7 +8078,7 @@ TGeoShape* AliITSv11GeometrySSD::GetScrewShape(Double_t* radius,Int_t* edgesnumb
   return screwshape;
 }
 ////////////////////////////////////////////////////////////////////////////////
-TGeoShape* AliITSv11GeometrySSD::GetHoleShape(Double_t radius, Int_t nedges, Double_t *section) const {
+TGeoShape* AliITSv11GeometrySSD::GetHoleShape(Double_t radius, Int_t nedges, const Double_t *section) const {
   ///////////////////////////////////////////////////////////////////////
   // Method Generating the Hole Shape  
   // radius of the Hole
@@ -8187,7 +8110,7 @@ TGeoShape* AliITSv11GeometrySSD::GetHoleShape(Double_t radius, Int_t nedges, Dou
   return holeshape;
 }
 ////////////////////////////////////////////////////////////////////////////////
-TVector3* AliITSv11GeometrySSD::GetReflection(TVector3* vector,Double_t* param) const{
+TVector3* AliITSv11GeometrySSD::GetReflection(const TVector3* vector,const Double_t* param) const{
   /////////////////////////////////////////////////////////////
   // Given an axis specified by param, it gives the reflection of the point
   // respect to the axis
@@ -8203,7 +8126,7 @@ TVector3* AliITSv11GeometrySSD::GetReflection(TVector3* vector,Double_t* param)
   return reflectedvector;
 }
 ////////////////////////////////////////////////////////////////////////////////
-TGeoHMatrix* AliITSv11GeometrySSD::AddTranslationToHMatrix(TGeoHMatrix* ct,
+TGeoHMatrix* AliITSv11GeometrySSD::AddTranslationToHMatrix(const TGeoHMatrix* ct,
                                                        Double_t dx,
                                                        Double_t dy,
                                                        Double_t dz) const{
@@ -8303,3 +8226,4 @@ void AliITSv11GeometrySSD::CreateMaterials(){
   fCreateMaterials = kTRUE;
 }
 /////////////////////////////////////////////////////////////////////
+