Moved mode lines to end of files
[u/mrichter/AliRoot.git] / FMD / AliFMDSubDetector.h
CommitLineData
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
14class TNode;
15class TList;
0d0e6995 16class AliFMDRing;
4347b38f 17
18
19//__________________________________________________________________
20struct AliFMDSubDetector : public TObject
21{
22protected:
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
41public:
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//