ROOT logo
AliRoot » MUON » AliMUONRawCluster

class AliMUONRawCluster: public AliMUONVCluster

 Class AliMUONRawCluster

 Class for the MUON RecPoint
 It contains the properties of the physics cluters found in the tracking chambers
 RawCluster contains also the information from the both cathode of the chambers.

Function Members (Methods)

public:
AliMUONRawCluster()
AliMUONRawCluster(const AliMUONRawCluster&)
virtual~AliMUONRawCluster()
voidTObject::AbstractMethod(const char* method) const
Int_tAddCharge(Int_t i, Float_t Q)
virtual voidAddDigitId(UInt_t id)
Int_tAddX(Int_t i, Float_t X)
Int_tAddY(Int_t i, Float_t Y)
Int_tAddZ(Int_t i, Float_t Z)
virtual voidTObject::AppendPad(Option_t* option = "")
static Int_tBinarySearch(Float_t r, TArrayF ccord, Int_t from, Int_t upto)
virtual voidTObject::Browse(TBrowser* b)
static UInt_tAliMUONVCluster::BuildUniqueID(Int_t chamberId, Int_t detElemId, Int_t clusterIndex)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* = "")
virtual AliMUONRawCluster*Clone(const char* = "") const
virtual Int_tCompare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) 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
voidDumpIndex()
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 Int_tGetChamberId() const
virtual Double_tGetCharge() const
Float_tGetCharge(Int_t i) const
virtual Double_tGetChi2() const
Float_tGetChi2(Int_t i) const
static Int_tAliMUONVCluster::GetClusterIndex(UInt_t uniqueID)
Int_tGetClusterType() const
Float_tGetContrib(Int_t i, Int_t j) const
virtual Int_tGetDetElemId() const
virtual UInt_tGetDigitId(Int_t i) const
virtual const UInt_t*AliMUONVCluster::GetDigitsId() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Double_tGetErrX() const
virtual Double_tGetErrX2() const
virtual Double_tGetErrY() const
virtual Double_tGetErrY2() const
Int_tGetGhost() const
virtual const char*TObject::GetIconName() const
Int_tGetIndex(Int_t i, Int_t j) const
virtual Int_tGetMCLabel() const
Int_tGetMultiplicity(Int_t i = 0) const
virtual const char*TObject::GetName() const
Int_tGetNcluster(Int_t i = 0) const
virtual Int_tGetNDigits() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Int_tGetOffset(Int_t i, Int_t j) const
virtual Option_t*TObject::GetOption() const
Float_tGetPeakSignal(Int_t i = 0) const
Int_tGetPhysics(Int_t i) const
Float_tGetRadius(Int_t i) const
virtual const char*TObject::GetTitle() const
Int_tGetTrack(Int_t i = 0) const
virtual UInt_tTObject::GetUniqueID() const
virtual Double_tGetX() const
Float_tGetX(Int_t i) const
virtual Double_tGetY() const
Float_tGetY(Int_t i) const
virtual Double_tGetZ() const
Float_tGetZ(Int_t i) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() 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_tTObject::IsOnHeap() const
virtual Bool_tIsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) 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)
AliMUONRawCluster&operator=(const AliMUONRawCluster&)
virtual voidTObject::Paint(Option_t* option = "")
Int_tPhysicsContribution() const
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
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)
virtual voidSetCharge(Double_t q)
Int_tSetCharge(Int_t i, Float_t Q)
virtual voidSetChi2(Double_t chi2)
Int_tSetChi2(Int_t i, Float_t chi2)
Int_tSetClusterType(Int_t type)
voidSetContrib(Int_t i, Int_t j, Float_t contrib)
voidSetDetElemId(Int_t id)
virtual voidSetDigitsId(Int_t nDigits, const UInt_t* digitsId)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetErrXY(Double_t errX, Double_t errY)
Int_tSetGhost(Int_t ghost)
voidSetIndex(Int_t i, Int_t j, Int_t index)
virtual voidSetMCLabel(Int_t label)
Int_tSetMultiplicity(Int_t i, Int_t mul)
Int_tSetNcluster(Int_t i, Int_t ncluster)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOffset(Int_t i, Int_t j, Int_t offset)
Int_tSetPeakSignal(Int_t i, Float_t peaksignal)
voidSetPhysics(Int_t i, Int_t physics)
Int_tSetTrack(Int_t i, Int_t track)
virtual voidTObject::SetUniqueID(UInt_t uid)
Int_tSetX(Int_t i, Float_t X)
virtual voidSetXYZ(Double_t x, Double_t y, Double_t z)
Int_tSetY(Int_t i, Float_t Y)
Int_tSetZ(Int_t i, Float_t Z)
virtual voidShowMembers(TMemberInspector&)
static voidSortMin(Int_t* idx, Float_t* xdarray, Float_t* xarray, Float_t* yarray, Float_t* qarray, Int_t ntr)
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_tfChi2[2]/< Chi**2 of fit
Int_tfClusterType/< Cluster type
Float_tfContMap[50][2]/< Contribution from digit
Int_tfDetElemId/< ID number of the detection element (slat) on which the cluster is found.
Float_tfErrXY[2]/< coordinate errors
Int_tfGhost/< Ghost info
Int_tfIndexMap[50][2]/< Indices of digits
Int_tfMultiplicity[2]/< Cluster multiplicity
Int_tfNcluster[2]/< Number of clusters
Int_tfOffsetMap[50][2]/< Emmanuel special
Float_tfPeakSignal[2]/< Peak signal
Int_tfPhysicsMap[50]/< Distinguish signal and background contr.
Float_tfQ[2]/< Q of cluster (in ADC counts)
Int_tfTracks[3]/< Labels of overlapped tracks
Float_tfX[2]/< X of cluster
Float_tfY[2]/< Y of cluster
Float_tfZ[2]/< Z of cluster

