]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/AliFMDSubDetector.h
New member function to calculate fDz
[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 */
42403906 10//____________________________________________________________________
11//
12// Parameters of a sub-detector, and builder of sub detector geometry
13//
4347b38f 14#ifndef ROOT_TObject
15# include <TObject.h>
16#endif
4347b38f 17class TNode;
18class TList;
0d0e6995 19class AliFMDRing;
4347b38f 20
21
22//__________________________________________________________________
42403906 23class AliFMDSubDetector : public TObject
4347b38f 24{
4347b38f 25public:
26 AliFMDSubDetector(Int_t n);
27 virtual ~AliFMDSubDetector() {}
28 virtual void SetupGeometry(Int_t airId, Int_t kaptionId);
29 virtual void Geometry(const char* mother, Int_t pbRotId,
30 Int_t idRotId, Double_t z=0);
31 virtual void SimpleGeometry(TList* nodes,
32 TNode* mother,
33 Int_t colour,
34 Double_t zMother);
35
36 virtual void Gsatt();
37 virtual void Draw(Option_t* option="BIOL0") const; //*MENU*
38 virtual Bool_t CheckHit(Char_t ring, Int_t module, Double_t x, Double_t y);
39
40 void SetInner(AliFMDRing* r) { fInner = r; }
41 void SetOuter(AliFMDRing* r) { fOuter = r; }
42 void SetInnerZ(Double_t z) { fInnerZ = z; }
43 void SetOuterZ(Double_t z) { fOuterZ = z; }
44 void SetHoneycombThickness(Double_t t=1) { fHoneycombThickness = t; }
0d0e6995 45 void SetInnerHoneyLowR(Double_t r) { fInnerHoneyLowR = r; }
46 void SetInnerHoneyHighR(Double_t r) { fInnerHoneyHighR = r; }
47 void SetOuterHoneyLowR(Double_t r) { fOuterHoneyLowR = r; }
48 void SetOuterHoneyHighR(Double_t r) { fOuterHoneyHighR = r; }
49 void SetKaptionThickness(Double_t t=.1) { fKaptionThickness = t; }
4347b38f 50
51 Double_t GetInnerZ() const { return fInnerZ; }
52 Double_t GetOuterZ() const { return fOuterZ; }
53 AliFMDRing* GetInner() const { return fInner; }
54 AliFMDRing* GetOuter() const { return fOuter; }
55 Double_t GetHoneycombThickness() const { return fHoneycombThickness; }
0d0e6995 56 Double_t GetInnerHoneyLowR() const { return fInnerHoneyLowR; }
57 Double_t GetInnerHoneyHighR() const { return fInnerHoneyHighR; }
58 Double_t GetOuterHoneyLowR() const { return fOuterHoneyLowR; }
59 Double_t GetOuterHoneyHighR() const { return fOuterHoneyHighR; }
4347b38f 60 Double_t GetKaptionThickness() const { return fKaptionThickness; }
61 Int_t GetId() const { return fId; }
62 Bool_t IsFolder() const { return kTRUE; }
63
42403906 64protected:
65 Int_t fId; // Detector number
66 Double_t fInnerZ; // Position of outer ring along z
67 Double_t fOuterZ; // Position of outer ring along z
68 Double_t fHoneycombThickness; // Thickness of honeycomb plate
69 Double_t fKaptionThickness; // Thickness of kaption of honeycomb
70 Double_t fInnerHoneyLowR; // Inner radius of inner honeycomb
71 Double_t fInnerHoneyHighR; // Outer radius of inner honeycomb
72 Int_t fInnerHoneyTopId; // Volume ID of top of inner honeycomb
73 Int_t fInnerHoneyBottomId; // Volume ID of bottom of inner honeycomb
74 Double_t fOuterHoneyLowR; // Inner radius of outer honeycomb
75 Double_t fOuterHoneyHighR; // Outer radius of outer honeycomb
76 Int_t fOuterHoneyTopId; // Volume ID of top of outer honeycomb
77 Int_t fOuterHoneyBottomId; // Volume ID of bottom of outer honeycomb
78
79 Int_t fRotationId; // The ID of the sub-detector rotation
80
81 AliFMDRing* fInner; // Reference to inner ring description
82 AliFMDRing* fOuter; // Reference to outer ring description
83
0d0e6995 84 ClassDef(AliFMDSubDetector, 1) // FMD Sub detector base class
4347b38f 85};
86
87#endif
0d0e6995 88//____________________________________________________________________
89//
90// Local Variables:
91// mode: C++
92// End:
93//
94// EOF
95//