suppressed std:... implicit calls
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSUSDigit.h
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
8
9 class AliITSUSDigit: public TObject 
10 {
11  public:
12   enum {kBuffSize=10};
13   //
14   AliITSUSDigit();
15   AliITSUSDigit(Int_t track,Int_t hit,UInt_t module,UInt_t index,Double_t signal);
16   AliITSUSDigit(UInt_t module,UInt_t index,Double_t noise);
17   AliITSUSDigit(const AliITSUSDigit &source);
18   AliITSUSDigit& operator=(const AliITSUSDigit &source);
19   virtual ~AliITSUSDigit() {}
20   Double_t GetSignal(Int_t i)    const {return ( (i>=0&&i<kBuffSize) ? fSignal[i] : 0.0);}
21   Double_t GetSignal()           const {return fTsignal;}
22   Double_t GetSignalAfterElect() const {return fSignalAfterElect;}
23   Double_t GetSumSignal()        const {return fTsignal+fNoise;}
24   Double_t GetNoise()            const {return fNoise;}
25   Int_t GetNsignals()            const {return kBuffSize;}
26   void AddSignal(Int_t track,Int_t hit,Double_t signal);
27   void AddSignalAfterElect(Double_t signal) {fSignalAfterElect += signal;}
28   void AddNoise(Double_t noise)  {fNoise += noise;}
29   void SetNoise(Double_t noise)  {fNoise = noise;}
30   Int_t GetTrack(Int_t i)        const {return ((i>=0&&i<kBuffSize) ? fTrack[i] : 0);}
31   Int_t GetHit(Int_t i)          const {return ((i>=0&&i<kBuffSize) ? fHits[i] : 0);}
32   Int_t GetModule()              const {return fModule;}
33   Int_t GetNTracks()             const {return fNTracks;}
34   //
35   void Add(const AliITSUSDigit *pl);
36   void AddTo(Int_t fileIndex, const AliITSUSDigit *pl);
37   void ShiftIndices(Int_t fileIndex);
38   void Print(Option_t *option="")                 const;
39   Int_t Read(const char *name)                          {return TObject::Read(name);}
40   //
41   virtual Bool_t IsSortable()                     const {return kTRUE;}
42   virtual Bool_t IsEqual(const TObject* obj)      const {return GetUniqueID()==obj->GetUniqueID();}
43   virtual Int_t  Compare(const TObject* obj)      const;
44
45   //
46   static Int_t GetBuffSize() {return kBuffSize;};
47   //
48  private:
49   UShort_t fModule;            // module number
50   UShort_t fNTracks;           // number of tracks contributing
51   Int_t    fTrack[kBuffSize];  // track Number
52   Int_t    fHits[kBuffSize];   // hit number
53   Float_t  fSignal[kBuffSize]; // Signals
54   Float_t  fTsignal;           // Total signal (no noise)
55   Float_t  fNoise;             // Total noise, coupling, ...
56   Float_t  fSignalAfterElect;  // Signal after electronics
57   //
58   ClassDef(AliITSUSDigit,1) // Item list of signals and track numbers
59 };      
60
61
62
63 #endif