ROOT logo
AliRoot » TRD » AliTRDpadPlane

class AliTRDpadPlane: public TObject


Describes a pad plane of a TRD ROC

Contains the information on pad postions, pad dimensions,
tilting angle, etc.
It also provides methods to identify the current pad number from
global coordinates.
The numbering and coordinates should follow the official convention
(see David Emschermanns note on TRD convention


Function Members (Methods)

public:
AliTRDpadPlane()
AliTRDpadPlane(Int_t layer, Int_t stack)
virtual~AliTRDpadPlane()
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 voidCopy(TObject& p) 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
Double_tGetAnodeWireOffset() const
Double_tGetCol0() const
Double_tGetColEnd() const
Double_tGetColPos(Int_t col) const
Double_tGetColSize(Int_t col) const
Double_tGetColSpacing() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Double_tGetLengthIPad() const
Double_tGetLengthOPad() const
Double_tGetLengthRim() const
virtual const char*TObject::GetName() const
Int_tGetNcols() const
Int_tGetNrows() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tGetPadColNumber(Double_t rphi) const
Double_tGetPadColOffset(Int_t col, Double_t rphi) const
Int_tGetPadRowNumber(Double_t z) const
Int_tGetPadRowNumberROC(Double_t z) const
Double_tGetPadRowOffset(Int_t row, Double_t z) const
Double_tGetPadRowOffsetROC(Int_t row, Double_t z) const
Double_tGetRow0() const
Double_tGetRow0ROC() const
Double_tGetRowEnd() const
Double_tGetRowEndROC() const
Double_tGetRowPos(Int_t row) const
Double_tGetRowPosROC(Int_t row) const
Double_tGetRowSize(Int_t row) const
Double_tGetRowSpacing() const
Double_tGetTiltingAngle() const
Double_tGetTiltOffset(Double_t rowOffset) const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetWidthIPad() const
Double_tGetWidthOPad() const
Double_tGetWidthRim() 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_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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(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 = "")
voidSetAnodeWireOffset(Float_t o)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetColSpacing(Double_t s)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetLayer(Int_t l)
voidSetLength(Double_t l)
voidSetLengthIPad(Double_t l)
voidSetLengthOPad(Double_t l)
voidSetLengthRim(Double_t l)
voidSetNcols(Int_t n)
voidSetNrows(Int_t n)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPadCol(Int_t ic, Double_t c)
voidSetPadRow(Int_t ir, Double_t r)
voidSetPadRowSMOffset(Double_t o)
voidSetRowSpacing(Double_t s)
voidSetStack(Int_t s)
voidSetTiltingAngle(Double_t t)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetWidth(Double_t w)
voidSetWidthIPad(Double_t w)
voidSetWidthOPad(Double_t w)
voidSetWidthRim(Double_t w)
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

protected:
Double_tfAnodeWireOffsetDistance of first anode wire from pad edge
Double_tfColSpacingSpacing between the pad columns
Int_tfLayerLayer number
Double_tfLengthLength of pad plane in z-direction (row)
Double_tfLengthIPadLength of an inner pad in z-direction (row)
Double_tfLengthOPadLength of an outer pad in z-direction (row)
Double_tfLengthRimLength of the rim in z-direction (row)
Int_tfNcolsNumber of columns
Int_tfNrowsNumber of rows
Double_t*fPadColPad border positions in column direction
Double_t*fPadRowPad border positions in row direction
Double_tfPadRowSMOffsetTo be added to translate local ROC system to local SM system
Double_tfRowSpacingSpacing between the pad rows
Int_tfStackStack number
Double_tfTiltingAnglePad tilting angle
Double_tfTiltingTanTangens of pad tilting angle
Double_tfWidthWidth of pad plane in rphi-direction (col)
Double_tfWidthIPadWidth of an inner pad in rphi-direction (col)
Double_tfWidthOPadWidth of an outer pad in rphi-direction (col)
Double_tfWidthRimWidth of the rim in rphi-direction (col)

Class Charts

Inheritance Chart:
TObject
AliTRDpadPlane

Function documentation

AliTRDpadPlane()
 Default constructor

AliTRDpadPlane(Int_t layer, Int_t stack)
 Constructor

~AliTRDpadPlane()
 AliTRDpadPlane destructor

void Copy(TObject& p) const
 Copy function

void SetTiltingAngle(Double_t t)
 Set the tilting angle of the pads

Int_t GetPadRowNumber(Double_t z) const
 Finds the pad row number for a given z-position in local supermodule system

Int_t GetPadRowNumberROC(Double_t z) const
 Finds the pad row number for a given z-position in local ROC system

Int_t GetPadColNumber(Double_t rphi) const
 Finds the pad column number for a given rphi-position

AliTRDpadPlane()
void SetLayer(Int_t l)
{ fLayer = l; }
void SetStack(Int_t s)
{ fStack = s; }
void SetRowSpacing(Double_t s)
{ fRowSpacing = s; }
void SetColSpacing(Double_t s)
{ fColSpacing = s; }
void SetLengthRim(Double_t l)
{ fLengthRim = l; }
void SetWidthRim(Double_t w)
{ fWidthRim = w; }
void SetNcols(Int_t n)
void SetNrows(Int_t n)
void SetPadCol(Int_t ic, Double_t c)
{ if (ic < fNcols) fPadCol[ic] = c; }
void SetPadRow(Int_t ir, Double_t r)
{ if (ir < fNrows) fPadRow[ir] = r; }
void SetLength(Double_t l)
{ fLength = l; }
void SetWidth(Double_t w)
{ fWidth = w; }
void SetLengthOPad(Double_t l)
{ fLengthOPad = l; }
void SetWidthOPad(Double_t w)
{ fWidthOPad = w; }
void SetLengthIPad(Double_t l)
{ fLengthIPad = l; }
void SetWidthIPad(Double_t w)
{ fWidthIPad = w; }
void SetPadRowSMOffset(Double_t o)
void SetAnodeWireOffset(Float_t o)
Double_t GetTiltOffset(Double_t rowOffset) const
{ return fTiltingTan * (rowOffset - 0.5*fLengthIPad); }
Double_t GetPadRowOffset(Int_t row, Double_t z) const
Double_t GetPadRowOffsetROC(Int_t row, Double_t z) const
Double_t GetPadColOffset(Int_t col, Double_t rphi) const
Double_t GetTiltingAngle() const
{ return fTiltingAngle; }
Int_t GetNrows() const
{ return fNrows; }
Int_t GetNcols() const
{ return fNcols; }
Double_t GetRow0() const
{ return fPadRow[0] + fPadRowSMOffset; }
Double_t GetRow0ROC() const
{ return fPadRow[0]; }
Double_t GetCol0() const
{ return fPadCol[0]; }
Double_t GetRowEnd() const
Double_t GetRowEndROC() const
{ return fPadRow[fNrows-1] - fLengthOPad; }
Double_t GetColEnd() const
{ return fPadCol[fNcols-1] + fWidthOPad; }
Double_t GetRowPos(Int_t row) const
{ return fPadRow[row] + fPadRowSMOffset; }
Double_t GetRowPosROC(Int_t row) const
{ return fPadRow[row]; }
Double_t GetColPos(Int_t col) const
{ return fPadCol[col]; }
Double_t GetRowSize(Int_t row) const
Double_t GetColSize(Int_t col) const
Double_t GetLengthRim() const
{ return fLengthRim; }
Double_t GetWidthRim() const
{ return fWidthRim; }
Double_t GetRowSpacing() const
{ return fRowSpacing; }
Double_t GetColSpacing() const
{ return fColSpacing; }
Double_t GetLengthOPad() const
{ return fLengthOPad; }
Double_t GetLengthIPad() const
{ return fLengthIPad; }
Double_t GetWidthOPad() const
{ return fWidthOPad; }
Double_t GetWidthIPad() const
{ return fWidthIPad; }
Double_t GetAnodeWireOffset() const
{ return fAnodeWireOffset; }
AliTRDpadPlane & operator=(const AliTRDpadPlane& p)