Clean G4 dirs only if G4INSTALL (I.Hrivnacova)
[u/mrichter/AliRoot.git] / ITS / AliITSdigit.h
CommitLineData
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 12class AliITSdigit: public TObject {
13
14public:
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
20public:
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//___________________________________________
34class AliITSdigitSPD: public AliITSdigit {
35
36public:
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
43public:
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//___________________________________________
61class AliITSdigitSDD: public AliITSdigit {
62
63public:
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
72public:
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
91class AliITSTransientDigit : public AliITSdigitSDD {
92public:
93 TObjArray *fTrackList; // track list
94public:
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//___________________________________________
115class AliITSdigitSSD: public AliITSdigit {
116
117public:
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
124public:
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