AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONRealDigit.h
Go to the documentation of this file.
1 #ifndef ALIMUONREALDIGIT_H
2 #define ALIMUONREALDIGIT_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6 
7 // $Id$
8 
13 // author Laurent Aphecetche
14 
15 #ifndef ALIMUONVDIGIT_H
16 # include "AliMUONVDigit.h"
17 #endif
18 
20 {
21 public:
23  AliMUONRealDigit(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t cathode);
24  virtual ~AliMUONRealDigit();
25 
27  virtual Int_t DetElemId() const { return AliMUONVDigit::DetElemId(GetUniqueID()); }
28  virtual Int_t PadX() const;
29  virtual Int_t PadY() const;
31  virtual Int_t Cathode() const { return AliMUONVDigit::Cathode(GetUniqueID()); }
32 
34  virtual Float_t Charge() const { return fCharge; }
35 
37  virtual Int_t ADC() const { return fADC; }
38 
40  virtual Int_t ManuId() const { return AliMUONVDigit::ManuId(GetUniqueID()); }
42  virtual Int_t ManuChannel() const { return AliMUONVDigit::ManuChannel(GetUniqueID()); }
43 
45  virtual Bool_t IsSaturated() const { return TestBit(kSaturated); }
47  virtual void Saturated(Bool_t saturated=kTRUE) { SetBit(kSaturated,saturated); }
48 
50  virtual Bool_t IsNoiseOnly() const { return kFALSE; }
51 
53  virtual Bool_t IsEfficiencyApplied() const { return kFALSE; }
54 
56  virtual Bool_t IsCalibrated() const { return TestBit(kCalibrated); }
58  virtual void Calibrated(Bool_t value) { SetBit(kCalibrated,value); }
59 
61  virtual Bool_t IsChargeInFC() const { return TestBit(kChargeInFC); }
63  virtual void ChargeInFC(Bool_t value=kTRUE) { SetBit(kChargeInFC,value); }
64 
66  virtual Bool_t IsUsed() const { return TestBit(kUsed); }
68  virtual void Used(Bool_t value) { SetBit(kUsed,value); }
69 
71  virtual UInt_t StatusMap() const { return fStatusMap; }
73  virtual void SetStatusMap(UInt_t statusMap) { fStatusMap = statusMap; }
74 
76  virtual void SetADC(Int_t adc) { fADC = adc; }
77  virtual void SetPadXY(Int_t padx, Int_t pady);
79  virtual void SetCharge(Float_t q) { fCharge=q; }
80 
81  virtual Bool_t MergeWith(const AliMUONVDigit& other);
82 
84  virtual Bool_t HasMCInformation() const { return kFALSE; }
85 
86 private:
87  Float_t fCharge;
88  UInt_t fPadXY;
89  Int_t fADC;
90  UInt_t fStatusMap;
91 
93  enum EStatusBit
94  {
95  kSaturated = BIT(20),
96  kUsed = BIT(21),
97  kCalibrated = BIT(22),
98  kChargeInFC = BIT(23)
99  };
100 
101  ClassDef(AliMUONRealDigit,2) // Implementation of AliMUONVDigit
102 };
103 
104 #endif
virtual Bool_t IsEfficiencyApplied() const
Again, this is for simulation only.
virtual Int_t ManuChannel() const =0
The channel within ManuId() this digit belongs to (manuChannel for tracker, localBoardChannel for tri...
virtual Int_t ManuId() const
Return the manu chip this digit belongs to.
virtual void Calibrated(Bool_t value)
Set the calibration status.
virtual Bool_t IsUsed() const
Whether this digit is part of a cluster or something else.
virtual void SetCharge(Float_t q)
Set the charge.
virtual Int_t ManuChannel() const
Return the manu channel this digits is connected to.
whether the digit has been calibrated or not
virtual void Saturated(Bool_t saturated=kTRUE)
Set the saturation status.
virtual Int_t Cathode() const
Return the cathode this digit belongs to.
virtual void ChargeInFC(Bool_t value=kTRUE)
Set the charge unit value.
virtual Int_t DetElemId() const =0
The detection element this digit belongs to.
virtual void SetADC(Int_t adc)
Set the ADC value (should be between 0 and 4095)
whether the digit is used (e.g. in a cluster)
virtual Int_t ADC() const
ADC value (it is the real raw adc value, not pedestal subtracted)
virtual Int_t PadX() const
The x-index of this digit (>=0)
Implementation of AliMUONVDigit for real (i.e. not simulated) digits.
virtual UInt_t StatusMap() const
The status map (i.e. the status of the neighbours) of this digit.
virtual Bool_t IsCalibrated() const
Whether this digit is calibrated or not.
virtual Int_t PadY() const
The y-index of this digit (>=0)
virtual Bool_t IsNoiseOnly() const
We have no idea whether a real digit is noise only or not ;-)
virtual Int_t Cathode() const =0
Cathode number this digit is on (0 or 1)
virtual void Used(Bool_t value)
Set the used status.
virtual Bool_t HasMCInformation() const
No, this digit is not a Monte-Carlo one, sorry.
virtual void SetPadXY(Int_t padx, Int_t pady)
Set the ix and iy of this digit.
virtual Bool_t IsSaturated() const
Whether this digit's charge has saturated the electronics.
EStatusBit
Various statuses of the digit.
to indicate that manas amplifier has saturated
virtual Bool_t MergeWith(const AliMUONVDigit &other)
Merge this with other.
virtual Bool_t IsChargeInFC() const
Whether this digit has its charge already in fC.
virtual Int_t ManuId() const =0
The electronic card id this digit belongs to (manuId for tracker, localboardId for trigger) ...
ABC of a MUON digit.
Definition: AliMUONVDigit.h:18
UInt_t fPadXY
Pad number along x and Y (packed)
virtual Float_t Charge() const
Charge (should be non zero if calibrated)
virtual Int_t DetElemId() const
Return the detection element this digit belongs to.
whether the digit has a charge in fC or not
virtual void SetStatusMap(UInt_t statusMap)
Set the status map value.
Int_t fADC
Raw ADC value.
UInt_t fStatusMap
Neighbouring pad status (whether ped, gains, hv were ok or not)
Float_t fCharge
Charge on pad.
virtual ~AliMUONRealDigit()