]>
Commit | Line | Data |
---|---|---|
58005f18 | 1 | #ifndef ALIITSMODULE_H |
2 | #define ALIITSMODULE_H | |
3 | ||
4 | //#include "AliITSpoint.h" | |
5 | #include "AliITS.h" | |
6 | #include "AliITSdigit.h" | |
7 | #include "AliITShit.h" | |
8 | #include "TObjArray.h" | |
9 | #include "TArray.h" | |
10 | ||
11 | ||
12 | //________________________________________________________________ | |
13 | // | |
14 | // Class AliITSmodule | |
15 | // is a superclass for AliITSmoduleSSD, SPD and SDD. | |
16 | // The main function of modules is to simulate DIGITS from | |
17 | // GEANT HITS and produce POINTS from DIGITS | |
18 | // It also make fast simulation without use of DIGITS | |
19 | // | |
20 | // created by: A.Boucham, W.Peryt, S.Radomski, P.Skowronski | |
21 | // R.Barbera, B. Batynia, B. Nilsen | |
22 | // ver. 1.0 CERN, 16.09.1999 | |
23 | // | |
24 | //________________________________________________________________ | |
25 | // | |
26 | ||
27 | ||
28 | class AliITSmodule : public TObject { | |
29 | ||
30 | public: | |
31 | ||
32 | //________________________________________________________________ | |
33 | // | |
34 | // Constructors and deconstructor | |
35 | //________________________________________________________________ | |
36 | // | |
37 | ||
38 | AliITSmodule(); // default constructor | |
39 | AliITSmodule(Int_t index); // index in TObjectArray in ITS object | |
40 | ||
41 | virtual ~AliITSmodule() ; | |
42 | ||
43 | //________________________________________________________________ | |
44 | // | |
45 | // Position menagenent | |
46 | //________________________________________________________________ | |
47 | // | |
48 | ||
49 | inline Int_t GetIndex() { return fIndex;} | |
50 | //inline Int_t GetLayer() { return fLayer;} | |
51 | //inline Int_t GetLadder() { return fLadder;} | |
52 | //inline Int_t GetDet() { return fDet;} | |
53 | ||
54 | ||
55 | //________________________________________________________________ | |
56 | // | |
57 | // Hits menagement | |
58 | //________________________________________________________________ | |
59 | // | |
60 | ||
61 | inline Int_t GetNhits() { return fNhitsM;} | |
62 | // returns number of hits in this module | |
63 | ||
64 | inline TObjArray *GetHits() { return fHitsM; } | |
65 | // returns pointer to array (TClonesArray) of pointers to hits | |
66 | ||
67 | Int_t AddHit(AliITShit *hit); | |
68 | // Adds pointer of hit belonging to this module | |
69 | // and returns number of hits in this module | |
70 | ||
71 | //________________________________________________________________ | |
72 | // | |
73 | // Full Simulation | |
74 | //________________________________________________________________ | |
75 | // | |
76 | ||
77 | virtual void HitToDigit() {}; | |
78 | // this functon is virtual, becouse each type of a detector | |
79 | // make simulation in its own specific methods | |
80 | ||
81 | //________________________________________________________________ | |
82 | // | |
83 | // Reconstruction | |
84 | //________________________________________________________________ | |
85 | // | |
86 | ||
87 | virtual void DigitToPoint() {}; | |
88 | // this functon is virtual, becouse each type of a detector | |
89 | // make reconstruction in its own specific methods | |
90 | // classes DIGIT and POINT are specyfic to detector type | |
91 | ||
92 | //________________________________________________________________ | |
93 | // | |
94 | // Fast Simulation | |
95 | //________________________________________________________________ | |
96 | // | |
97 | ||
98 | virtual void HitToPoint() {}; | |
99 | // this functon is virtual, becouse each type of a detector | |
100 | // make fast simulation in its own specific methods | |
101 | // this simulation do not use DIGITS | |
102 | ||
103 | ||
104 | protected: | |
105 | ||
106 | //________________________________________________________________ | |
107 | // | |
108 | // Data members | |
109 | //________________________________________________________________ | |
110 | // | |
111 | ||
112 | AliDetector *fITS; // Pointer to ITS detector | |
113 | Int_t fIndex; // Index of this module in ITSmodules TObjectArray | |
114 | ||
115 | TObjArray *fHitsM; // Pointer to list of hits on this module | |
116 | Int_t fNhitsM; // Number of hits | |
117 | ||
118 | TArrayI *fIdigits; // Indexes of DIGITS belonging to this module | |
119 | // in array in ITS | |
120 | Int_t fNdigits; // Number of DIGITS | |
121 | ||
122 | TArrayI *fIpoints; // Indexes of POINTS belonging to this module | |
123 | // in array in ITS | |
124 | Int_t fNpoints; // Number of POINTS | |
125 | ||
126 | public: | |
127 | ||
128 | //________________________________________________________________ | |
129 | // | |
130 | // ROOT compatibility | |
131 | //________________________________________________________________ | |
132 | // | |
133 | ClassDef(AliITSmodule,1) | |
134 | }; | |
135 | ||
136 | #endif |