]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSv11GeometrySupport.h
Fixes for bug #71984 ENUM_AS_BOOLEAN problem reported by Coverity
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySupport.h
CommitLineData
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 24class TGeoVolume;
25
26class 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
aa177c73 60 void TraySupportsSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
798b4e0c 61 void SPDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
aa177c73 62 void SPDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
798b4e0c 63 void SDDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
aa177c73 64 void SDDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
798b4e0c 65 void SSDCableTraysSideA(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
aa177c73 66 void SSDCableTraysSideC(TGeoVolume *moth, TGeoManager *mgr=gGeoManager);
798b4e0c 67
68 TGeoVolumeAssembly* CreateSDDForwardTraySideA(TGeoManager *mgr);
69
70 TGeoCompositeShape* CreateTrayAForwardCover(const Double_t coverLen);
71 TGeoCompositeShape* CreateTrayAExternalCover(const Double_t coverLen);
72 void CreateTrayACoverHolesShape(const Double_t wide, const Double_t length,
73 const Double_t r10,
74 Double_t *x, Double_t *y);
75
76 TGeoXtru* CreateSDDSSDTraysSideA(const Double_t trayLen,
77 const Double_t trayHi);
78
aa177c73 79 TGeoVolumeAssembly* CreateSDDSSDTraysSideC(const char *trayName,
80 TGeoManager *mgr=gGeoManager);
81
172b0d90 82 ClassDef(AliITSv11GeometrySupport,1) // ITS v11 Support geometry
83};
84
85#endif