ROOT logo
AliRoot » STEER » STEER » AliCluster

class AliCluster: public TObject

                         Class AliCluster
 This is the future base for managing the clusters in barrel detectors.
 It is fully interfaced with the ROOT geometrical modeller TGeo.
 Each cluster contains XYZ coordinates in the local tracking c.s. and
 the unique ID of the sensitive detector element which continas the
 cluster. The coordinates in global c.s. are computed using the interface
 to TGeo and will be not overwritten by the derived sub-detector cluster
 classes.

 cvetan.cheshkov@cern.ch & jouri.belikov@cern.ch    5/3/2007

Function Members (Methods)

public:
AliCluster()
AliCluster(const AliCluster& cluster)
AliCluster(UShort_t volId, const Float_t* hit, Float_t x = 0, Float_t sigyz = 0, const Int_t* lab = NULL)
AliCluster(UShort_t volId, Float_t x, Float_t y, Float_t z, Float_t sy2, Float_t sz2, Float_t syz, const Int_t* lab = NULL)
virtual~AliCluster()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(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
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 Bool_tGetGlobalCov(Float_t* cov) const
virtual Bool_tGetGlobalXYZ(Float_t* xyz) const
virtual const char*TObject::GetIconName() const
Int_tGetLabel(Int_t i) 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
Float_tGetSigmaY2() const
Float_tGetSigmaYZ() const
Float_tGetSigmaZ2() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
UShort_tGetVolumeId() const
Float_tGetX() const
virtual Bool_tGetXAlphaRefPlane(Float_t& x, Float_t& alpha) const
virtual Bool_tGetXRefPlane(Float_t& xref) const
Float_tGetY() const
Float_tGetZ() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
voidIncreaseClusterUsage()
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
Bool_tIsClusterShared() const
Bool_tIsClusterUsed() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Bool_tMisalign()
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)
AliCluster&operator=(const AliCluster& cluster)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") 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 voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetLabel(Int_t lab, Int_t i)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSigmaY2(Float_t sigy2)
voidSetSigmaYZ(Float_t sigyz)
voidSetSigmaZ2(Float_t sigz2)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVolumeId(UShort_t id)
voidSetX(Float_t x)
voidSetY(Float_t y)
voidSetZ(Float_t z)
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 voidUse(Int_t = 0)
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
virtual TGeoHMatrix*GetMatrix(Bool_t original = kFALSE) const
virtual const TGeoHMatrix*GetTracking2LocalMatrix() const
voidTObject::MakeZombie()

Data Members

private:
Bool_tfIsMisalignedCluster was misagned or not?
Float_tfSigmaY2Sigma Y square of cluster
Float_tfSigmaYZNon-diagonal element of cov.matrix
Float_tfSigmaZ2Sigma Z square of cluster
Int_tfTracks[3]MC labels
UShort_tfVolumeIdVolume ID of the detector element
Float_tfXX of the cluster in the tracking c.s.
Float_tfYY of the cluster in the tracking c.s.
Float_tfZZ of the cluster in the tracking c.s.

Class Charts

Inheritance Chart:
TObject
AliCluster
AliCluster3D
AliHMPIDCluster
AliTOFcluster
AliEMCALRecPoint
AliITSRecPoint
AliITSRecPointU
AliITSUClusterPix
AliITSclusterV2
AliPHOSRecPoint
AliPHOSEmcRecPoint
 [more...]

Function documentation

AliCluster()
 Default constructor
AliCluster(UShort_t volId, const Float_t* hit, Float_t x = 0, Float_t sigyz = 0, const Int_t* lab = NULL)
 Constructor
AliCluster(UShort_t volId, Float_t x, Float_t y, Float_t z, Float_t sy2, Float_t sz2, Float_t syz, const Int_t* lab = NULL)
 Constructor
AliCluster(const AliCluster& cluster)
 Copy constructor
AliCluster & operator=(const AliCluster& cluster)
 Assignment operator
void Print(Option_t* option = "") const
 Print cluster information.
Bool_t GetGlobalXYZ(Float_t* xyz) const
 Get the global coordinates of the cluster
 All the needed information is taken only
 from TGeo.
Bool_t GetGlobalCov(Float_t* cov) const
 Get the global covariance matrix of the cluster coordinates
 All the needed information is taken only
 from TGeo.
Bool_t GetXRefPlane(Float_t& xref) const
 Get the distance between the origin and the ref.plane.
 All the needed information is taken only
 from TGeo.
Bool_t GetXAlphaRefPlane(Float_t& x, Float_t& alpha) const
 Get the distance between the origin and the ref. plane together with
 the rotation anlge of the ref. plane.
 All the needed information is taken only
 from TGeo.
Bool_t Misalign()
 All the needed information is taken only
 from TGeo.
TGeoHMatrix* GetMatrix(Bool_t original = kFALSE) const
 Get the matrix which transforms from the
 local TGeo alignable volume c.s. to the global one.
 In case the cluster was already misaligned, get the
 ideal matrix from TGeo. The option 'original'
 can be used to force the calculation of the ideal
 matrix.
const TGeoHMatrix* GetTracking2LocalMatrix() const
 Get the matrix which is stored with the PN entries in TGeo.
 The matrix makes the transformation from the tracking c.s. to
 the local one.
virtual ~AliCluster()
{;}
Int_t GetLabel(Int_t i) const
{return fTracks[i];}
Float_t GetX() const
{return fX;}
Float_t GetY() const
{return fY;}
Float_t GetZ() const
{return fZ;}
Float_t GetSigmaY2() const
{return fSigmaY2;}
Float_t GetSigmaZ2() const
{return fSigmaZ2;}
Float_t GetSigmaYZ() const
{return fSigmaYZ;}
UShort_t GetVolumeId() const
{return fVolumeId;}
void IncreaseClusterUsage()
{ if (TestBit(kUsed)) SetBit(kShared); else SetBit(kUsed); }
Bool_t IsClusterUsed() const
{ return TestBit(kUsed); }
Bool_t IsClusterShared() const
{ return TestBit(kShared); }
void Use(Int_t = 0)
void SetLabel(Int_t lab, Int_t i)
{ if (i>=0 && i<3) fTracks[i] = lab;}
void SetX(Float_t x)
{fX = x;}
void SetY(Float_t y)
{fY = y;}
void SetZ(Float_t z)
{fZ = z;}
void SetSigmaY2(Float_t sigy2)
{fSigmaY2 = sigy2;}
void SetSigmaZ2(Float_t sigz2)
{fSigmaZ2 = sigz2;}
void SetSigmaYZ(Float_t sigyz)
{fSigmaYZ = sigyz;}
void SetVolumeId(UShort_t id)
{fVolumeId = id;}