ROOT logo
#ifndef ALIITSUSDIGIT_H
#define ALIITSUSDIGIT_H
/* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice     */

#include <TObject.h>

using std::istream;

class AliITSUSDigit: public TObject 
{
 public:
  enum {kBuffSize=10};
  //
  AliITSUSDigit();
  AliITSUSDigit(Int_t track,Int_t hit,UInt_t chip,UInt_t index,Double_t signal,Int_t roCycle=0);
  AliITSUSDigit(UInt_t chip,UInt_t index,Double_t noise,Int_t roCycle=0);
  AliITSUSDigit(const AliITSUSDigit &source);
  AliITSUSDigit& operator=(const AliITSUSDigit &source);
  virtual ~AliITSUSDigit() {}
  Double_t GetSignal(Int_t i)    const {return ( (i>=0&&i<kBuffSize) ? fSignal[i] : 0.0);}
  Double_t GetSignal()           const {return fTsignal;}
  Double_t GetSignalAfterElect() const {return fSignalAfterElect;}
  Double_t GetSumSignal()        const {return fTsignal+fNoise;}
  Double_t GetNoise()            const {return fNoise;}
  Int_t GetNsignals()            const {return kBuffSize;}
  void AddSignal(Int_t track,Int_t hit,Double_t signal);
  void AddSignalAfterElect(Double_t signal) {fSignalAfterElect += signal;}
  void AddNoise(Double_t noise)  {fNoise += noise;}
  void SetNoise(Double_t noise)  {fNoise = noise;}
  void SetROCycle(Int_t cl)      {fROCycle=cl;}
  //
  Int_t GetTrack(Int_t i)        const {return ((i>=0&&i<kBuffSize) ? fTrack[i] : 0);}
  Int_t GetHit(Int_t i)          const {return ((i>=0&&i<kBuffSize) ? fHits[i] : 0);}
  Int_t GetChip()              const {return fChip;}
  Int_t GetNTracks()             const {return fNTracks;}
  Int_t GetROCycle()             const {return fROCycle;}
  //
  void Add(const AliITSUSDigit *pl);
  void AddTo(Int_t fileIndex, const AliITSUSDigit *pl);
  void ShiftIndices(Int_t fileIndex);
  void Print(Option_t *option="")                 const;
  Int_t Read(const char *name)                          {return TObject::Read(name);}
  //
  virtual Bool_t IsSortable()                     const {return kTRUE;}
  virtual Bool_t IsEqual(const TObject* obj)      const {return GetUniqueID()==obj->GetUniqueID();}
  virtual Int_t  Compare(const TObject* obj)      const;
  //
  static Int_t GetBuffSize() {return kBuffSize;};
  //
 private:
  UShort_t fChip;            // chip number
  UShort_t fNTracks;           // number of tracks contributing
  Int_t    fROCycle;           // readOut cycle
  Int_t    fTrack[kBuffSize];  // track Number
  Int_t    fHits[kBuffSize];   // hit number
  Float_t  fSignal[kBuffSize]; // Signals
  Float_t  fTsignal;           // Total signal (no noise)
  Float_t  fNoise;             // Total noise, coupling, ...
  Float_t  fSignalAfterElect;  // Signal after electronics
  //
  ClassDef(AliITSUSDigit,2) // Item list of signals and track numbers
};	



#endif
 AliITSUSDigit.h:1
 AliITSUSDigit.h:2
 AliITSUSDigit.h:3
 AliITSUSDigit.h:4
 AliITSUSDigit.h:5
 AliITSUSDigit.h:6
 AliITSUSDigit.h:7
 AliITSUSDigit.h:8
 AliITSUSDigit.h:9
 AliITSUSDigit.h:10
 AliITSUSDigit.h:11
 AliITSUSDigit.h:12
 AliITSUSDigit.h:13
 AliITSUSDigit.h:14
 AliITSUSDigit.h:15
 AliITSUSDigit.h:16
 AliITSUSDigit.h:17
 AliITSUSDigit.h:18
 AliITSUSDigit.h:19
 AliITSUSDigit.h:20
 AliITSUSDigit.h:21
 AliITSUSDigit.h:22
 AliITSUSDigit.h:23
 AliITSUSDigit.h:24
 AliITSUSDigit.h:25
 AliITSUSDigit.h:26
 AliITSUSDigit.h:27
 AliITSUSDigit.h:28
 AliITSUSDigit.h:29
 AliITSUSDigit.h:30
 AliITSUSDigit.h:31
 AliITSUSDigit.h:32
 AliITSUSDigit.h:33
 AliITSUSDigit.h:34
 AliITSUSDigit.h:35
 AliITSUSDigit.h:36
 AliITSUSDigit.h:37
 AliITSUSDigit.h:38
 AliITSUSDigit.h:39
 AliITSUSDigit.h:40
 AliITSUSDigit.h:41
 AliITSUSDigit.h:42
 AliITSUSDigit.h:43
 AliITSUSDigit.h:44
 AliITSUSDigit.h:45
 AliITSUSDigit.h:46
 AliITSUSDigit.h:47
 AliITSUSDigit.h:48
 AliITSUSDigit.h:49
 AliITSUSDigit.h:50
 AliITSUSDigit.h:51
 AliITSUSDigit.h:52
 AliITSUSDigit.h:53
 AliITSUSDigit.h:54
 AliITSUSDigit.h:55
 AliITSUSDigit.h:56
 AliITSUSDigit.h:57
 AliITSUSDigit.h:58
 AliITSUSDigit.h:59
 AliITSUSDigit.h:60
 AliITSUSDigit.h:61
 AliITSUSDigit.h:62
 AliITSUSDigit.h:63
 AliITSUSDigit.h:64
 AliITSUSDigit.h:65
 AliITSUSDigit.h:66
 AliITSUSDigit.h:67