]>
Commit | Line | Data |
---|---|---|
a16179cb | 1 | // |
2 | // $Id$ | |
3 | // | |
4 | #ifndef ALIFMD3SUPPORT_H | |
5 | #define ALIFMD3SUPPORT_H | |
6 | ||
7 | #ifndef ROOT_TObject | |
8 | # include <TObject.h> | |
9 | #endif | |
10 | #ifndef ROOT_TArrayI | |
11 | # include <TArrayI.h> | |
12 | #endif | |
13 | ||
14 | class AliFMD3Support : public TObject | |
15 | { | |
16 | public: | |
17 | AliFMD3Support(); | |
18 | virtual ~AliFMD3Support(); | |
19 | virtual void SetupGeometry(Int_t airId, Int_t cId, | |
20 | Double_t innerZl, Double_t innerZh, | |
21 | Double_t innerRl, Double_t outerZl, | |
22 | Double_t outerZh, Double_t outerRl); | |
23 | virtual void Geometry(const char* mother, Int_t idRotId, Double_t z=0); | |
824466d5 | 24 | virtual void Gsatt() const; |
a16179cb | 25 | |
26 | void SetNoseZ(Double_t x=-46) { fNoseZ = x; } | |
27 | void SetNoseLowR(Double_t x=5.5) { fNoseLowR = x; } | |
28 | void SetNoseHighR(Double_t x=6.7) { fNoseHighR = x; } | |
29 | void SetNoseLength(Double_t x=2.8) { fNoseLength = x; } | |
30 | void SetBackLowR(Double_t x=61./2) { fBackLowR = x; } | |
31 | void SetBackHighR(Double_t x=66.8/2) { fBackHighR = x; } | |
32 | void SetBackLength(Double_t x=1.4) { fBackLength = x; } | |
33 | void SetBeamThickness(Double_t x=.5) { fBeamThickness = x; } | |
34 | void SetBeamWidth(Double_t x=6) { fBeamWidth = x; } | |
35 | void SetConeLength(Double_t x=30.9) { fConeLength = x; } | |
36 | void SetFlangeR(Double_t x=49.25) { fFlangeR = x; } | |
37 | void SetNBeam(Int_t n=8) { fNBeam = n; } | |
38 | void SetNFlange(Int_t n=4) { fNFlange = n; } | |
39 | ||
40 | Double_t GetNoseZ() const { return fNoseZ; } | |
41 | Double_t GetNoseLowR() const { return fNoseLowR; } | |
42 | Double_t GetNoseHighR() const { return fNoseHighR; } | |
43 | Double_t GetNoseLength() const { return fNoseLength; } | |
44 | Double_t GetBackLowR() const { return fBackLowR; } | |
45 | Double_t GetBackHighR() const { return fBackHighR; } | |
46 | Double_t GetBackLength() const { return fBackLength; } | |
47 | Double_t GetBeamThickness() const { return fBeamThickness; } | |
48 | Double_t GetBeamWidth() const { return fBeamWidth; } | |
49 | Double_t GetConeLength() const { return fConeLength; } | |
50 | Double_t GetFlangeR() const { return fFlangeR; } | |
51 | Int_t GetNBeam() const { return fNBeam; } | |
52 | Int_t GetNFlange() const { return fNFlange; } | |
53 | Double_t GetZ() const { return fZ; } | |
54 | Double_t ConeR(Double_t z, Option_t* opt="O") const; | |
55 | protected: | |
56 | Double_t fNoseZ; // Z position of front of nose | |
57 | Double_t fNoseLowR; // Nose inner radius | |
58 | Double_t fNoseHighR; // Nose outer radius | |
59 | Double_t fNoseLength; // Length of nose in Z | |
60 | Double_t fBackLowR; // Inner radius of base of cone | |
61 | Double_t fBackHighR; // Outer radius of base of cone | |
62 | Double_t fBackLength; // Length of base of cone in Z | |
63 | Double_t fBeamThickness; // Thickness of support beams | |
64 | Double_t fBeamWidth; // Width of support beams | |
65 | Double_t fConeLength; // Length of the cone in Z | |
66 | Double_t fFlangeR; // Outer radius of flanges | |
67 | Double_t fZ; // Midpoint of mother volume | |
68 | Double_t fAlpha; // Slope of cone | |
69 | ||
70 | Int_t fNBeam; // Number of support beams | |
71 | Int_t fNFlange; // Number of support flanges | |
72 | Int_t fNoseId; // Id of nose volume | |
73 | Int_t fBeamId; // Id of beam volumes | |
74 | Int_t fBackId; // Id of base volume | |
75 | Int_t fFlangeId; // Id of flange volume | |
76 | TArrayI fRotations; | |
77 | ||
78 | static const Char_t* fgkNoseName; // Name of nose volume | |
79 | static const Char_t* fgkBeamName; // Name of beam volumes | |
80 | static const Char_t* fgkBackName; // Name of base volume | |
81 | static const Char_t* fgkFlangeName; // Name of flange volume | |
82 | ||
83 | ClassDef(AliFMD3Support,1); // Geometry of Support for the FMD3 | |
84 | }; | |
85 | ||
86 | #endif | |
87 | //____________________________________________________________________ | |
88 | // | |
89 | // Local Variables: | |
90 | // mode: C++ | |
91 | // End: | |
92 | // | |
93 | // | |
94 | // EOF | |
95 | // |