]>
Commit | Line | Data |
---|---|---|
451f5018 | 1 | #ifndef ALIITSUSDIGIT_H |
2 | #define ALIITSUSDIGIT_H | |
3 | /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | #include <TObject.h> | |
7 | ||
e61afb80 | 8 | using std::istream; |
451f5018 | 9 | |
10 | class AliITSUSDigit: public TObject | |
11 | { | |
12 | public: | |
13 | enum {kBuffSize=10}; | |
14 | // | |
15 | AliITSUSDigit(); | |
852af72e | 16 | AliITSUSDigit(Int_t track,Int_t hit,UInt_t chip,UInt_t index,Double_t signal,Int_t roCycle=0); |
17 | AliITSUSDigit(UInt_t chip,UInt_t index,Double_t noise,Int_t roCycle=0); | |
451f5018 | 18 | AliITSUSDigit(const AliITSUSDigit &source); |
19 | AliITSUSDigit& operator=(const AliITSUSDigit &source); | |
20 | virtual ~AliITSUSDigit() {} | |
21 | Double_t GetSignal(Int_t i) const {return ( (i>=0&&i<kBuffSize) ? fSignal[i] : 0.0);} | |
22 | Double_t GetSignal() const {return fTsignal;} | |
23 | Double_t GetSignalAfterElect() const {return fSignalAfterElect;} | |
24 | Double_t GetSumSignal() const {return fTsignal+fNoise;} | |
25 | Double_t GetNoise() const {return fNoise;} | |
26 | Int_t GetNsignals() const {return kBuffSize;} | |
27 | void AddSignal(Int_t track,Int_t hit,Double_t signal); | |
28 | void AddSignalAfterElect(Double_t signal) {fSignalAfterElect += signal;} | |
29 | void AddNoise(Double_t noise) {fNoise += noise;} | |
30 | void SetNoise(Double_t noise) {fNoise = noise;} | |
b2679935 | 31 | void SetROCycle(Int_t cl) {fROCycle=cl;} |
32 | // | |
451f5018 | 33 | Int_t GetTrack(Int_t i) const {return ((i>=0&&i<kBuffSize) ? fTrack[i] : 0);} |
34 | Int_t GetHit(Int_t i) const {return ((i>=0&&i<kBuffSize) ? fHits[i] : 0);} | |
852af72e | 35 | Int_t GetChip() const {return fChip;} |
451f5018 | 36 | Int_t GetNTracks() const {return fNTracks;} |
b2679935 | 37 | Int_t GetROCycle() const {return fROCycle;} |
451f5018 | 38 | // |
39 | void Add(const AliITSUSDigit *pl); | |
40 | void AddTo(Int_t fileIndex, const AliITSUSDigit *pl); | |
41 | void ShiftIndices(Int_t fileIndex); | |
451f5018 | 42 | void Print(Option_t *option="") const; |
43 | Int_t Read(const char *name) {return TObject::Read(name);} | |
44 | // | |
45 | virtual Bool_t IsSortable() const {return kTRUE;} | |
46 | virtual Bool_t IsEqual(const TObject* obj) const {return GetUniqueID()==obj->GetUniqueID();} | |
47 | virtual Int_t Compare(const TObject* obj) const; | |
451f5018 | 48 | // |
49 | static Int_t GetBuffSize() {return kBuffSize;}; | |
50 | // | |
51 | private: | |
852af72e | 52 | UShort_t fChip; // chip number |
451f5018 | 53 | UShort_t fNTracks; // number of tracks contributing |
b2679935 | 54 | Int_t fROCycle; // readOut cycle |
451f5018 | 55 | Int_t fTrack[kBuffSize]; // track Number |
56 | Int_t fHits[kBuffSize]; // hit number | |
57 | Float_t fSignal[kBuffSize]; // Signals | |
58 | Float_t fTsignal; // Total signal (no noise) | |
59 | Float_t fNoise; // Total noise, coupling, ... | |
60 | Float_t fSignalAfterElect; // Signal after electronics | |
61 | // | |
b2679935 | 62 | ClassDef(AliITSUSDigit,2) // Item list of signals and track numbers |
451f5018 | 63 | }; |
64 | ||
451f5018 | 65 | |
66 | ||
67 | #endif |