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