]>
Commit | Line | Data |
---|---|---|
4347b38f | 1 | #ifndef ALIFMDSUBDETECTOR_H |
2 | #define ALIFMDSUBDETECTOR_H | |
0d0e6995 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights |
4 | * reserved. | |
5 | * | |
6 | * Latest changes by Christian Holm Christensen <cholm@nbi.dk> | |
7 | * | |
8 | * See cxx source for full Copyright notice | |
9 | */ | |
4347b38f | 10 | #ifndef ROOT_TObject |
11 | # include <TObject.h> | |
12 | #endif | |
4347b38f | 13 | |
14 | class TNode; | |
15 | class TList; | |
0d0e6995 | 16 | class AliFMDRing; |
4347b38f | 17 | |
18 | ||
19 | //__________________________________________________________________ | |
20 | struct AliFMDSubDetector : public TObject | |
21 | { | |
22 | protected: | |
23 | Int_t fId; // Detector number | |
24 | Double_t fInnerZ; // Position of outer ring along z | |
25 | Double_t fOuterZ; // Position of outer ring along z | |
26 | Double_t fHoneycombThickness; // Thickness of honeycomb plate | |
27 | Double_t fKaptionThickness; // Thickness of kaption of honeycomb | |
28 | Double_t fInnerHoneyLowR; // Inner radius of inner honeycomb | |
29 | Double_t fInnerHoneyHighR; // Outer radius of inner honeycomb | |
30 | Int_t fInnerHoneyTopId; // Volume ID of top of inner honeycomb | |
31 | Int_t fInnerHoneyBottomId; // Volume ID of bottom of inner honeycomb | |
32 | Double_t fOuterHoneyLowR; // Inner radius of outer honeycomb | |
33 | Double_t fOuterHoneyHighR; // Outer radius of outer honeycomb | |
34 | Int_t fOuterHoneyTopId; // Volume ID of top of outer honeycomb | |
35 | Int_t fOuterHoneyBottomId; // Volume ID of bottom of outer honeycomb | |
36 | ||
0d0e6995 | 37 | Int_t fRotationId; // The ID of the sub-detector rotation |
4347b38f | 38 | |
39 | AliFMDRing* fInner; // Reference to inner ring description | |
40 | AliFMDRing* fOuter; // Reference to outer ring description | |
41 | public: | |
42 | AliFMDSubDetector(Int_t n); | |
43 | virtual ~AliFMDSubDetector() {} | |
44 | virtual void SetupGeometry(Int_t airId, Int_t kaptionId); | |
45 | virtual void Geometry(const char* mother, Int_t pbRotId, | |
46 | Int_t idRotId, Double_t z=0); | |
47 | virtual void SimpleGeometry(TList* nodes, | |
48 | TNode* mother, | |
49 | Int_t colour, | |
50 | Double_t zMother); | |
51 | ||
52 | virtual void Gsatt(); | |
53 | virtual void Draw(Option_t* option="BIOL0") const; //*MENU* | |
54 | virtual Bool_t CheckHit(Char_t ring, Int_t module, Double_t x, Double_t y); | |
55 | ||
56 | void SetInner(AliFMDRing* r) { fInner = r; } | |
57 | void SetOuter(AliFMDRing* r) { fOuter = r; } | |
58 | void SetInnerZ(Double_t z) { fInnerZ = z; } | |
59 | void SetOuterZ(Double_t z) { fOuterZ = z; } | |
60 | void SetHoneycombThickness(Double_t t=1) { fHoneycombThickness = t; } | |
0d0e6995 | 61 | void SetInnerHoneyLowR(Double_t r) { fInnerHoneyLowR = r; } |
62 | void SetInnerHoneyHighR(Double_t r) { fInnerHoneyHighR = r; } | |
63 | void SetOuterHoneyLowR(Double_t r) { fOuterHoneyLowR = r; } | |
64 | void SetOuterHoneyHighR(Double_t r) { fOuterHoneyHighR = r; } | |
65 | void SetKaptionThickness(Double_t t=.1) { fKaptionThickness = t; } | |
4347b38f | 66 | |
67 | Double_t GetInnerZ() const { return fInnerZ; } | |
68 | Double_t GetOuterZ() const { return fOuterZ; } | |
69 | AliFMDRing* GetInner() const { return fInner; } | |
70 | AliFMDRing* GetOuter() const { return fOuter; } | |
71 | Double_t GetHoneycombThickness() const { return fHoneycombThickness; } | |
0d0e6995 | 72 | Double_t GetInnerHoneyLowR() const { return fInnerHoneyLowR; } |
73 | Double_t GetInnerHoneyHighR() const { return fInnerHoneyHighR; } | |
74 | Double_t GetOuterHoneyLowR() const { return fOuterHoneyLowR; } | |
75 | Double_t GetOuterHoneyHighR() const { return fOuterHoneyHighR; } | |
4347b38f | 76 | Double_t GetKaptionThickness() const { return fKaptionThickness; } |
77 | Int_t GetId() const { return fId; } | |
78 | Bool_t IsFolder() const { return kTRUE; } | |
79 | ||
0d0e6995 | 80 | ClassDef(AliFMDSubDetector, 1) // FMD Sub detector base class |
4347b38f | 81 | }; |
82 | ||
83 | #endif | |
0d0e6995 | 84 | //____________________________________________________________________ |
85 | // | |
86 | // Local Variables: | |
87 | // mode: C++ | |
88 | // End: | |
89 | // | |
90 | // EOF | |
91 | // |