AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMFTPlane.h
Go to the documentation of this file.
1 #ifndef AliMFTPlane_H
2 #define AliMFTPlane_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
7 //====================================================================================================================================================
8 //
9 // Class for the description of the structure for the planes of the ALICE Muon Forward Tracker
10 //
11 // Contact author: antonio.uras@cern.ch
12 //
13 //====================================================================================================================================================
14 
15 #include "TNamed.h"
16 #include "THnSparse.h"
17 #include "TClonesArray.h"
18 #include "TAxis.h"
19 #include "TPave.h"
20 #include "TCanvas.h"
21 #include "TH2D.h"
22 #include "TEllipse.h"
23 #include "TMath.h"
24 #include "AliLog.h"
25 
26 
27 //====================================================================================================================================================
28 
29 class AliMFTPlane : public TNamed {
30 
31 public:
32 
33  AliMFTPlane();
34  AliMFTPlane(const Char_t *name, const Char_t *title);
35  AliMFTPlane(const AliMFTPlane& pt);
36  AliMFTPlane& operator=(const AliMFTPlane &source);
37 
38  virtual ~AliMFTPlane(); // destructor
39  virtual void Clear(const Option_t* /*opt*/);
40 
41  Bool_t Init(Int_t planeNumber,
42  Double_t zCenter,
43  Double_t rMin,
44  Double_t rMax,
45  Double_t pixelSizeX,
46  Double_t pixelSizeY,
47  Double_t thicknessActive,
48  Double_t thicknessSupport,
49  Double_t thicknessReadout,
50  Bool_t hasPixelRectangularPatternAlongY);
51 
52  Bool_t CreateStructure();
53 
54  Int_t GetNActiveElements() const { return fActiveElements->GetEntries(); }
55  Int_t GetNReadoutElements() const { return fReadoutElements->GetEntries(); }
56  Int_t GetNSupportElements() const { return fSupportElements->GetEntries(); }
57 
58  TClonesArray* GetActiveElements() { return fActiveElements; }
59  TClonesArray* GetReadoutElements() { return fReadoutElements; }
60  TClonesArray* GetSupportElements() { return fSupportElements; }
61 
62  THnSparseC* GetActiveElement(Int_t id);
63  THnSparseC* GetReadoutElement(Int_t id);
64  THnSparseC* GetSupportElement(Int_t id);
65 
66  Bool_t IsFront(THnSparseC *element) const { return (element->GetAxis(2)->GetXmin() < fZCenter); }
67 
68  void DrawPlane(Option_t *opt="");
69 
70  Double_t GetRMinSupport() const { return fRMinSupport; }
71  Double_t GetRMaxSupport() const { return fRMaxSupport; }
72  Double_t GetThicknessSupport() { return GetSupportElement(0)->GetAxis(2)->GetXmax() - GetSupportElement(0)->GetAxis(2)->GetXmin(); }
73 
74  Double_t GetZCenter() const { return fZCenter; }
75  Double_t GetZCenterActiveFront() const { return fZCenterActiveFront; }
76  Double_t GetZCenterActiveBack() const { return fZCenterActiveBack; }
77 
78  void SetEquivalentSilicon(Double_t equivalentSilicon) { fEquivalentSilicon = equivalentSilicon; }
79  void SetEquivalentSiliconBeforeFront(Double_t equivalentSiliconBeforeFront) { fEquivalentSiliconBeforeFront = equivalentSiliconBeforeFront; }
80  void SetEquivalentSiliconBeforeBack(Double_t equivalentSiliconBeforeBack) { fEquivalentSiliconBeforeBack = equivalentSiliconBeforeBack; }
81  Double_t GetEquivalentSilicon() const { return fEquivalentSilicon; }
84 
85  Int_t GetNumberOfChips(Option_t *opt);
87 
88 private:
89 
90  // measures in cm
91 
92  static const Double_t fActiveSuperposition; // superposition between the active elements tasselling the MFT planes, for having a
93  // full acceptance coverage even in case of 10 degrees inclined tracks
94  static const Double_t fHeightActive; // height of the active elements
95  static const Double_t fHeightReadout; // height of the readout elements attached to the active ones
96 
97  static const Double_t fSupportExtMargin; // minimum border size between the end of the support plane and the sensors: fHeightReadout + 0.3
98 
99  Int_t fPlaneNumber;
100 
103 
105 
107 
108  ClassDef(AliMFTPlane, 1)
109 
110 };
111 
112 //====================================================================================================================================================
113 
114 #endif
115 
Double_t fZCenter
Definition: AliMFTPlane.h:101
Int_t GetNReadoutElements() const
Definition: AliMFTPlane.h:55
Double_t fEquivalentSiliconBeforeBack
Definition: AliMFTPlane.h:102
Double_t fRMaxSupport
Definition: AliMFTPlane.h:101
TClonesArray * GetReadoutElements()
Definition: AliMFTPlane.h:59
Double_t fRMax
Definition: AliMFTPlane.h:101
Bool_t IsFront(THnSparseC *element) const
Definition: AliMFTPlane.h:66
Double_t fThicknessActive
Definition: AliMFTPlane.h:101
Double_t fEquivalentSilicon
Definition: AliMFTPlane.h:102
TClonesArray * fReadoutElements
Definition: AliMFTPlane.h:104
Double_t GetThicknessSupport()
Definition: AliMFTPlane.h:72
Int_t GetNSupportElements() const
Definition: AliMFTPlane.h:56
void SetEquivalentSiliconBeforeFront(Double_t equivalentSiliconBeforeFront)
Definition: AliMFTPlane.h:79
void DrawPlane(Option_t *opt="")
Double_t GetEquivalentSiliconBeforeFront() const
Definition: AliMFTPlane.h:82
Double_t GetRMinSupport() const
Definition: AliMFTPlane.h:70
Bool_t fPlaneIsOdd
Definition: AliMFTPlane.h:106
Double_t GetEquivalentSilicon() const
Definition: AliMFTPlane.h:81
void SetEquivalentSilicon(Double_t equivalentSilicon)
Definition: AliMFTPlane.h:78
Double_t fThicknessSupport
Definition: AliMFTPlane.h:101
Double_t GetRMaxSupport() const
Definition: AliMFTPlane.h:71
Bool_t Init(Int_t planeNumber, Double_t zCenter, Double_t rMin, Double_t rMax, Double_t pixelSizeX, Double_t pixelSizeY, Double_t thicknessActive, Double_t thicknessSupport, Double_t thicknessReadout, Bool_t hasPixelRectangularPatternAlongY)
Double_t fZCenterActiveFront
Definition: AliMFTPlane.h:102
Int_t GetNActiveElements() const
Definition: AliMFTPlane.h:54
Double_t fPixelSizeY
Definition: AliMFTPlane.h:101
THnSparseC * GetSupportElement(Int_t id)
Bool_t CreateStructure()
static const Double_t fSupportExtMargin
Definition: AliMFTPlane.h:97
THnSparseC * GetReadoutElement(Int_t id)
Double_t GetZCenterActiveBack() const
Definition: AliMFTPlane.h:76
virtual void Clear(const Option_t *)
AliMFTPlane & operator=(const AliMFTPlane &source)
Double_t fPixelSizeX
Definition: AliMFTPlane.h:101
TClonesArray * GetSupportElements()
Definition: AliMFTPlane.h:60
Double_t fThicknessReadout
Definition: AliMFTPlane.h:101
TClonesArray * fActiveElements
Definition: AliMFTPlane.h:104
Bool_t fHasPixelRectangularPatternAlongY
Definition: AliMFTPlane.h:106
Int_t GetNumberOfChips(Option_t *opt)
Double_t fEquivalentSiliconBeforeFront
Definition: AliMFTPlane.h:102
Int_t fPlaneNumber
Definition: AliMFTPlane.h:99
Bool_t HasPixelRectangularPatternAlongY()
Definition: AliMFTPlane.h:86
TClonesArray * GetActiveElements()
Definition: AliMFTPlane.h:58
static const Double_t fActiveSuperposition
Definition: AliMFTPlane.h:92
Double_t fRMinSupport
Definition: AliMFTPlane.h:101
static const Double_t fHeightActive
Definition: AliMFTPlane.h:94
void SetEquivalentSiliconBeforeBack(Double_t equivalentSiliconBeforeBack)
Definition: AliMFTPlane.h:80
Double_t GetZCenterActiveFront() const
Definition: AliMFTPlane.h:75
static const Double_t fHeightReadout
Definition: AliMFTPlane.h:95
virtual ~AliMFTPlane()
Double_t GetZCenter() const
Definition: AliMFTPlane.h:74
TClonesArray * fSupportElements
Definition: AliMFTPlane.h:104
Double_t GetEquivalentSiliconBeforeBack() const
Definition: AliMFTPlane.h:83
Double_t fZCenterActiveBack
Definition: AliMFTPlane.h:102
THnSparseC * GetActiveElement(Int_t id)