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