ROOT logo
AliRoot » TRD » AliTRDtrackingChamber

class AliTRDtrackingChamber: public TObject


Tracking in one chamber

Authors:
Alex Bercuci <A.Bercuci@gsi.de>
Markus Fasel <M.Fasel@gsi.de>


Function Members (Methods)

public:
AliTRDtrackingChamber()
AliTRDtrackingChamber(const AliTRDtrackingChamber&)
virtual~AliTRDtrackingChamber()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
voidBootstrap(const AliTRDReconstructor* rec)
virtual voidTObject::Browse(TBrowser* b)
Bool_tBuild(AliTRDgeometry *const geo, Bool_t hlt = kFALSE)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* opt = NULL)
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
Int_tGetDetector() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
Int_tGetNClusters() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetQuality()
Bool_tGetSeedingLayer(AliTRDchamberTimeBin*& layer, AliTRDgeometry *const geo, const AliTRDReconstructor* rec)
AliTRDchamberTimeBin*GetTB(int tb)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Float_tGetX() 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
voidInsertCluster(AliTRDcluster* c, Int_t index)
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_tTObject::IsSortable() 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)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = NULL) 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)
voidSetDetector(Int_t det)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOwner()
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
voidUpdate()
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:
Int_tfDetectordetector number
AliTRDchamberTimeBinfTB[31]time bins
Float_tfX0radial position of the pad plane

Class Charts

Inheritance Chart:
TObject
AliTRDtrackingChamber

Function documentation

AliTRDtrackingChamber()
 ,fExB(0.)
 ,fVD(0.)
 ,fT0(0.)
 ,fS2PRF(0.)
 ,fDiffL(0.)
 ,fDiffT(0.)
{}
void Clear(Option_t* opt = NULL)
Bool_t Build(AliTRDgeometry *const geo, Bool_t hlt = kFALSE)
 Init chamber and all time bins (AliTRDchamberTimeBin)
 Calculates radial position of the chamber based on
 radial positions of the time bins (calibration/alignment aware)

Int_t GetNClusters() const
 Basic loop method
 Returns number of clusters in chamber

void Bootstrap(const AliTRDReconstructor* rec)
 Basic loop method
 Bootstrap each time bin

void SetOwner()
 Basic loop method
 Set ownership in time bins

Double_t GetQuality()
 Calculate chamber quality for seeding.


 Parameters :
   layers : Array of propagation layers for this plane.

 Output :
   plane quality factor for seeding

 Detailed description

 The quality of the plane for seeding is higher if:
  1. the average timebin population is closer to an integer number
  2. the distribution of clusters/timebin is closer to a uniform distribution.
    - the slope of the first derivative of a parabolic fit is small or
    - the slope of a linear fit is small

Bool_t GetSeedingLayer(AliTRDchamberTimeBin*& layer, AliTRDgeometry *const geo, const AliTRDReconstructor* rec)
 Creates a seeding layer

void Print(Option_t* opt = NULL) const
 Print the chamber status
void Update()
 Steer purging of used and shared clusters
AliTRDtrackingChamber()
virtual ~AliTRDtrackingChamber()
{}
Int_t GetDetector() const
{ return fDetector;}
Float_t GetX() const
{return fX0;}
AliTRDchamberTimeBin* GetTB(int tb)
 Float_t  GetExB() const      { return fExB;}
 Float_t  GetVD() const       { return fVD;}
 Float_t  GetT0() const       { return fT0;}
 Float_t  GetS2PRF() const    { return  fS2PRF;}
 Float_t  GetDiffL() const    { return  fDiffL;}
 Float_t  GetDiffT() const    { return  fDiffT;}
{return tb >= 0 && tb < AliTRDseedV1::kNtb ? &fTB[tb] : NULL;}
void SetDetector(Int_t det)
{ fDetector = det; }
void InsertCluster(AliTRDcluster* c, Int_t index)
{ fTB[c->GetPadTime()].InsertCluster(c, index); }