ROOT logo
AliRoot » MUON » AliMUONCluster

class AliMUONCluster: public TObject

 \class AliMUONCluster

 A group of adjacent pads

 Besides holding an internal array of AliMUONPads, this object
 also computes some global characteristics for that pad sets.

 \author Laurent Aphecetche


Function Members (Methods)

public:
AliMUONCluster()
AliMUONCluster(const AliMUONCluster& rhs)
virtual~AliMUONCluster()
voidTObject::AbstractMethod(const char* method) const
voidAddCluster(const AliMUONCluster& cluster)
AliMUONPad*AddPad(const AliMUONPad& pad)
virtual voidTObject::AppendPad(Option_t* option = "")
AliMpAreaArea() const
AliMpAreaArea(Int_t cathode) const
static Bool_tAreOverlapping(const AliMUONCluster& c1, const AliMUONCluster& c2)
TStringAsString() const
virtual voidTObject::Browse(TBrowser* b)
Int_tCathode() const
Float_tCharge() const
Float_tCharge(Int_t cathode) const
Float_tChargeAsymmetry() const
Float_tChi2() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* opt = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tCompare(const TObject* obj) const
Bool_tContains(const AliMUONPad& pad) const
virtual voidCopy(TObject& obj) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidDumpMe() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_tHasPosition() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsMonoCathode() const
Bool_tTObject::IsOnHeap() const
Bool_tIsSaturated() const
Bool_tIsSaturated(Int_t cathode) const
virtual Bool_tIsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
Int_tMaxChargeCathode() const
TVector2MaxPadDimensions(Int_t statusMask, Bool_t matchMask) const
TVector2MaxPadDimensions(Int_t cathode, Int_t statusMask, Bool_t matchMask) const
Int_tMaxRawChargeCathode() const
voidTObject::MayNotUse(const char* method) const
TVector2MinPadDimensions(Int_t statusMask, Bool_t matchMask) const
TVector2MinPadDimensions(Int_t cathode, Int_t statusMask, Bool_t matchMask) const
Int_tMultiplicity() const
Int_tMultiplicity(Int_t cathode) const
Long_tNofPads(Int_t statusMask, Bool_t matchMask = kTRUE) const
Long_tNofPads(Int_t cathode, Int_t statusMask, Bool_t matchMask) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliMUONCluster&operator=(const AliMUONCluster& rhs)
AliMUONPad*Pad(Int_t index) const
virtual voidPaint(Option_t* opt = "")
virtual voidTObject::Pop()
TVector2Position() const
TVector2PositionError() const
virtual voidPrint(Option_t* opt = "") const
Float_tRawCharge() const
Float_tRawCharge(Int_t cathode) const
Float_tRawChargeAsymmetry() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRemovePad(AliMUONPad* pad)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCharge(Float_t chargeCath0, Float_t chargeCath1)
voidSetChi2(Float_t chi2)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPosition(const TVector2& pos, const TVector2& errorOnPos)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

private:
Float_tfCharge[2]/< cathode (re)computed charges
Float_tfChi2/< chi2 of the RawCharge fit (if any)
Bool_tfHasCharge/< false if SetCharge has not been called
Bool_tfHasPosition/< false for pre-cluster (i.e. not yet computed)
Bool_tfIsSaturated[2]/< saturation status of cathodes
Int_tfMultiplicity[2]/< number of pads in each cathode
TObjArrayfPads/< AliMUONPad(s) composing this cluster
TVector2fPosition/< (x,y) of that cluster (only valid if fHasPosition is kTRUE)
TVector2fPositionError/< errors on (x,y)
Float_tfRawCharge[2]/< cathode RawCharges

Class Charts

Inheritance Chart:
TObject
AliMUONCluster

Function documentation

AliMUONCluster()
 ctor
AliMUONCluster(const AliMUONCluster& rhs)
 copy ctor
operator=(const AliMUONCluster& rhs)
 assignement operator
~AliMUONCluster()
 dtor : note that we're owner of our pads
   fPads.Delete();
Clear(Option_t* opt = "")
 Clear our pad array
Contains(const AliMUONPad& pad) const
 Whether this cluster contains the pad
AddCluster(const AliMUONCluster& cluster)
 Add all the pads for cluster to this one
AddPad(const AliMUONPad& pad)
 Add a pad to our pad array, and update some internal information
 accordingly.
AsString() const
 Return a string containing a compact form of the pad list
