ROOT logo
AliRoot » ITS » AliITSClusterFinder

class AliITSClusterFinder: public TObject

AliITSClusterFinder& AliITSClusterFinder::operator=(const AliITSClusterFinder& /* source */){
 Assignment operator
 Assignment is not allowed. The method is protected to avoid misuse.
  Fatal("= operator","Assignment operator not allowed\n");
  return *this;
}

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliITSClusterFinder()
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 TClonesArray*Clusters()
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual TClonesArray*Digits()
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 voidFindRawClusters(Int_t)
AliITSDetTypeRec*GetDetTypeRec() const
virtual AliITSdigit*GetDigit(Int_t i)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual Int_tGetModule() const
virtual const char*TObject::GetName() const
Int_tGetNClusters() const
virtual Int_tGetNPeaks() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TArrayI*GetRawID2ClusID() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() 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
voidInitGeometry()
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
virtual Bool_tIsNeighbor(TObjArray* digs, Int_t i, Int_t* j) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
AliITSMap*Map()
voidTObject::MayNotUse(const char* method) const
virtual Int_tNClusters() const
virtual Int_tNDigits() 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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidPrint(ostream* os) const
virtual voidPrint(Option_t* option = "") const
virtual voidRawdataToClusters(AliRawReader*)
voidRead(istream* os)
virtual Int_tRead(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 voidSetClusters(TClonesArray* itsClusters)
virtual voidSetDetTypeRec(AliITSDetTypeRec* dtr)
virtual voidSetDigits(TClonesArray* itsDigits)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEvent(Int_t event)
virtual voidSetMap(AliITSMap* m)
virtual voidSetModule(Int_t module)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetRawID2ClusID(TArrayI* arr)
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:
static voidAddLabel(Int_t* lab, Int_t label)
static voidCheckLabels2(Int_t* lab)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
static voidFindCluster(Int_t k, Int_t maxz, AliITSClusterFinder::AliBin* bins, Int_t& n, Int_t* idx)
static voidFindPeaks(Int_t k, Int_t m, AliITSClusterFinder::AliBin* b, Int_t* idx, UInt_t* msk, Int_t& n)
static Bool_tIsMaximum(Int_t k, Int_t max, const AliITSClusterFinder::AliBin* bins)
voidMakeCluster(Int_t k, Int_t max, AliITSClusterFinder::AliBin* bins, UInt_t m, AliITSRecPoint& c)
voidTObject::MakeZombie()
static voidMarkPeak(Int_t k, Int_t max, AliITSClusterFinder::AliBin* bins, UInt_t m)
AliITSClusterFinder&operator=(const AliITSClusterFinder& source)

Data Members

protected:
TClonesArray*fClusters! Array of clusters
AliITSDetTypeRec*fDetTypeRecITS object for reconstruction
TClonesArray*fDigits! digits
Int_tfEventevent number
AliITSMap*fMap! map
Int_tfModule! Module number to be reconstuctted
UInt_tfNClusterstotal number of clusters found
Int_tfNModulestotal number of modules
Int_tfNPeaks! NPeaks
Int_tfNdet[2200]detector index
Int_tfNdigits! num of digits
Int_tfNlayer[2200]detector layer
TArrayI*fRawID2ClusID! optional array to store raw word ID -> ClusID for embedding (not owned)
Int_tfXmaxmaximum channel in Xloc
Int_tfXminminimum channel in Xloc
Int_tfZmaxmaximum channel in Zloc
Int_tfZminminimum channel in Zloc

Class Charts

Inheritance Chart:
TObject
AliITSClusterFinder
AliITSClusterFinderSDDfast
AliITSClusterFinderV2SDD
AliITSClusterFinderV2SPD
AliITSClusterFinderV2SSD

Function documentation

~AliITSClusterFinder()
 destructor cluster finder
 Input:
   none.
 Output:
   none.
 Return:
   none.
void InitGeometry()
 Initialisation of ITS geometry

Bool_t IsNeighbor(TObjArray* digs, Int_t i, Int_t* j) const
 Locagical function which checks to see if digit i has a neighbor.
 If so, then it returns kTRUE and its neighbor index j.
 This routine checks if the digits are side by side or one before the
 other. Requires that the array of digits be in proper order.
 Returns kTRUE in the following cases.
                 ji   0j   if kdiagonal  j0    0i
                 00   0i   if kdiagonal  0i    j0
 Inputs:
    TObjArray *digs   Array to search for neighbors in
    Int_t      i      Index of digit for which we are searching for
                      a neighbor of.
 Output:
    Int_t      j[4]   Index of one or more of the digits which is a
                      neighbor of digit a index i.
 Return:
    Bool_t            kTRUE if a neighbor was found kFALSE otherwise.
void Print(ostream* os) const
Standard output format for this class
 Inputs:
    ostream *os   Output stream
 Output:
    ostream *os   Output stream
 Return:
    none.
void Read(istream* os)
Standard input for this class
 Inputs:
    istream *is   Input stream
 Output:
    istream *is   Input stream
 Return:
    none.
void CheckLabels2(Int_t* lab)
 Tries to find mother's labels

void AddLabel(Int_t* lab, Int_t label)
add label to the cluster
Bool_t IsMaximum(Int_t k, Int_t max, const AliITSClusterFinder::AliBin* bins)
is this a local maximum ?

void FindRawClusters(Int_t )
 Do the Reconstruction.
void RawdataToClusters(AliRawReader* )
void SetDigits(TClonesArray* itsDigits)
 Digit
AliITSdigit* GetDigit(Int_t i)
TClonesArray* Digits()
{return fDigits;}
Int_t NDigits() const
{return fNdigits;}
void SetClusters(TClonesArray* itsClusters)
 Set fClusters up
TClonesArray* Clusters()
 Get fCluters
{return fClusters;}
Int_t NClusters() const
 Returns the present number of enteries
{return fClusters->GetEntriesFast();}
void SetModule(Int_t module)
{fModule = module;}
Int_t GetModule() const
{return fModule;}
void SetEvent(Int_t event)
{ fEvent=event; }
void SetMap(AliITSMap* m)
 Others
{fMap=m;}
Int_t GetNPeaks() const
{return fNPeaks;}
void Print(ostream* os) const
 Set max. cluster size ; bigger clusters will be rejected
 IO functions
void Read(istream* os)
void SetDetTypeRec(AliITSDetTypeRec* dtr)
AliITSDetTypeRec* GetDetTypeRec() const
{return fDetTypeRec;}
Int_t GetNClusters() const
{return fNClusters;}
void SetRawID2ClusID(TArrayI* arr)
{fRawID2ClusID = arr;}
TArrayI* GetRawID2ClusID() const
{return fRawID2ClusID;}
void MakeCluster(Int_t k, Int_t max, AliITSClusterFinder::AliBin* bins, UInt_t m, AliITSRecPoint& c)
void FindPeaks(Int_t k, Int_t m, AliITSClusterFinder::AliBin* b, Int_t* idx, UInt_t* msk, Int_t& n)
void MarkPeak(Int_t k, Int_t max, AliITSClusterFinder::AliBin* bins, UInt_t m)
void FindCluster(Int_t k, Int_t maxz, AliITSClusterFinder::AliBin* bins, Int_t& n, Int_t* idx)
AliITSClusterFinder& operator=(const AliITSClusterFinder& source)
 assignment operator