]>
Commit | Line | Data |
---|---|---|
a9e2aefa | 1 | #ifndef ALIMUONDIGIT_H |
2 | #define ALIMUONDIGIT_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
30178c30 | 7 | // Revision of includes 07/05/2004 |
a9e2aefa | 8 | |
692de412 | 9 | /// \ingroup base |
10 | /// \class AliMUONDigit | |
11 | /// \brief MUON digit | |
12 | ||
a9e2aefa | 13 | #include <TObject.h> |
14 | ||
cb73aa80 | 15 | static const Int_t kMAXTRACKS=10; |
0e88acc2 | 16 | |
a9e2aefa | 17 | class AliMUONDigit : public TObject { |
a450cfad | 18 | |
a9e2aefa | 19 | public: |
30178c30 | 20 | AliMUONDigit(); |
d694b6f6 | 21 | AliMUONDigit(const AliMUONDigit& rhs); |
a450cfad | 22 | AliMUONDigit(Int_t *digits); |
23 | AliMUONDigit(Int_t *tracks, Int_t *charges, Int_t *digits); | |
24 | virtual ~AliMUONDigit(); | |
61adb9bd | 25 | |
d694b6f6 | 26 | AliMUONDigit& operator=(const AliMUONDigit& rhs); |
a450cfad | 27 | |
a713db22 | 28 | virtual Bool_t IsSortable() const {return kTRUE;} |
29 | virtual int Compare(const TObject *obj) const; | |
30 | ||
81b31073 | 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;} | |
35 | ||
36 | virtual Int_t Signal() const {return fSignal;} | |
37 | ||
38 | virtual Int_t Physics() const {return fPhysics;} | |
39 | ||
40 | virtual Int_t Hit() const {return fHit;} | |
41 | virtual Int_t Track(Int_t i) const {return fTracks[i];} | |
42 | virtual Int_t TrackCharge(Int_t i) const {return fTcharges[i];} | |
43 | ||
44 | virtual Int_t ADC() const; | |
45 | virtual Int_t ManuId() const; | |
46 | virtual Int_t ManuChannel() const; | |
47 | virtual Bool_t IsSaturated() const; | |
48 | ||
49 | virtual void Saturated(Bool_t saturated=kTRUE); | |
50 | virtual void SetElectronics(Int_t manuId, Int_t manuChannel); | |
51 | virtual void SetADC(Int_t adc); | |
52 | virtual void SetDetElemId(Int_t id) {fDetElemId = id;} | |
53 | virtual void SetPadX(Int_t pad) {fPadX = pad;} | |
54 | virtual void SetPadY(Int_t pad) {fPadY = pad;} | |
55 | virtual void SetSignal(Int_t q) {fSignal = q;} | |
56 | virtual void AddSignal(Int_t q) {fSignal += q;} | |
57 | virtual void AddPhysicsSignal(Int_t q) {fPhysics += q;} | |
58 | virtual void SetHit(Int_t n) {fHit = n;} | |
59 | virtual void SetCathode(Int_t c) {fCathode = c;} | |
60 | virtual void SetPhysicsSignal(Int_t q) {fPhysics = q; } | |
61 | ||
62 | virtual void Print(Option_t* opt="") const; | |
63 | ||
64 | virtual void Copy(TObject& digit) const; | |
65 | ||
37c0cd40 | 66 | private: |
81b31073 | 67 | Int_t fPadX; // Pad number along x |
68 | Int_t fPadY; // Pad number along y | |
69 | Int_t fCathode; // Cathode number | |
a450cfad | 70 | |
81b31073 | 71 | Int_t fSignal; // Signal amplitude |
72 | Int_t fTcharges[kMAXTRACKS]; // charge per track making this digit (up to 10) | |
73 | Int_t fTracks[kMAXTRACKS]; // primary tracks making this digit (up to 10) | |
74 | Int_t fPhysics; // physics contribution to signal | |
75 | Int_t fHit; // hit number - temporary solution | |
76 | Int_t fDetElemId; // Detection element ID | |
a450cfad | 77 | |
81b31073 | 78 | Int_t fManuId; // Id of the MANU chip. |
79 | Int_t fManuChannel; // Channel within the MANU chip. | |
80 | Int_t fADC; // ADC value | |
81 | Bool_t fIsSaturated; // Is the signal an overflow ? | |
82 | ||
83 | ClassDef(AliMUONDigit,3) //Digits for MUON | |
a9e2aefa | 84 | }; |
85 | #endif |