AreOverlapping(const AliMUONCluster& c1, const AliMUONCluster& c2)
 Whether the two clusters overlap
Area() const
 Return the geometrical area covered by this cluster
Area(Int_t cathode) const
 Return the geometrical area covered by this cluster's pads on
 a given cathode
IsMonoCathode() const
 Whether we have signals only in one of the two cathodes
Cathode() const
 Return the cathode "number" of this cluster :
 0 if all its pads are on cathode 0
 1 if all its pads are on cathode 1
 2 if some pads on cath 0 and some on cath 1
Copy(TObject& obj) const
 Copy this cluster to (cluster&)obj

Charge() const
 Return the average charge over both cathodes
Charge(Int_t cathode) const
 Returns the charge of a given cathode
ChargeAsymmetry() const
 Returns the charge asymmetry
MaxPadDimensions(Int_t statusMask, Bool_t matchMask) const
 Returns the maximum pad dimensions (half sizes), only considering
 pads matching (or not, depending matchMask) a given mask
MaxPadDimensions(Int_t cathode, Int_t statusMask, Bool_t matchMask) const
 Returns the maximum pad dimensions (half sizes), only considering
 pads matching (or not, depending matchMask) a given mask, within a
 given cathode
MinPadDimensions(Int_t statusMask, Bool_t matchMask) const
 Returns the minimum pad dimensions (half sizes), only considering
 pads matching (or not, depending matchMask) a given mask
MinPadDimensions(Int_t cathode, Int_t statusMask, Bool_t matchMask) const
 Returns the minimum pad dimensions (half sizes), only considering
 pads matching (or not, depending matchMask) a given mask, within a
 given cathode
Multiplicity() const
 Returns the total number of pads in this cluster
Multiplicity(Int_t cathode) const
 Returns the number of pads in this cluster, in the given cathode
NofPads(Int_t statusMask, Bool_t matchMask = kTRUE) const
 Number of pads satisfying (or not, depending matchMask) a
 given mask
NofPads(Int_t cathode, Int_t statusMask, Bool_t matchMask) const
 Number of pads of a given cathode, satisfying (or not,
 depending matchMask) a given mask
Pad(Int_t index) const
 Returns the index-th pad
Paint(Option_t* opt = "")
 Paint this cluster
DumpMe() const
 printout
Print(Option_t* opt = "") const
 printout
Compare(const TObject* obj) const
 Compare two clusters. Comparison is made on position and rawcharge only.
RemovePad(AliMUONPad* pad)
 Remove a pad.
 As a consequence, some internal information must be updated
RawCharge() const
 Returns the raw average charge
RawCharge(Int_t cathode) const
 Returns the average charge of a given cathode
RawChargeAsymmetry() const
 Returns the raw charge asymmetry
Float_t Chi2() const
 Return chi2 of the RawCharge fit (if any)
{ return fChi2; }
Bool_t HasPosition() const
 Return false for pre-cluster
{ return fHasPosition; }
Bool_t IsSaturated(Int_t cathode) const
 Whether we have at least one saturated pad in a given cathode
{ return fIsSaturated[cathode]; }
Bool_t IsSaturated() const
 Whether we have one saturated pad on *each* cathode
{ return IsSaturated(0) && IsSaturated(1); }
Int_t MaxChargeCathode() const
 Return the max charge on the chathod
{ return Charge(0) > Charge(1) ? 0:1; }
Int_t MaxRawChargeCathode() const
 Return the max raw charge on the chathod
{ return RawCharge(0) > RawCharge(1) ? 0:1; }
Bool_t IsSortable() const
 Return true as the function Compare is implemented
{ return kTRUE; }
TVector2 Position() const
 Return (x,y) of that cluster
{ return fPosition; }
TVector2 PositionError() const
 Return errors on (x,y)
{ return fPositionError; }
void SetCharge(Float_t chargeCath0, Float_t chargeCath1)
 Set cathode (re)computed charges
{ fHasCharge = kTRUE; fCharge[0]=chargeCath0; fCharge[1]=chargeCath1; }
void SetChi2(Float_t chi2)
 Set chi2 of the RawCharge fit
{ fChi2 = chi2; }
void SetPosition(const TVector2& pos, const TVector2& errorOnPos)
 Set (x,y) of that cluster and errors
{ fHasPosition = kTRUE; fPosition = pos; fPositionError = errorOnPos; }