1 #ifndef ALIITSV11GEOMETRYSUPPORT_H
2 #define ALIITSV11GEOMETRYSUPPORT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 // This class Defines the Geometry for the ITS services and support cones
8 // outside of the ceneteral volume (except for the Ceneteral support
9 // cylinders. Other classes define the rest of the ITS. Specificaly the ITS
10 // The SSD support cone,SSD Support centeral cylinder, SDD support cone,
11 // The SDD cupport centeral cylinder, the SPD Thermal Sheald, The supports
12 // and cable trays on both the RB26 (muon dump) and RB24 sides, and all of
13 // the cabling from the ladders/stave ends out past the TPC.
19 #include "AliITSv11Geometry.h"
20 #include <TGeoManager.h>
21 #include <TGeoCompositeShape.h>
26 class AliITSv11GeometrySupport : public AliITSv11Geometry {
28 AliITSv11GeometrySupport(){};
29 AliITSv11GeometrySupport(Int_t debug):AliITSv11Geometry(debug){};
30 virtual ~AliITSv11GeometrySupport(){};
32 virtual void SPDCone(TGeoVolume *moth,TGeoManager *mgr=gGeoManager);
33 virtual void SDDCone(TGeoVolume *moth,TGeoManager *mgr=gGeoManager);
34 virtual void SSDCone(TGeoVolume *moth,TGeoManager *mgr=gGeoManager);
35 virtual void ServicesCableSupport(TGeoVolume *moth,
36 TGeoManager *mgr=gGeoManager);
37 virtual void ServicesCableSupportSPD(TGeoVolume *moth,
38 TGeoManager *mgr=gGeoManager);
39 virtual void ServicesCableSupportSDD(TGeoVolume *moth,
40 TGeoManager *mgr=gGeoManager);
41 virtual void ServicesCableSupportSSD(TGeoVolume *moth,
42 TGeoManager *mgr=gGeoManager);
43 virtual void ITSTPCSupports(TGeoVolume *moth,
44 TGeoManager *mgr=gGeoManager);
48 void CreateSPDThermalShape(Double_t ina, Double_t inb, Double_t inr,
49 Double_t oua, Double_t oub, Double_t our,
50 Double_t t, Double_t *x , Double_t *y );
51 void CreateSPDOmegaShape(const Double_t *xin, const Double_t *yin, Double_t d,
52 Double_t *x, Double_t *y);
53 void FillSPDXtruShape(Double_t a, Double_t b, Double_t r,
54 Double_t t, Double_t *x, Double_t *y) const;
55 void PointFromParallelLines(Double_t x1, Double_t y1,
56 Double_t x2, Double_t y2, Double_t d,
57 Double_t &x, Double_t &y) const;
59 void ReflectPoint(Double_t x1, Double_t y1, Double_t x2, Double_t y2,
60 Double_t x3, Double_t y3, Double_t &x, Double_t &y) const;
62 void TraySupportsSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
63 void SPDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
64 void SPDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
65 void SDDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
66 void SDDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
67 void SSDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
68 void SSDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
70 void CreateSDDForwardTraySideA(TGeoVolumeAssembly *tray, TGeoManager *mgr);
72 TGeoCompositeShape* CreateTrayAForwardCover(const Double_t coverLen);
73 TGeoCompositeShape* CreateTrayAExternalCover(const Double_t coverLen);
74 void CreateTrayACoverHolesShape(const Double_t wide, const Double_t length,
76 Double_t *x, Double_t *y);
78 TGeoXtru* CreateSDDSSDTraysSideA(const Double_t trayLen,
79 const Double_t trayHi);
81 TGeoVolumeAssembly* CreateSDDSSDTraysSideC(const char *trayName,
82 TGeoManager *mgr=gGeoManager);
84 ClassDef(AliITSv11GeometrySupport,1) // ITS v11 Support geometry