]>
Commit | Line | Data |
---|---|---|
3bd79107 | 1 | #ifndef ALIITSDIGIT_H |
2 | #define ALIITSDIGIT_H | |
3da30618 | 3 | |
3bd79107 | 4 | //////////////////////////////////////////////// |
5 | // Digits classes for set:ITS // | |
6 | //////////////////////////////////////////////// | |
3bd79107 | 7 | #include <TObjArray.h> |
92c19c36 | 8 | #include <TObject.h> |
9 | ||
58005f18 | 10 | |
11 | //___________________________________________ | |
3bd79107 | 12 | class AliITSdigit: public TObject { |
13 | ||
14 | public: | |
15 | ||
16 | Int_t fCoord1; // Cell number on Z axis (SPD+SDD) , flag for side type (SSD) | |
17 | Int_t fCoord2 ; // Cell number on X axis (SPD+SDD) , strip number (SSD) | |
e8189707 | 18 | Int_t fSignal; // Signal in ADC counts |
3bd79107 | 19 | |
20 | public: | |
21 | AliITSdigit() { | |
22 | // constructor | |
23 | fSignal=fCoord1=fCoord2=0; | |
24 | } | |
25 | AliITSdigit(Int_t *digits); | |
e8189707 | 26 | virtual ~AliITSdigit() { |
3bd79107 | 27 | // destructor |
28 | } | |
7fc27b48 | 29 | |
30 | virtual int *GetTracks() {return 0;} | |
31 | virtual Int_t *GetHits() {return 0;} | |
3bd79107 | 32 | |
33 | ClassDef(AliITSdigit,1) // Real data digit object for set:ITS | |
34 | }; | |
35 | ||
36 | //___________________________________________ | |
37 | class AliITSdigitSPD: public AliITSdigit { | |
38 | ||
39 | public: | |
40 | ||
41 | // debugging -- goes to the dictionary | |
42 | Int_t fTracks[3]; // tracks making this digit | |
e8189707 | 43 | Int_t fHits[3]; // hits associated to the tracks |
44 | // 3 hits temporarily - it will be only 1 | |
3bd79107 | 45 | |
46 | public: | |
92c19c36 | 47 | |
48 | AliITSdigitSPD(); | |
3bd79107 | 49 | AliITSdigitSPD(Int_t *digits); |
e8189707 | 50 | AliITSdigitSPD(Int_t *digits, Int_t *tracks, Int_t *hits); |
3bd79107 | 51 | |
e8189707 | 52 | virtual ~AliITSdigitSPD(){ |
3bd79107 | 53 | // destructor |
54 | } | |
55 | virtual int *GetTracks() { | |
56 | // returns pointer to the array of tracks which make this digit | |
57 | return &fTracks[0]; | |
58 | } | |
7fc27b48 | 59 | |
60 | virtual Int_t *GetHits(){ | |
61 | // returns the pointer to the array of hits which made this digit | |
62 | return &fHits[0]; | |
63 | } | |
3bd79107 | 64 | |
65 | ClassDef(AliITSdigitSPD,1) // Simulated digit object for SPD | |
66 | }; | |
67 | ||
68 | //___________________________________________ | |
69 | class AliITSdigitSDD: public AliITSdigit { | |
70 | ||
71 | public: | |
72 | ||
73 | // debugging -- goes to the dictionary | |
74 | Int_t fTracks[3]; // tracks making this digit | |
e8189707 | 75 | Int_t fHits[3]; // hits associated to the tracks |
76 | // 3 hits temporarily - it will be only 1 | |
3bd79107 | 77 | Float_t fTcharges[3]; // charge per track making this digit |
78 | Float_t fPhysics; // signal particles contribution to signal | |
79 | ||
80 | public: | |
92c19c36 | 81 | |
82 | AliITSdigitSDD(); | |
3bd79107 | 83 | AliITSdigitSDD(Float_t phys,Int_t *digits); |
e8189707 | 84 | AliITSdigitSDD( Float_t phys, Int_t *digits, Int_t *tracks, Int_t *hits, Float_t *charges); |
3bd79107 | 85 | |
e8189707 | 86 | virtual ~AliITSdigitSDD(){ |
3bd79107 | 87 | // destructor |
88 | } | |
89 | virtual int *GetTracks() { | |
90 | // returns pointer to the array of tracks which make this digit | |
91 | return &fTracks[0]; | |
92 | } | |
93 | ||
7fc27b48 | 94 | virtual Int_t *GetHits(){ |
95 | // returns the pointer to the array of hits which made this digit | |
96 | return &fHits[0]; | |
97 | } | |
98 | ||
3bd79107 | 99 | ClassDef(AliITSdigitSDD,1) // Simulated digit object for SDD |
100 | }; | |
101 | ||
102 | //_____________________________________________________________________________ | |
103 | ||
104 | class AliITSTransientDigit : public AliITSdigitSDD { | |
105 | public: | |
106 | TObjArray *fTrackList; // track list | |
107 | public: | |
108 | AliITSTransientDigit() { | |
109 | // constructor | |
110 | fTrackList=0; | |
111 | } | |
112 | AliITSTransientDigit(Float_t phys,Int_t *digits); | |
113 | virtual ~AliITSTransientDigit() { | |
114 | // destructor | |
115 | delete fTrackList; | |
116 | } | |
117 | AliITSTransientDigit(const AliITSTransientDigit &source); // copy constructor | |
118 | AliITSTransientDigit& operator=(const AliITSTransientDigit &source); // ass. operator | |
119 | TObjArray *TrackList() { | |
120 | // returns pointer to the TObjArray of tracks and associated charges | |
121 | return fTrackList; | |
122 | } | |
123 | ||
124 | ClassDef(AliITSTransientDigit,1) // Transient digit for set: ITS | |
125 | }; | |
126 | ||
127 | //___________________________________________ | |
128 | class AliITSdigitSSD: public AliITSdigit { | |
129 | ||
130 | public: | |
131 | ||
132 | // debugging -- goes to the dictionary | |
133 | Int_t fTracks[3]; // tracks making this digit | |
e8189707 | 134 | Int_t fHits[3]; // hits associated to the tracks |
135 | // 3 hits temporarily - it will be only 1 | |
3bd79107 | 136 | |
137 | public: | |
92c19c36 | 138 | AliITSdigitSSD(); |
3bd79107 | 139 | AliITSdigitSSD(Int_t *digits); |
e8189707 | 140 | AliITSdigitSSD(Int_t *digits, Int_t *tracks, Int_t *hits); |
3bd79107 | 141 | |
e8189707 | 142 | virtual ~AliITSdigitSSD(){ |
3bd79107 | 143 | // destructor |
144 | } | |
145 | ||
146 | Int_t GetSignal() const { | |
147 | // returns signal | |
148 | return fSignal; | |
149 | } | |
150 | ||
151 | Int_t GetStripNumber() const { | |
152 | // returns strip number | |
153 | return fCoord2; | |
154 | } | |
155 | ||
156 | Int_t IsSideP() const { | |
157 | //returns 1 when side P and 0 when side N | |
158 | return fCoord1; | |
159 | } | |
160 | ||
161 | virtual int *GetTracks() { | |
162 | // returns pointer to the array of tracks which make this digit | |
163 | return &fTracks[0]; | |
164 | } | |
7fc27b48 | 165 | |
166 | virtual Int_t *GetHits(){ | |
167 | // returns the pointer to the array of hits which made this digit | |
168 | return &fHits[0]; | |
169 | } | |
170 | ||
3bd79107 | 171 | ClassDef(AliITSdigitSSD,1) // Simulated digit object for SSD |
172 | }; | |
58005f18 | 173 | |
58005f18 | 174 | |
58005f18 | 175 | #endif |