AliMUONPad(Int_t detElemId, Int_t cathode,
Int_t ix, Int_t iy, Double_t x, Double_t y,
Double_t dx, Double_t dy, Double_t charge);
- virtual ~AliMUONPad() {}
+ virtual ~AliMUONPad();
+ /// \brief Backup charge
+ /// Usefull if clustering somehow plays with the charge, this one is the "original" one
void BackupCharge() { fChargeBackup = fCharge; }
+ /// Return cathode number
Int_t Cathode() const { return fCathode; }
Double_t Coord(Int_t ixy) const;
+ /// Return pad charge
Double_t Charge() const { return fCharge; }
+ /// Return backup charge
Double_t ChargeBackup() const { return fChargeBackup; }
- virtual Int_t Compare(const TObject* obj) const;
-
+ /// Return detection element id
Int_t DetElemId() const { return fDetElemId; }
- Int_t DigitIndex() const { return fDigitIndex; }
-
+ /// Return half dimensions in x and y (cm)
TVector2 Dimensions() const { return fDimensions; }
+ /// Return half dimensions in x (cm)
Double_t DX() const { return fDimensions.X(); }
+ /// Return half dimensions in y (cm)
Double_t DY() const { return fDimensions.Y(); }
+ /// Return info whether this is a real pad or a virtual one
Bool_t IsReal() const { return fIsReal; }
+ /// Return info whether this pad is saturated or not
Bool_t IsSaturated() const { return fIsSaturated; }
+ /// Return true as the function Compare is implemented
Bool_t IsSortable() const { return kTRUE; }
+ virtual Int_t Compare(const TObject* obj) const;
+
+ /// Return true if is used
Bool_t IsUsed() const { return fClusterId >= 0; }
+ /// Return x-index
Int_t Ix() const { return fIx; }
+ /// Return y-index
Int_t Iy() const { return fIy; }
virtual void Paint(Option_t* opt="");
+ /// Return positions in x and y (cm)
TVector2 Position() const { return fPosition; }
void Print(Option_t* opt = "") const;
- // Detach this pad from a cluster
+ /// Detach this pad from a cluster
void Release() { fClusterId = -1; }
+ /// Set charge to value in backup charge
void RevertCharge() { fCharge = fChargeBackup; }
+ /// Set charge
void SetCharge(Double_t charge) { fCharge = charge; }
+ /// Set charge backup
void SetChargeBackup(Double_t charge) { fChargeBackup = charge; }
void SetCoord(Int_t ixy, Double_t Coord);
- void SetDigitIndex(Int_t digitIndex) { fDigitIndex = digitIndex; }
-
+ /// Set status word
void SetStatus(Int_t status) { fStatus = status; }
+ /// \brief Set cluster id this pad belongs to
+ /// -1 if not attached to a cluster
void SetClusterId(Int_t id) { fClusterId = id; }
+ /// Set info whether this pad is saturated or not
void SetSaturated(Bool_t val) { fIsSaturated = val; }
void SetSize(Int_t ixy, Double_t Size);
+ /// Set info whether this is a real pad or a virtual one
void SetReal(Bool_t val) { fIsReal = val; }
void Shift(Int_t ixy, Double_t shift);
Double_t Size(Int_t ixy) const;
+ /// Return status word
Int_t Status() const { return fStatus; }
+ /// Return position in x (cm)
Double_t X() const { return fPosition.X(); }
+ /// Return position in y (cm)
Double_t Y() const { return fPosition.Y(); }
static AliMpArea Overlap(const AliMUONPad& d1, const AliMUONPad& d2);
Double_t charge);
private:
- Bool_t fIsSaturated; /// whether this pad is saturated or not
- Bool_t fIsReal; /// whether this is a real pad or a virtual one
- Int_t fClusterId; /// cluster id this pad belongs to (-1 if not attached to a cluster)
- Int_t fCathode; /// cathode number
- Int_t fDetElemId; /// detection element id
- Int_t fDigitIndex; /// corresponding digit index (to get back the digit from which this pad was constructed, if needed)
- Int_t fIx; /// x-index
- Int_t fIy; /// y-index
- Int_t fStatus; /// status word
- TVector2 fDimensions; /// half dimensions in x and y (cm)
- TVector2 fPosition; /// positions in x and y (cm)
- Double_t fCharge; /// pad charge
- Double_t fChargeBackup; /// backup charge (usefull if clustering somehow plays with the charge, this one is the "original" one)
-
- ClassDef(AliMUONPad,1) // A full grown pad
+ Bool_t fIsSaturated; ///< whether this pad is saturated or not
+ Bool_t fIsReal; ///< whether this is a real pad or a virtual one
+ Int_t fClusterId; ///< cluster id this pad belongs to (-1 if not attached to a cluster)
+ Int_t fCathode; ///< cathode number
+ Int_t fDetElemId; ///< detection element id
+ Int_t fIx; ///< x-index
+ Int_t fIy; ///< y-index
+ Int_t fStatus; ///< status word
+ TVector2 fDimensions; ///< half dimensions in x and y (cm)
+ TVector2 fPosition; ///< positions in x and y (cm)
+ Double_t fCharge; ///< pad charge
+ Double_t fChargeBackup; ///< backup charge (usefull if clustering somehow plays with the charge, this one is the "original" one)
+
+ ClassDef(AliMUONPad,2) // A full grown pad
};
#endif