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