Rotation Angle is +60 deg.
[u/mrichter/AliRoot.git] / RICH / AliRICHGeometry.h
CommitLineData
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 13class AliRICHGeometry :public TObject
897796c0 14{
9fb716cd 15public:
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
66private:
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
85inline 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 107inline 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