]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/UPGRADE/AliITSUSDigit.h
Bringing the OB geometry up to date. Macros to produce material budget plots. General...
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUSDigit.h
CommitLineData
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 8using std::istream;
451f5018 9
10class 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