]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDigit.h
Move to new mapping
[u/mrichter/AliRoot.git] / MUON / AliMUONDigit.h
CommitLineData
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 15static const Int_t kMAXTRACKS=10;
0e88acc2 16
a9e2aefa 17class 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