]>
Commit | Line | Data |
---|---|---|
172b0d90 | 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 */ | |
5 | ||
a275e8ba | 6 | |
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. | |
14 | ||
15 | ||
172b0d90 | 16 | /* |
17 | $Id$ | |
18 | */ | |
a275e8ba | 19 | #include "AliITSv11Geometry.h" |
20 | #include <TGeoManager.h> | |
798b4e0c | 21 | #include <TGeoCompositeShape.h> |
22 | #include <TGeoXtru.h> | |
a275e8ba | 23 | |
172b0d90 | 24 | class TGeoVolume; |
25 | ||
26 | class AliITSv11GeometrySupport : public AliITSv11Geometry { | |
27 | public: | |
28 | AliITSv11GeometrySupport(){}; | |
543b7370 | 29 | AliITSv11GeometrySupport(Int_t debug):AliITSv11Geometry(debug){}; |
172b0d90 | 30 | virtual ~AliITSv11GeometrySupport(){}; |
31 | // | |
543b7370 | 32 | virtual void SPDCone(TGeoVolume *moth,TGeoManager *mgr=gGeoManager); |
543b7370 | 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); | |
798b4e0c | 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 | ||
172b0d90 | 44 | |
45 | private: | |
a275e8ba | 46 | void CreateSPDThermalShape(Double_t ina, Double_t inb, Double_t inr, |
47 | Double_t oua, Double_t oub, Double_t our, | |
48 | Double_t t, Double_t *x , Double_t *y ); | |
3d2705b6 | 49 | void CreateSPDOmegaShape(Double_t *xin, Double_t *yin, Double_t d, |
50 | Double_t *x, Double_t *y); | |
a275e8ba | 51 | void FillSPDXtruShape(Double_t a, Double_t b, Double_t r, |
52 | Double_t t, Double_t *x, Double_t *y); | |
3d2705b6 | 53 | void PointFromParallelLines(Double_t x1, Double_t y1, |
54 | Double_t x2, Double_t y2, Double_t d, | |
55 | Double_t &x, Double_t &y); | |
56 | ||
57 | void ReflectPoint(Double_t x1, Double_t y1, Double_t x2, Double_t y2, | |
58 | Double_t x3, Double_t y3, Double_t &x, Double_t &y); | |
a275e8ba | 59 | |
798b4e0c | 60 | void TraySupportsSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager); |
61 | void SPDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager); | |
62 | void SDDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager); | |
63 | void SSDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager); | |
64 | ||
65 | TGeoVolumeAssembly* CreateSDDForwardTraySideA(TGeoManager *mgr); | |
66 | ||
67 | TGeoCompositeShape* CreateTrayAForwardCover(const Double_t coverLen); | |
68 | TGeoCompositeShape* CreateTrayAExternalCover(const Double_t coverLen); | |
69 | void CreateTrayACoverHolesShape(const Double_t wide, const Double_t length, | |
70 | const Double_t r10, | |
71 | Double_t *x, Double_t *y); | |
72 | ||
73 | TGeoXtru* CreateSDDSSDTraysSideA(const Double_t trayLen, | |
74 | const Double_t trayHi); | |
75 | ||
172b0d90 | 76 | ClassDef(AliITSv11GeometrySupport,1) // ITS v11 Support geometry |
77 | }; | |
78 | ||
79 | #endif |