]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSmodule.h
New version of ITS for the TDR
[u/mrichter/AliRoot.git] / ITS / AliITSmodule.h
CommitLineData
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
28class AliITSmodule : public TObject {
29
30public:
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
104protected:
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
126public:
127
128 //________________________________________________________________
129 //
130 // ROOT compatibility
131 //________________________________________________________________
132 //
133 ClassDef(AliITSmodule,1)
134};
135
136#endif