AliRoot Core  edcc906 (edcc906)
AliMUONDigit.h
Go to the documentation of this file.
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$ */
7 // Revision of includes 07/05/2004
8 
12 
13 #ifndef ALIMUONVDIGIT_H
14 # include "AliMUONVDigit.h"
15 #endif
16 
17 class AliMUONDigit : public AliMUONVDigit
18 {
19  public:
20  AliMUONDigit();
21  AliMUONDigit(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t cathode);
22 
23  AliMUONDigit(const AliMUONDigit& rhs);
24  virtual ~AliMUONDigit();
25 
26  AliMUONDigit& operator=(const AliMUONDigit& rhs);
27 
29  virtual TObject* Clone(const char* /*newname*/ = "") const { return new AliMUONDigit(*this); }
30 
31  virtual Bool_t HasMCInformation() const { return kTRUE; }
32 
33  virtual Int_t DetElemId()const {return fDetElemId;}
34  virtual Int_t PadX() const {return fPadX;}
35  virtual Int_t PadY() const {return fPadY;}
36  virtual Int_t Cathode() const {return fCathode;}
37 
38  virtual Float_t Charge() const {return fSignal;}
39 
40  virtual Int_t Hit() const {return fHit;}
41 
42  virtual Float_t Time() const {return fTime;}
43 
44  virtual Int_t Ntracks() const { return fNtracks; }
45  virtual void AddTrack(Int_t trackNumber, Float_t trackCharge);
46  virtual Int_t Track(Int_t i) const;
47  virtual Float_t TrackCharge(Int_t i) const;
48 
49  virtual Int_t ADC() const { return fADC; }
50  virtual Int_t ManuId() const { return fManuId; }
51  virtual Int_t ManuChannel() const { return fManuChannel; }
52  virtual Bool_t IsSaturated() const;
53  virtual Bool_t IsNoiseOnly() const;
54  virtual Bool_t IsEfficiencyApplied() const;
55  virtual Bool_t IsConverted() const;
56  virtual Bool_t IsChargeInFC() const;
57  virtual UInt_t StatusMap() const { return fStatusMap; }
58 
59  virtual void NoiseOnly(Bool_t value=kTRUE);
60  virtual void Saturated(Bool_t saturated=kTRUE);
61  virtual void EfficiencyApplied(Bool_t value=kTRUE);
62  virtual void Converted(Bool_t value=kTRUE);
63  virtual void ChargeInFC(Bool_t value=kTRUE);
64 
65  virtual void SetADC(Int_t adc) {fADC=adc; }
66  virtual void SetPadXY(Int_t padx, Int_t pady) {fPadX = padx; fPadY=pady; }
67  virtual void SetCharge(Float_t q) {fSignal = q;}
68  virtual void SetHit(Int_t n) {fHit = n;}
69  virtual void SetTime(Float_t t) {fTime = t;}
70  virtual void SetStatusMap(UInt_t statusMap) { fStatusMap = statusMap; }
71 
72  virtual void Copy(TObject& digit) const;
73 
78  virtual void Clear(Option_t*);
79 
80  // Add mask to the track numbers.
81  virtual void PatchTracks(Int_t mask);
82 
83  virtual Bool_t MergeWith(const AliMUONVDigit& other);
84 
85  virtual Bool_t IsUsed() const;
86  virtual void Used(Bool_t value);
87 
88  virtual Bool_t IsCalibrated() const;
89  virtual void Calibrated(Bool_t value);
90 
91  virtual UInt_t GetUniqueID() const;
92 
93 private:
94  Int_t fDetElemId;
95  Int_t fManuId;
96  Int_t fManuChannel;
97  Float_t fSignal;
98 
99  Int_t fPadX;
100  Int_t fPadY;
101  Int_t fCathode;
102  Int_t fADC;
103  UInt_t fFlags;
104 
105  Int_t fNtracks;
106 
108  Float_t* fTcharges; //[fNtracks] charges of MC track making this digit
109 
111  Int_t* fTracks; //[fNtracks] primary MC tracks making this digit
112 
113  Int_t fHit;
114  Float_t fTime;
115 
116  UInt_t fStatusMap;
117 
118  static const UInt_t fgkSaturatedMask = 0x1;
119  static const UInt_t fgkUsedMask = 0x10;
120  static const UInt_t fgkCalibratedMask = 0x100;
121  static const UInt_t fgkNoiseOnlyMask = 0x1000;
122  static const UInt_t fgkEfficiencyMask = 0x2000;
123  static const UInt_t fgkConverted = 0x4000;
124  static const UInt_t fgkChargeInFC = 0x8000;
125 
126  ClassDef(AliMUONDigit,13) //Digits for MUON
127 };
128 
129 #endif
virtual Float_t Charge() const
Return signal amplitude.
Definition: AliMUONDigit.h:38
virtual Int_t ManuId() const
Return Id of the MANU chip.
Definition: AliMUONDigit.h:50
virtual Int_t Cathode() const
Return cathode number.
Definition: AliMUONDigit.h:36
Int_t fDetElemId
Detection element ID.
Definition: AliMUONDigit.h:94
UInt_t fFlags
Special flags (e.g. is the signal an overflow ?)
Definition: AliMUONDigit.h:103
virtual UInt_t StatusMap() const
Return Neighbouring pad status.
Definition: AliMUONDigit.h:57
virtual TObject * Clone(const char *="") const
Own clone methods (as the default TObject::Clone turned out to be pretty slow !)
Definition: AliMUONDigit.h:29
Int_t fADC
ADC value.
Definition: AliMUONDigit.h:102
virtual void Calibrated(Bool_t value)
Set the calibrated status (see note 1 in AliMUONVDigit.cxx)
virtual void SetHit(Int_t n)
Set MC hit number.
Definition: AliMUONDigit.h:68
virtual Int_t DetElemId() const
Return detection element ID.
Definition: AliMUONDigit.h:33
Int_t * fTracks
primary MC tracks making this digit
Definition: AliMUONDigit.h:111
virtual void SetStatusMap(UInt_t statusMap)
Set status map.
Definition: AliMUONDigit.h:70
Int_t fPadX
Pad number along x.
Definition: AliMUONDigit.h:99
virtual Int_t PadY() const
Return pad number along y.
Definition: AliMUONDigit.h:35
static const UInt_t fgkEfficiencyMask
indicate chamber efficiency has been applied to a simulated digit
Definition: AliMUONDigit.h:122
static const UInt_t fgkChargeInFC
charge unit are femto coulomb
Definition: AliMUONDigit.h:124
virtual Float_t TrackCharge(Int_t i) const
Return the i-th track charge.
virtual Int_t ADC() const
Return ADC value.
Definition: AliMUONDigit.h:49
virtual Bool_t IsEfficiencyApplied() const
Whether this (simulated) digit got corrected by chamber efficiency.
virtual Int_t Hit() const
Return MC hit number.
Definition: AliMUONDigit.h:40
virtual Bool_t IsNoiseOnly() const
Whether this (simulated) digit is purely noise.
virtual void ChargeInFC(Bool_t value=kTRUE)
Set the unit value (see note 1 in AliMUONVDigit.cxx)
Int_t fManuId
Id of the MANU chip.
Definition: AliMUONDigit.h:95
static const UInt_t fgkConverted
has been converted from a real digit
Definition: AliMUONDigit.h:123
virtual Int_t PadX() const
Return pad number along x.
Definition: AliMUONDigit.h:34
virtual void PatchTracks(Int_t mask)
Patch track with a mask.
static const UInt_t fgkSaturatedMask
the mask (part of fFlags) to indicate this digit is saturated
Definition: AliMUONDigit.h:118
virtual void SetTime(Float_t t)
Set MC hit age.
Definition: AliMUONDigit.h:69
virtual Bool_t IsSaturated() const
Whether the ADC has saturated.
virtual void SetPadXY(Int_t padx, Int_t pady)
Set pad number along x.
Definition: AliMUONDigit.h:66
virtual Bool_t IsCalibrated() const
Whether this digit has been calibrated or not (see note 1 in AliMUONVDigit.cxx)
Int_t fHit
MC hit number - temporary solution.
Definition: AliMUONDigit.h:113
Int_t fCathode
Cathode number.
Definition: AliMUONDigit.h:101
MUON digit.
Definition: AliMUONDigit.h:17
virtual Int_t Track(Int_t i) const
Return the i-th track number.
virtual void EfficiencyApplied(Bool_t value=kTRUE)
Set the efficiencyApplied status.
static const UInt_t fgkUsedMask
whether this digit is used by whatever other object (typically a cluster, though) ...
Definition: AliMUONDigit.h:119
virtual void SetCharge(Float_t q)
Set charge.
Definition: AliMUONDigit.h:67
virtual Bool_t IsUsed() const
Whether this digit is used somewhere (typically in a cluster)
virtual void Clear(Option_t *)
virtual Float_t Time() const
Hit age.
Definition: AliMUONDigit.h:42
virtual void Saturated(Bool_t saturated=kTRUE)
Set the saturation status.
virtual Bool_t MergeWith(const AliMUONVDigit &other)
Merge this with other.
Int_t fPadY
Pad number along y.
Definition: AliMUONDigit.h:100
static const UInt_t fgkNoiseOnlyMask
indicate a simulated digit due to noise only
Definition: AliMUONDigit.h:121
virtual ~AliMUONDigit()
virtual UInt_t GetUniqueID() const
UInt_t fStatusMap
Neighbouring pad status (whether ped, lv, hv were ok or not)
Definition: AliMUONDigit.h:116
virtual Int_t ManuChannel() const
Return Channel within the MANU chip.
Definition: AliMUONDigit.h:51
virtual void Copy(TObject &digit) const
Int_t fManuChannel
Channel within the MANU chip.
Definition: AliMUONDigit.h:96
ABC of a MUON digit.
Definition: AliMUONVDigit.h:18
virtual void Converted(Bool_t value=kTRUE)
Int_t fNtracks
MC tracks making to this digit.
Definition: AliMUONDigit.h:105
AliMUONDigit & operator=(const AliMUONDigit &rhs)
virtual Bool_t IsConverted() const
Whether or not this digit was obtained from a conversion (e.g. real to simulated) ...
virtual Bool_t HasMCInformation() const
Below are methods only relevant for MC digigts.
Definition: AliMUONDigit.h:31
virtual void Used(Bool_t value)
Set the used status.
static const UInt_t fgkCalibratedMask
whether this digits has been calibrated
Definition: AliMUONDigit.h:120
virtual void AddTrack(Int_t trackNumber, Float_t trackCharge)
Add a track (and its charge) to the list of tracks we handle.
virtual Int_t Ntracks() const
Return MC hit age.
Definition: AliMUONDigit.h:44
Float_t fSignal
Signal amplitude.
Definition: AliMUONDigit.h:97
Float_t fTime
MC hit age.
Definition: AliMUONDigit.h:114
virtual void NoiseOnly(Bool_t value=kTRUE)
Set the noiseOnly status.
virtual Bool_t IsChargeInFC() const
Whether this digit has charge in femto coulomb (see note 1 in AliMUONVDigit.cxx)
virtual void SetADC(Int_t adc)
Set ADC value.
Definition: AliMUONDigit.h:65
Float_t * fTcharges
charges of MC track making this digit
Definition: AliMUONDigit.h:108