]>
Commit | Line | Data |
---|---|---|
582646d8 | 1 | #ifndef ALICRTMODULE_H |
2 | #define ALICRTMODULE_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 | // CRT module geometry manager // | |
9 | ///////////////////////////////// | |
10 | ||
11 | #include <TNamed.h> | |
12 | ||
13 | class AliCRTModule : public TNamed { | |
14 | public: | |
15 | AliCRTModule(); | |
16 | AliCRTModule(const char* name, const char* title); | |
17 | AliCRTModule(const AliCRTModule& mod); | |
18 | virtual ~AliCRTModule(); | |
19 | ||
20 | AliCRTModule& operator=(const AliCRTModule& mod); | |
21 | ||
60a4d8d4 | 22 | void SetScintillatorThickness(Float_t thickness); |
23 | void SetScintillatorWidth(Float_t width); | |
24 | void SetScintillatorLenght(Float_t length); | |
582646d8 | 25 | |
60a4d8d4 | 26 | void SetFrameThickness(Float_t thickness); |
27 | void SetFrameWidth(Float_t width); | |
28 | void SetFrameLength(Float_t length); | |
582646d8 | 29 | |
60a4d8d4 | 30 | void SetNumberOfColumns(Int_t ncols); |
31 | void SetNumberOfRows(Int_t nrows); | |
582646d8 | 32 | |
60a4d8d4 | 33 | void SetZGap(Float_t zgap); |
34 | void SetXGap(Float_t xgap); | |
582646d8 | 35 | |
60a4d8d4 | 36 | Float_t ScintillatorThickness() const; |
37 | Float_t ScintillatorWidth() const; | |
38 | Float_t ScintillatorLenght() const; | |
582646d8 | 39 | |
60a4d8d4 | 40 | Float_t FrameThickness() const; |
41 | Float_t FrameWidth() const; | |
42 | Float_t FrameLength() const; | |
582646d8 | 43 | |
60a4d8d4 | 44 | Int_t NumberOfModules() const; |
45 | Int_t NumberOfColumns() const; | |
46 | Int_t NumberOfRows() const; | |
582646d8 | 47 | |
60a4d8d4 | 48 | Float_t ZGap() const; |
49 | Float_t XGap() const; | |
582646d8 | 50 | |
51 | private: | |
52 | Float_t fScintillatorThickness; // Scintillator thickness | |
53 | Float_t fScintillatorWidth; // Scintillator width | |
54 | Float_t fScintillatorLength; // Scintillator length | |
55 | Float_t fFrameThickness; // Aluminium frame thickness | |
56 | Float_t fFrameWidth; // Aluminium frame width | |
57 | Float_t fFrameLength; // Aliuminium frame length | |
58 | Int_t fNColumns;//Number of modules per column per magnet face (z coordinate) | |
59 | Int_t fNRows; // Number of module rows per magnet face (x coordinate) | |
60 | Float_t fZGap; // Gap in Z betwen modules | |
61 | Float_t fXGap; // Gap in X betwen modules | |
62 | ClassDef(AliCRTModule, 1)// CRT module geometry manager | |
63 | }; | |
64 | ||
60a4d8d4 | 65 | inline void AliCRTModule::SetScintillatorThickness(Float_t thick) |
582646d8 | 66 | { fScintillatorThickness = thick; } |
67 | ||
60a4d8d4 | 68 | inline void AliCRTModule::SetScintillatorWidth(Float_t width) |
582646d8 | 69 | { fScintillatorWidth = width; } |
70 | ||
60a4d8d4 | 71 | inline void AliCRTModule::SetScintillatorLenght(Float_t length) |
582646d8 | 72 | { fScintillatorLength = length; } |
73 | ||
60a4d8d4 | 74 | inline void AliCRTModule::SetFrameThickness(Float_t thick) |
582646d8 | 75 | { fFrameThickness = thick; } |
76 | ||
60a4d8d4 | 77 | inline void AliCRTModule::SetFrameWidth(Float_t width) |
582646d8 | 78 | { fFrameWidth = width; } |
79 | ||
60a4d8d4 | 80 | inline void AliCRTModule::SetFrameLength(Float_t length) |
582646d8 | 81 | { fFrameLength = length; } |
82 | ||
60a4d8d4 | 83 | inline void AliCRTModule::SetNumberOfColumns(Int_t ncols) |
582646d8 | 84 | { fNColumns = ncols; } |
85 | ||
60a4d8d4 | 86 | inline void AliCRTModule::SetNumberOfRows(Int_t nrows) |
582646d8 | 87 | { fNRows = nrows; } |
88 | ||
60a4d8d4 | 89 | inline void AliCRTModule::SetZGap(Float_t zgap) |
582646d8 | 90 | { fZGap = zgap; } |
91 | ||
60a4d8d4 | 92 | inline void AliCRTModule::SetXGap(Float_t xgap) |
582646d8 | 93 | { fXGap = xgap; } |
94 | ||
60a4d8d4 | 95 | inline Float_t AliCRTModule::ScintillatorThickness() const |
582646d8 | 96 | { return fScintillatorThickness; } |
97 | ||
60a4d8d4 | 98 | inline Float_t AliCRTModule::ScintillatorWidth() const |
582646d8 | 99 | { return fScintillatorWidth; } |
100 | ||
60a4d8d4 | 101 | inline Float_t AliCRTModule::ScintillatorLenght() const |
582646d8 | 102 | { return fScintillatorLength; } |
103 | ||
60a4d8d4 | 104 | inline Float_t AliCRTModule::FrameThickness() const |
582646d8 | 105 | { return fFrameThickness; } |
106 | ||
60a4d8d4 | 107 | inline Float_t AliCRTModule::FrameWidth() const |
582646d8 | 108 | { return fFrameWidth; } |
109 | ||
60a4d8d4 | 110 | inline Float_t AliCRTModule::FrameLength() const |
582646d8 | 111 | { return fFrameLength; } |
112 | ||
60a4d8d4 | 113 | inline Int_t AliCRTModule::NumberOfModules() const |
582646d8 | 114 | { return fNColumns*fNRows; } |
115 | ||
60a4d8d4 | 116 | inline Int_t AliCRTModule::NumberOfColumns() const |
582646d8 | 117 | { return fNColumns; } |
118 | ||
60a4d8d4 | 119 | inline Int_t AliCRTModule::NumberOfRows() const |
582646d8 | 120 | { return fNRows; } |
121 | ||
60a4d8d4 | 122 | inline Float_t AliCRTModule::ZGap() const |
582646d8 | 123 | { return fZGap; } |
124 | ||
60a4d8d4 | 125 | inline Float_t AliCRTModule::XGap() const |
582646d8 | 126 | { return fXGap; } |
127 | #endif // ALICRTMODULE_H |