New class for PHOS support geometry
[u/mrichter/AliRoot.git] / PHOS / AliPHOSSupportGeometry.h
CommitLineData
fef3af45 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
23class AliPHOSSupportGeometry : public TObject {
24
25public:
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
52private:
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