3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 // Revision of includes 07/05/2004
10 /// \class AliMUONDigit
15 class AliMUONDigit : public TObject
19 AliMUONDigit(const AliMUONDigit& rhs);
21 AliMUONDigit(Int_t *digits);
23 AliMUONDigit(Int_t *tracks, Int_t *charges, Int_t *digits);
24 virtual ~AliMUONDigit();
26 AliMUONDigit& operator=(const AliMUONDigit& rhs);
28 virtual Bool_t IsSortable() const {return kTRUE;}
29 virtual int Compare(const TObject *obj) const;
31 virtual Int_t DetElemId()const {return fDetElemId;}
32 virtual Int_t PadX() const {return fPadX;}
33 virtual Int_t PadY() const {return fPadY;}
34 virtual Int_t Cathode() const {return fCathode;}
36 virtual Int_t Signal() const {return fSignal;}
38 virtual Int_t Physics() const {return fPhysics;}
40 virtual Int_t Hit() const {return fHit;}
42 virtual Int_t Ntracks() const { return fNtracks; }
43 virtual void AddTrack(Int_t trackNumber, Int_t trackCharge);
44 virtual Int_t Track(Int_t i) const;
45 virtual Int_t TrackCharge(Int_t i) const;
47 virtual Int_t ADC() const { return fADC; }
48 virtual Int_t ManuId() const { return fManuId; }
49 virtual Int_t ManuChannel() const { return fManuChannel; }
50 virtual Bool_t IsSaturated() const;
52 virtual void Saturated(Bool_t saturated=kTRUE);
53 virtual void SetElectronics(Int_t manuId, Int_t manuChannel);
54 virtual void SetADC(Int_t adc) { fADC=adc; }
55 virtual void SetDetElemId(Int_t id) {fDetElemId = id;}
56 virtual void SetPadX(Int_t pad) {fPadX = pad;}
57 virtual void SetPadY(Int_t pad) {fPadY = pad;}
58 virtual void SetSignal(Int_t q) {fSignal = q;}
59 virtual void AddSignal(Int_t q) {fSignal += q;}
60 virtual void AddPhysicsSignal(Int_t q) {fPhysics += q;}
61 virtual void SetHit(Int_t n) {fHit = n;}
62 virtual void SetCathode(Int_t c) {fCathode = c;}
63 virtual void SetPhysicsSignal(Int_t q) {fPhysics = q; }
65 virtual void Print(Option_t* opt="") const;
67 virtual void Copy(TObject& digit) const;
69 /** Delete the internal track arrays (which are dynamically allocated).
70 * This is to insure we can put those digits in e.g. TClonesArray
73 virtual void Clear(Option_t*);
75 /// Add mask to the track numbers.
76 virtual void PatchTracks(Int_t mask);
79 Int_t fDetElemId; // Detection element ID
80 Int_t fManuId; // Id of the MANU chip.
81 Int_t fManuChannel; // Channel within the MANU chip.
82 Int_t fSignal; // Signal amplitude
84 Int_t fPadX; // Pad number along x
85 Int_t fPadY; // Pad number along y
86 Int_t fCathode; // Cathode number
87 Int_t fADC; // ADC value
88 UInt_t fFlags; // Special flags (e.g. is the signal an overflow ?)
90 Int_t fNtracks; // MC tracks making to this digit.
91 Int_t* fTcharges; //[fNtracks] charges of MC track making this digit
92 Int_t* fTracks; //[fNtracks] primary MC tracks making this digit
93 Int_t fPhysics; // MC physics contribution to signal
94 Int_t fHit; // MC hit number - temporary solution
96 ClassDef(AliMUONDigit,4) //Digits for MUON