Class Charts

Inheritance Chart:
TObject
AliMUONVCluster
AliMUONRawCluster

Function documentation

AliMUONRawCluster()
 Constructor
~AliMUONRawCluster()
 Destructor
void SetDigitsId(Int_t nDigits, const UInt_t* digitsId)
 Set the array of digit Id
 if digitsId is not given the array is filled with id=0
Int_t Compare(const TObject* obj) const
Int_t BinarySearch(Float_t r, TArrayF ccord, Int_t from, Int_t upto)
 Find object using a binary search. Array must first have been sorted.
 Search can be limited by setting upto to desired index.
void SortMin(Int_t* idx, Float_t* xdarray, Float_t* xarray, Float_t* yarray, Float_t* qarray, Int_t ntr)
 Get the 3 closest points(cog) one can find on the second cathode
 starting from a given cog on first cathode
Int_t PhysicsContribution() const
 Evaluate physics contribution to cluster
void Print(Option_t* opt = "") const
 Printing Raw Cluster (Rec Point) information
 "full" option for printing all the information about the raw cluster

void DumpIndex(void)
 Dumping IdexMap of the cluster
Int_t AddCharge(Int_t i, Float_t Q)
 Adding Q to the fQ value
Int_t AddX(Int_t i, Float_t X)
 Adding X to the fX value
Int_t AddY(Int_t i, Float_t Y)
 Adding Y to the fY value
Int_t AddZ(Int_t i, Float_t Z)
 Adding Z to the fZ value
Float_t GetCharge(Int_t i) const
 Getting the charge of the cluster
Float_t GetX(Int_t i) const
 Getting X value of the cluster
Float_t GetY(Int_t i) const
 Getting Y value of the cluster
Float_t GetZ(Int_t i) const
 Getting Z value of the cluster
Int_t GetTrack(Int_t i = 0) const
 Getting track i contributing to the cluster
Float_t GetPeakSignal(Int_t i = 0) const
 Getting cluster peaksignal
Int_t GetMultiplicity(Int_t i = 0) const
 Getting cluster multiplicity
Int_t GetClusterType() const
 Getting Cluster Type
Int_t GetGhost() const
 Getting Ghost
Int_t GetNcluster(Int_t i = 0) const
 Getting number of clusters
Float_t GetChi2(Int_t i) const
 Getting chi2 value of the cluster
Int_t SetCharge(Int_t i, Float_t Q)
 Setting Charge of the cluster
Int_t SetX(Int_t i, Float_t X)
 Setting X value of the cluster
Int_t SetY(Int_t i, Float_t Y)
 Setting Y value of the cluster
Int_t SetZ(Int_t i, Float_t Z)
 Setting Z value of the cluste
Int_t SetTrack(Int_t i, Int_t track)
 Setting tracks contributing to the cluster
Int_t SetPeakSignal(Int_t i, Float_t peaksignal)
 Setting PeakSignal of the cluster
