]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/AliFMDSubDetector.h
Implement the new logging system (AliLog)
[u/mrichter/AliRoot.git] / FMD / AliFMDSubDetector.h
CommitLineData
4347b38f 1// -*- mode: c++ -*-
2#ifndef ALIFMDSUBDETECTOR_H
3#define ALIFMDSUBDETECTOR_H
4#ifndef ROOT_TObject
5# include <TObject.h>
6#endif
7#ifndef ALIFMDRING_H
8# include <AliFMDRing.h>
9#endif
10
11class TNode;
12class TList;
13
14
15//__________________________________________________________________
16struct AliFMDSubDetector : public TObject
17{
18protected:
19 Int_t fId; // Detector number
20 Double_t fInnerZ; // Position of outer ring along z
21 Double_t fOuterZ; // Position of outer ring along z
22 Double_t fHoneycombThickness; // Thickness of honeycomb plate
23 Double_t fKaptionThickness; // Thickness of kaption of honeycomb
24 Double_t fInnerHoneyLowR; // Inner radius of inner honeycomb
25 Double_t fInnerHoneyHighR; // Outer radius of inner honeycomb
26 Int_t fInnerHoneyTopId; // Volume ID of top of inner honeycomb
27 Int_t fInnerHoneyBottomId; // Volume ID of bottom of inner honeycomb
28 Double_t fOuterHoneyLowR; // Inner radius of outer honeycomb
29 Double_t fOuterHoneyHighR; // Outer radius of outer honeycomb
30 Int_t fOuterHoneyTopId; // Volume ID of top of outer honeycomb
31 Int_t fOuterHoneyBottomId; // Volume ID of bottom of outer honeycomb
32
33 Int_t fRotationId;
34
35 AliFMDRing* fInner; // Reference to inner ring description
36 AliFMDRing* fOuter; // Reference to outer ring description
37public:
38 AliFMDSubDetector(Int_t n);
39 virtual ~AliFMDSubDetector() {}
40 virtual void SetupGeometry(Int_t airId, Int_t kaptionId);
41 virtual void Geometry(const char* mother, Int_t pbRotId,
42 Int_t idRotId, Double_t z=0);
43 virtual void SimpleGeometry(TList* nodes,
44 TNode* mother,
45 Int_t colour,
46 Double_t zMother);
47
48 virtual void Gsatt();
49 virtual void Draw(Option_t* option="BIOL0") const; //*MENU*
50 virtual Bool_t CheckHit(Char_t ring, Int_t module, Double_t x, Double_t y);
51
52 void SetInner(AliFMDRing* r) { fInner = r; }
53 void SetOuter(AliFMDRing* r) { fOuter = r; }
54 void SetInnerZ(Double_t z) { fInnerZ = z; }
55 void SetOuterZ(Double_t z) { fOuterZ = z; }
56 void SetHoneycombThickness(Double_t t=1) { fHoneycombThickness = t; }
57 void SetInnerHoneyLowR(Double_t r) { fInnerHoneyLowR = r; }
58 void SetInnerHoneyHighR(Double_t r) { fInnerHoneyHighR = r; }
59 void SetOuterHoneyLowR(Double_t r) { fOuterHoneyLowR = r; }
60 void SetOuterHoneyHighR(Double_t r) { fOuterHoneyHighR = r; }
61 void SetKaptionThickness(Double_t t=.1) { fKaptionThickness = t; }
62
63 Double_t GetInnerZ() const { return fInnerZ; }
64 Double_t GetOuterZ() const { return fOuterZ; }
65 AliFMDRing* GetInner() const { return fInner; }
66 AliFMDRing* GetOuter() const { return fOuter; }
67 Double_t GetHoneycombThickness() const { return fHoneycombThickness; }
68 Double_t GetInnerHoneyLowR() const { return fInnerHoneyLowR; }
69 Double_t GetInnerHoneyHighR() const { return fInnerHoneyHighR; }
70 Double_t GetOuterHoneyLowR() const { return fOuterHoneyLowR; }
71 Double_t GetOuterHoneyHighR() const { return fOuterHoneyHighR; }
72 Double_t GetKaptionThickness() const { return fKaptionThickness; }
73 Int_t GetId() const { return fId; }
74 Bool_t IsFolder() const { return kTRUE; }
75
76 ClassDef(AliFMDSubDetector, 1) // Sub detectors
77};
78
79#endif