]>
Commit | Line | Data |
---|---|---|
1 | #ifndef AliRICHGeometry_h | |
2 | #define AliRICHGeometry_h | |
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 | ||
10 | #include <iostream.h> | |
11 | #include <TObject.h> | |
12 | ||
13 | class AliRICHGeometry :public TObject | |
14 | { | |
15 | public: | |
16 | // ctor & dtor staff | |
17 | inline AliRICHGeometry(); // default ctor | |
18 | // inline methods: | |
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;} | |
24 | ||
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;} | |
30 | ||
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;} | |
51 | ||
52 | void SetRotationAngle(Float_t rotAngle) {fRotationAngle=rotAngle;} | |
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; | |
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 | |
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 | |
82 | ClassDef(AliRICHGeometry,3) // Chamber's main geometry parameters | |
83 | }; | |
84 | ||
85 | inline AliRICHGeometry::AliRICHGeometry() | |
86 | :TObject() | |
87 | { | |
88 | // Define the default values: | |
89 | ||
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 | |
101 | SetRotationAngle (60); // Azimuthal rotation angle in X-Y plane | |
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 | |
105 | }//AliRICHGeometry::ctor() | |
106 | ||
107 | inline void AliRICHGeometry::Print(Option_t *option)const | |
108 | { | |
109 | TObject::Print(); | |
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; | |
125 | }//void AliRICHGeometry::Print() | |
126 | ||
127 | //______________________________________________________ | |
128 | // Definition and manipulation with parameters describing RICH parametrised geometry. | |
129 | ||
130 | #endif //AliRICHGeometry_h |