Transition to NewIO
[u/mrichter/AliRoot.git] / PHOS / AliPHOSSupportGeometry.h
1 #ifndef ALIPHOSSUPPORTGEOMETRY_H
2 #define ALIPHOSSUPPORTGEOMETRY_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 // Geometry class  for PHOS : Support which holds all PHOS modules.
10 // Its data members provide geometry parametrization of
11 // the PHOS support which can be changed in the constructor only.
12 // Author:   Yuri Kharlov (IHEP, Protvino)
13 // 13 November 2000
14
15 #include <assert.h> 
16
17 // --- ROOT system ---
18
19 #include "TObjArray.h"
20
21 // --- AliRoot header files ---
22
23 class AliPHOSSupportGeometry : public TObject {
24
25 public: 
26
27            AliPHOSSupportGeometry();
28            AliPHOSSupportGeometry(const AliPHOSSupportGeometry & cpv) {
29              // cpy ctor requested by Coding Convention but not yet needed
30              assert(0==1) ;
31            } 
32   virtual ~AliPHOSSupportGeometry(void) {}
33
34   AliPHOSSupportGeometry & operator = (const AliPHOSSupportGeometry  & rvalue) {
35     // assignement operator requested by coding convention but not needed
36     assert(0==1) ;
37     return *this ; 
38   }
39   Float_t GetRailOuterSize(Int_t index)     const { return fRailOuterSize[index]; }
40   Float_t GetRailPart1    (Int_t index)     const { return fRailPart1[index]; }
41   Float_t GetRailPart2    (Int_t index)     const { return fRailPart2[index]; }
42   Float_t GetRailPart3    (Int_t index)     const { return fRailPart3[index]; }
43   Float_t GetRailPos      (Int_t index)     const { return fRailPos[index]; }
44   Float_t GetRailLength   ()                const { return fRailLength; }
45   Float_t GetDistanceBetwRails()            const { return fDistanceBetwRails; }
46   Float_t GetRailsDistanceFromIP()          const { return fRailsDistanceFromIP; }
47   Float_t GetRailRoadSize (Int_t index)     const { return fRailRoadSize[index]; }
48   Float_t GetCradleWallThickness()          const { return fCradleWallThickness; }
49   Float_t GetCradleWall   (Int_t index)     const { return fCradleWall[index]; }
50   Float_t GetCradleWheel  (Int_t index)     const { return fCradleWheel[index]; }
51  
52 private:
53
54   Float_t fRailOuterSize[3] ;       // Outer size of a rail                 +-------+
55   Float_t fRailPart1[3] ;           // Upper & bottom parts of the rail     |--+ +--|
56   Float_t fRailPart2[3] ;           // Vertical middle parts of the rail       | |
57   Float_t fRailPart3[3] ;           // Vertical upper parts of the rail        | |
58   Float_t fRailPos[3] ;             // Rail position vs. the ALICE center   |--+ +--|
59   Float_t fRailLength ;             // Length of the rail under the support +-------+
60   Float_t fDistanceBetwRails ;      // Distance between rails
61   Float_t fRailsDistanceFromIP ;    // Distance of rails from IP
62   Float_t fRailRoadSize[3] ;        // Outer size of the dummy box with rails
63   Float_t fCradleWallThickness ;    // PHOS cradle wall thickness
64   Float_t fCradleWall[5] ;          // Size of the wall of the PHOS cradle (shape TUBS)
65   Float_t fCradleWheel[3] ;         // "Wheels" by which the cradle rolls over the rails
66
67   ClassDef(AliPHOSSupportGeometry,1) // PHOS support geometry class 
68
69 } ;
70
71 #endif // AliPHOSSUPPORTGEOMETRY_H