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