]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11GeometrySupport.h
Reactivate the method Improve() to reduce the fakes in PbPb -see Savannah bug 71798...
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySupport.h
index 528391efa3a41688c85e680f6594946499d84582..d776625fc5ef44f60833e9e75c9618cb89d7ea82 100644 (file)
@@ -18,6 +18,8 @@
  */
 #include "AliITSv11Geometry.h"
 #include <TGeoManager.h>
+#include <TGeoCompositeShape.h>
+#include <TGeoXtru.h>
 
 class TGeoVolume;
 
@@ -32,15 +34,50 @@ class AliITSv11GeometrySupport : public AliITSv11Geometry {
     virtual void SSDCone(TGeoVolume *moth,TGeoManager *mgr=gGeoManager);
     virtual void ServicesCableSupport(TGeoVolume *moth,
                                       TGeoManager *mgr=gGeoManager);
+    virtual void ServicesCableSupportSPD(TGeoVolume *moth,
+                                        TGeoManager *mgr=gGeoManager);
+    virtual void ServicesCableSupportSDD(TGeoVolume *moth,
+                                        TGeoManager *mgr=gGeoManager);
+    virtual void ServicesCableSupportSSD(TGeoVolume *moth,
+                                        TGeoManager *mgr=gGeoManager);
+
 
   private:
     void CreateSPDThermalShape(Double_t ina, Double_t inb, Double_t inr,
                               Double_t oua, Double_t oub, Double_t our,
                               Double_t   t, Double_t *x , Double_t *y );
-    void CreateSPDOmegaShape(Double_t *xin, Double_t *yin, Double_t  t,
-                            Double_t    d, Double_t   *x, Double_t *y);
+    void CreateSPDOmegaShape(Double_t *xin, Double_t *yin, Double_t  d,
+                            Double_t   *x, Double_t *y);
     void FillSPDXtruShape(Double_t a, Double_t  b, Double_t  r,
                          Double_t t, Double_t *x, Double_t *y);
+    void PointFromParallelLines(Double_t x1, Double_t y1,
+                               Double_t x2, Double_t y2, Double_t d,
+                               Double_t &x, Double_t &y);
+
+    void ReflectPoint(Double_t x1, Double_t y1, Double_t x2, Double_t y2,
+                     Double_t x3, Double_t y3, Double_t &x, Double_t &y);
+
+    void  TraySupportsSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
+    void SPDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
+    void SPDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
+    void SDDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
+    void SDDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
+    void SSDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
+    void SSDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
+
+    TGeoVolumeAssembly* CreateSDDForwardTraySideA(TGeoManager *mgr);
+
+    TGeoCompositeShape* CreateTrayAForwardCover(const Double_t coverLen);
+    TGeoCompositeShape* CreateTrayAExternalCover(const Double_t coverLen);
+    void CreateTrayACoverHolesShape(const Double_t wide, const Double_t length,
+                                   const Double_t r10,
+                                   Double_t *x, Double_t *y);
+
+    TGeoXtru* CreateSDDSSDTraysSideA(const Double_t trayLen,
+                                    const Double_t trayHi);
+
+    TGeoVolumeAssembly* CreateSDDSSDTraysSideC(const char *trayName,
+                                              TGeoManager *mgr=gGeoManager);
 
     ClassDef(AliITSv11GeometrySupport,1) // ITS v11 Support geometry
 };