Int_t SetMultiplicity(Int_t i, Int_t mul)
 Setting multiplicity of the cluster
Int_t SetClusterType(Int_t type)
 Setting the cluster type
Int_t SetGhost(Int_t ghost)
 Setting the ghost
Int_t SetNcluster(Int_t i, Int_t ncluster)
 Setting number the cluster
Int_t SetChi2(Int_t i, Float_t chi2)
 Setting chi2 of the cluster
Int_t GetIndex(Int_t i, Int_t j) const
 Return Indices of digits
{ return fIndexMap[i][j]; }
Int_t GetOffset(Int_t i, Int_t j) const
 Return Emmanuel special offset map
{ return fOffsetMap[i][j]; }
Float_t GetContrib(Int_t i, Int_t j) const
 Return Contribution from digit
{ return fContMap[i][j]; }
Int_t GetPhysics(Int_t i) const
 Return Distinguish signal and background contr.
{ return fPhysicsMap[i]; }
void SetIndex(Int_t i, Int_t j, Int_t index)
 Set Indices of digits
{ fIndexMap[i][j] = index; }
void SetOffset(Int_t i, Int_t j, Int_t offset)
 Set Emmanuel special offset map
{ fOffsetMap[i][j] = offset; }
void SetContrib(Int_t i, Int_t j, Float_t contrib)
 Set Contribution from digit
{ fContMap[i][j] = contrib; }
void SetPhysics(Int_t i, Int_t physics)
 Set Distinguish signal and background contr.
{ fPhysicsMap[i] = physics; }
AliMUONRawCluster()
void Clear(Option_t* = "")
 Clear method (used by TClonesArray)
{}
AliMUONRawCluster* Clone(const char* = "") const
 Create a copy of the current cluster
{return new AliMUONRawCluster(*this);}
void SetXYZ(Double_t x, Double_t y, Double_t z)
 Set coordinates (cm)
{fX[0] = x; fY[0] = y; fZ[0] = z;}
Double_t GetX() const
 Return coordinate X (cm)
{return fX[0];}
Double_t GetY() const
 Return coordinate Y (cm)
{return fY[0];}
Double_t GetZ() const
 Return coordinate Z (cm)
{return fZ[0];}
void SetErrXY(Double_t errX, Double_t errY)
 Set resolution (cm) on coordinates (X,Y)
{fErrXY[0] = errX; fErrXY[1] = errY;}
Double_t GetErrX() const
 Return resolution (cm) on coordinate X
{return fErrXY[0];}
Double_t GetErrX2() const
 Return resolution**2 (cm**2) on coordinate X
{return fErrXY[0] * fErrXY[0];}
Double_t GetErrY() const
 Return resolution (cm) on coordinate Y
{return fErrXY[1];}
Double_t GetErrY2() const
 Return resolution**2 (cm**2) on coordinate Y
{return fErrXY[1] * fErrXY[1];}
void SetCharge(Double_t q)
 Set the cluster charge
{fQ[0] = q;}
Double_t GetCharge() const
 Set the cluster charge
{return fQ[0];}
Int_t GetChamberId() const
 Return chamber Id
{return fDetElemId/100 - 1;}
void SetDetElemId(Int_t id)
 Set detection element Id
{fDetElemId = id;}
Int_t GetDetElemId() const
 Return detection element Id
{return fDetElemId;}
void AddDigitId(UInt_t id)
 Add a digit Id to the array of associated digits
{fIndexMap[fMultiplicity[0]++][0] = id;}
Int_t GetNDigits() const
 Return number of associated digits
{return fMultiplicity[0];}
UInt_t GetDigitId(Int_t i) const
 Return Id of digits i
{return (i < fMultiplicity[0] && i < 50) ? (UInt_t)fIndexMap[i][0] : 0;}
void SetChi2(Double_t chi2)
 Set chi2 of cluster
{fChi2[0] = chi2;}
Double_t GetChi2() const
 Return chi2 of cluster
{return fChi2[0];}
void SetMCLabel(Int_t label)
 Set the corresponding MC track number
{SetTrack(0, label);}
Int_t GetMCLabel() const
 Return the corresponding MC track number
{return GetTrack(0);}
Float_t GetRadius(Int_t i) const
 Return radius
{return TMath::Sqrt(fX[i]*fX[i]+fY[i]*fY[i]);}
Bool_t IsSortable() const
 Return true as the function Compare() is implemented
{return kTRUE;}