d3382349 |
1 | #ifndef AliRICHGeometry_h |
2 | #define AliRICHGeometry_h |
237c933d |
3 | |
4 | |
5 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
6 | * See cxx source for full Copyright notice */ |
7 | |
8 | /* $Id$ */ |
9 | |
d3382349 |
10 | #include <iostream.h> |
237c933d |
11 | #include <TObject.h> |
12 | |
d3382349 |
13 | class AliRICHGeometry :public TObject |
897796c0 |
14 | { |
9fb716cd |
15 | public: |
16 | // ctor & dtor staff |
d3382349 |
17 | inline AliRICHGeometry(); // default ctor |
9fb716cd |
18 | // inline methods: |
d3382349 |
19 | void SetGapThickness(Float_t thickness) {fGapThickness=thickness;} // Radiator Thickness |
20 | Float_t GetGapThickness() const{return fGapThickness;} // Radiator thickness |
21 | |
22 | void SetProximityGapThickness(Float_t thickness) {fProximityGapThickness=thickness;} |
23 | Float_t GetProximityGapThickness() const{return fProximityGapThickness;} |
897796c0 |
24 | |
d3382349 |
25 | void SetQuartzLength(Float_t length) {fQuartzLength=length;} |
26 | Float_t GetQuartzLength() const{return fQuartzLength;} |
27 | |
28 | void SetQuartzWidth(Float_t width) {fQuartzWidth=width;} |
29 | Float_t GetQuartzWidth() const{return fQuartzWidth;} |
237c933d |
30 | |
d3382349 |
31 | void SetQuartzThickness(Float_t thickness) {fQuartzThickness=thickness;} |
32 | Float_t GetQuartzThickness() const{return fQuartzThickness;} |
33 | |
34 | void SetOuterFreonLength(Float_t length) {fOuterFreonLength=length;} |
35 | Float_t GetOuterFreonLength() const{return fOuterFreonLength;} |
36 | |
37 | void SetOuterFreonWidth(Float_t width) {fOuterFreonWidth=width;} |
38 | Float_t GetOuterFreonWidth() const{return fOuterFreonWidth;} |
39 | |
40 | void SetInnerFreonLength(Float_t length) {fInnerFreonLength=length;} |
41 | Float_t GetInnerFreonLength() const{return fInnerFreonLength;} |
42 | |
43 | void SetInnerFreonWidth(Float_t width) {fInnerFreonWidth=width;} |
44 | Float_t GetInnerFreonWidth() const{return fInnerFreonWidth;} |
45 | |
46 | void SetFreonThickness(Float_t thickness) {fFreonThickness=thickness;} |
47 | Float_t GetFreonThickness() const{return fFreonThickness;} |
48 | |
49 | void SetRadiatorToPads(Float_t distance) {fRadiatorToPads=distance;} |
50 | Float_t GetRadiatorToPads() const{return fRadiatorToPads;} |
237c933d |
51 | |
d3382349 |
52 | void SetRotationAngle(Float_t rotAngle) {fRotationAngle=rotAngle;} |
9fb716cd |
53 | Float_t GetRotationAngle() const {return fRotationAngle;} |
54 | |
55 | void SetAlphaAngle(Float_t alphaAngle) {fAlphaAngle=alphaAngle;} // Angle between modules in YZ plane |
56 | Float_t GetAlphaAngle() const {return fAlphaAngle;} // Angle between modules in YZ plane |
57 | |
58 | void SetBetaAngle(Float_t betaAngle) {fBetaAngle=betaAngle;} // Angle between modules in XY plane |
59 | Float_t GetBetaAngle() const {return fBetaAngle;} // Angle between modules in XY plane |
60 | |
61 | void SetOffset(Float_t offset) {fOffset=offset;} // Modules offset from IP |
62 | Float_t GetOffset() const {return fOffset;} // Modules offset from IP |
63 | |
64 | inline void Print(Option_t *option)const; |
d3382349 |
65 | |
66 | private: |
67 | Float_t fGapThickness; // Gap Thickness |
68 | Float_t fProximityGapThickness; // Proximity Gap Thickness |
69 | Float_t fQuartzLength; // Quartz Length |
70 | Float_t fQuartzWidth; // Quartz Width |
71 | Float_t fQuartzThickness; // Quartz Thickness |
72 | Float_t fOuterFreonLength; // Outer Freon Length |
73 | Float_t fOuterFreonWidth; // Outer Freon Width |
74 | Float_t fInnerFreonLength; // Inner Freon Length |
75 | Float_t fInnerFreonWidth; // Inner Freon Width |
76 | Float_t fFreonThickness; // Freon Thickness |
77 | Float_t fRadiatorToPads; // Distance from radiator to pads |
78 | Float_t fRotationAngle; // Azimuthal rotation angle in X-Y plane |
9fb716cd |
79 | Float_t fAlphaAngle; // Angle between modules in YZ plane |
80 | Float_t fBetaAngle; // Angle between modules in XY plane |
81 | Float_t fOffset; // Modules offset from IP |
2b00434a |
82 | ClassDef(AliRICHGeometry,3) // Chamber's main geometry parameters |
d3382349 |
83 | }; |
84 | |
85 | inline AliRICHGeometry::AliRICHGeometry() |
86 | :TObject() |
87 | { |
88 | // Define the default values: |
89 | |
9fb716cd |
90 | SetGapThickness (8); // Gap Thickness |
91 | SetProximityGapThickness(0.4); // Proximity Gap Thickness |
92 | SetQuartzLength (133); // Quartz Length |
93 | SetQuartzWidth (127.9); // Quartz Width |
94 | SetQuartzThickness (0.5); // Quartz Thickness |
95 | SetOuterFreonLength (133); // Outer Freon Length |
96 | SetOuterFreonWidth (41.3); // Outer Freon Width |
97 | SetInnerFreonLength (133); // Inner Freon Length |
98 | SetInnerFreonWidth (41.3); // Inner Freon Width |
99 | SetFreonThickness (1.5); // Freon Thickness |
100 | SetRadiatorToPads (0); // Distance from radiator to pads |
6bfbc8a6 |
101 | SetRotationAngle (60); // Azimuthal rotation angle in X-Y plane |
9fb716cd |
102 | SetAlphaAngle (19.5); // Angle between modules in YZ plane |
103 | SetBetaAngle (20); // Angle vetween modules in XY plane |
104 | SetOffset (490+1.267); // ???1.267??? Modules offset from IP |
d3382349 |
105 | }//AliRICHGeometry::ctor() |
237c933d |
106 | |
9fb716cd |
107 | inline void AliRICHGeometry::Print(Option_t *option)const |
d3382349 |
108 | { |
109 | TObject::Print(); |
9fb716cd |
110 | cout<<"Radiator Gap thickness: "<<GetGapThickness() <<endl; |
111 | cout<<"Proximity Gap thickness: "<<GetProximityGapThickness() <<endl; |
112 | cout<<"Quartz window length: "<<GetQuartzLength() <<endl; |
113 | cout<<"Quartz window width: "<<GetQuartzWidth() <<endl; |
114 | cout<<"Quartz window thickness: "<<GetQuartzThickness() <<endl; |
115 | cout<<"Outer freon length: "<<GetOuterFreonLength() <<endl; |
116 | cout<<"Outer freon width: "<<GetOuterFreonWidth() <<endl; |
117 | cout<<"Inner freon length: "<<GetInnerFreonLength() <<endl; |
118 | cout<<"Inner freon width: "<<GetInnerFreonWidth() <<endl; |
119 | cout<<"Freon thickness: "<<GetFreonThickness() <<endl; |
120 | cout<<"RadiatorToPads: "<<GetRadiatorToPads() <<endl; |
121 | cout<<"Rotation angle: "<<GetRotationAngle() <<endl; |
122 | cout<<"Alpha Angle: "<<GetAlphaAngle() <<endl; |
123 | cout<<"Beta angle: "<<GetBetaAngle() <<endl; |
124 | cout<<"Modules offset from IP: "<<GetOffset() <<endl; |
d3382349 |
125 | }//void AliRICHGeometry::Print() |
237c933d |
126 | |
9fb716cd |
127 | //______________________________________________________ |
128 | // Definition and manipulation with parameters describing RICH parametrised geometry. |
129 | |
d3382349 |
130 | #endif //AliRICHGeometry_h |