AliRoot Core  da88d91 (da88d91)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONVCluster.h
Go to the documentation of this file.
1 #ifndef ALIMUONVCLUSTER_H
2 #define ALIMUONVCLUSTER_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 Philippe Pillot, Subatech
14 
15 
16 #include <TObject.h>
17 
18 class AliMUONVCluster : public TObject {
19  public:
20  AliMUONVCluster(); // Constructor
21  AliMUONVCluster(Int_t chamberId, Int_t detElemId, Int_t clusterIndex);
22  virtual ~AliMUONVCluster(); // Destructor
23 
25  virtual void Clear(Option_t*) = 0;
26 
28  virtual void SetXYZ(Double_t x, Double_t y, Double_t z) = 0;
30  virtual Double_t GetX() const = 0;
32  virtual Double_t GetY() const = 0;
34  virtual Double_t GetZ() const = 0;
35 
37  virtual void SetErrXY(Double_t errX, Double_t errY) = 0;
39  virtual Double_t GetErrX() const = 0;
41  virtual Double_t GetErrX2() const = 0;
43  virtual Double_t GetErrY() const = 0;
45  virtual Double_t GetErrY2() const = 0;
46 
48  virtual void SetCharge(Double_t charge) = 0;
50  virtual Double_t GetCharge() const = 0;
51 
53  static UInt_t BuildUniqueID(Int_t chamberId, Int_t detElemId, Int_t clusterIndex)
54  {return (((chamberId & 0xF) << 28) | ((detElemId & 0x7FF) << 17) | (clusterIndex & 0x1FFFF));}
56  static Int_t GetChamberId(UInt_t uniqueID) {return (uniqueID & 0xF0000000) >> 28;}
58  static Int_t GetDetElemId(UInt_t uniqueID) {return (uniqueID & 0x0FFE0000) >> 17;}
60  static Int_t GetClusterIndex(UInt_t uniqueID) {return (uniqueID & 0x0001FFFF);}
62  virtual Int_t GetChamberId() const = 0;
64  virtual Int_t GetDetElemId() const = 0;
65 
67  virtual void SetDigitsId(Int_t nDigits, const UInt_t *digitsId) = 0;
69  virtual void AddDigitId(UInt_t id) = 0;
71  virtual Int_t GetNDigits() const = 0;
73  virtual UInt_t GetDigitId(Int_t i) const = 0;
75  virtual const UInt_t* GetDigitsId() const {return 0x0;}
76 
78  virtual void SetChi2(Double_t chi2) = 0;
80  virtual Double_t GetChi2() const = 0;
81 
83  virtual void SetMCLabel(Int_t label) = 0;
85  virtual Int_t GetMCLabel() const = 0;
86 
87  virtual void Print(Option_t *option = "") const;
88 
89 
90  ClassDef(AliMUONVCluster, 1) // abstract base class for cluster
91 };
92 
93 #endif
virtual void AddDigitId(UInt_t id)=0
Add a digit Id to the array of associated digits.
virtual Int_t GetDetElemId() const =0
Return detection element Id.
virtual Double_t GetZ() const =0
Return coordinate Z (cm)
static UInt_t BuildUniqueID(Int_t chamberId, Int_t detElemId, Int_t clusterIndex)
Build a single integer with id information.
virtual Int_t GetChamberId() const =0
Return chamber Id.
virtual Double_t GetErrX() const =0
Return resolution (cm) on coordinate X.
virtual Double_t GetErrX2() const =0
Return resolution**2 (cm**2) on coordinate X.
virtual void SetErrXY(Double_t errX, Double_t errY)=0
Set resolution (cm) on coordinates (X,Y)
virtual UInt_t GetDigitId(Int_t i) const =0
Return Id of digits i.
virtual void Print(Option_t *option="") const
virtual void SetXYZ(Double_t x, Double_t y, Double_t z)=0
Set coordinates (cm)
static Int_t GetClusterIndex(UInt_t uniqueID)
The index of this cluster (0..), part of the uniqueID.
Double_t chi2
Definition: AnalyzeLaser.C:7
abstract base class for clusters
virtual ~AliMUONVCluster()
virtual void SetMCLabel(Int_t label)=0
Set the corresponding MC track number.
virtual Double_t GetErrY() const =0
Return resolution (cm) on coordinate Y.
virtual Int_t GetNDigits() const =0
Return number of associated digits.
virtual Double_t GetChi2() const =0
Return chi2 of cluster.
virtual void SetChi2(Double_t chi2)=0
Set chi2 of cluster.
virtual Double_t GetErrY2() const =0
Return resolution**2 (cm**2) on coordinate Y.
virtual void SetDigitsId(Int_t nDigits, const UInt_t *digitsId)=0
Set Id of associated digits.
static Int_t GetChamberId(UInt_t uniqueID)
Return chamber id (0..), part of the uniqueID.
virtual Double_t GetY() const =0
Return coordinate Y (cm)
virtual void SetCharge(Double_t charge)=0
Set the cluster charge.
static Int_t GetDetElemId(UInt_t uniqueID)
Return detection element id, part of the uniqueID.
virtual Double_t GetX() const =0
Return coordinate X (cm)
virtual const UInt_t * GetDigitsId() const
Return the array of digits'id.
virtual void Clear(Option_t *)=0
Clear method (used by TClonesArray)
virtual Double_t GetCharge() const =0
Set the cluster charge.
virtual Int_t GetMCLabel() const =0
Return the corresponding MC track number.