ROOT logo
AliRoot » TRD » AliTRDfeeParam

class AliTRDfeeParam: public TObject


TRD front end electronics parameters class
Contains all FEE (MCM, TRAP, PASA) related
parameters, constants, and mapping.

New release on 2007/08/17:
The default raw data version (now fRAWversion ) is set to 3
in the constructor because version 3 raw data read and write
are fully debugged.

Author:
Ken Oyama (oyama@physi.uni-heidelberg.de)

many things now configured by AliTRDtrapConfig reflecting
the real memory structure of the TRAP (Jochen)


Function Members (Methods)

public:
AliTRDfeeParam(TRootIoCtor*)
AliTRDfeeParam(const AliTRDfeeParam& p)
virtual~AliTRDfeeParam()
voidTObject::AbstractMethod(const char* method) const
static UInt_tAliToExtAli(Int_t rob, Int_t aliid)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static Short_tChipmaskToMCMlist(UInt_t cmA, UInt_t cmB, UShort_t linkpair, Int_t* mcmList, Int_t listSize)
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)
static Int_tExtAliToAli(UInt_t dest, UShort_t linkpair, UShort_t rocType, Int_t* list, Int_t listSize)
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_tGetColSide(Int_t icol) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tGetExtendedPadColFromADC(Int_t irob, Int_t imcm, Int_t iadc) const
virtual const char*TObject::GetIconName() const
virtual Int_tGetMCMfromPad(Int_t irow, Int_t icol) const
virtual Int_tGetMCMfromSharedPad(Int_t irow, Int_t icol) const
static Int_tGetNadcMcm()
virtual const char*TObject::GetName() const
static Int_tGetNcol()
static Int_tGetNcolMcm()
static Int_tGetNmcmRob()
static Int_tGetNmcmRobInCol()
static Int_tGetNmcmRobInRow()
static Int_tGetNrobC0()
static Int_tGetNrobC1()
static Int_tGetNrowC0()
static Int_tGetNrowC1()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Int_tGetPadColFromADC(Int_t irob, Int_t imcm, Int_t iadc) const
virtual Int_tGetPadRowFromMCM(Int_t irob, Int_t imcm) const
Int_tGetRAWversion() const
static Short_tGetRobAB(UShort_t robsel, UShort_t linkpair)
virtual Int_tGetROBfromPad(Int_t irow, Int_t icol) const
virtual Int_tGetROBfromSharedPad(Int_t irow, Int_t icol) const
virtual Int_tGetRobSide(Int_t irob) const
static Float_tGetSamplingFrequency()
virtual const char*TObject::GetTitle() const
Bool_tGetTracklet() 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
virtual voidTObject::Inspect() constMENU
static AliTRDfeeParam*Instance()
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)
AliTRDfeeParam&operator=(const AliTRDfeeParam& p)
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 = "")
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)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetRAWversion(Int_t rawver)
static voidSetTracklet(Bool_t trackletSim = kTRUE)
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
static voidTerminate()
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()
private:
AliTRDfeeParam()

Data Members

protected:
AliTRDCommonParam*fCPTRD common parameters class
Int_tfRAWversionRaw data production version
static AliTRDfeeParam*fgInstanceSingleton instance
static Bool_tfgTerminatedDefines if this class has already been terminated
static Bool_tfgTracklettracklet processing
static const Int_tfgkLHCfrequency[Hz] LHC clock (should be moved to STEER?)
static const Int_tfgkMaxRAWversionMaximum raw version number supported
static const Int_tfgkNadcMcmNumber of ADC channels per MCM (old fgkADCmax)
static const Int_tfgkNcolNumber of pads per padplane row(old fgkColmax)
static const Int_tfgkNcolMcmNumber of pads per MCM (old fgkPadmax)
static const Int_tfgkNmcmRobNumber of MCMs per ROB (old fgkMCMmax)
static const Int_tfgkNmcmRobInColNumber of MCMs per ROB in col dir. (old fgkMCMrow)
static const Int_tfgkNmcmRobInRowNumber of MCMs per ROB in row dir. (old fgkMCMrow)
static const Int_tfgkNrobC0Number of ROBs per C0 chamber (old fgkROBmaxC0)
static const Int_tfgkNrobC1Number of ROBs per C1 chamber (old fgkROBmaxC1)
static const Int_tfgkNrowC0Number of Rows per C0 chamber (old fgkRowmaxC0)
static const Int_tfgkNrowC1Number of Rows per C1 chamber (old fgkRowmaxC1)

Class Charts

Inheritance Chart:
TObject
AliTRDfeeParam

Function documentation

AliTRDfeeParam* Instance()
 Instance constructor

void Terminate()
 Terminate the class and release memory

AliTRDfeeParam()
 Default constructor

AliTRDfeeParam(TRootIoCtor* )
 IO constructor

AliTRDfeeParam(const AliTRDfeeParam& p)
 AliTRDfeeParam copy constructor

~AliTRDfeeParam()
 AliTRDfeeParam destructor

AliTRDfeeParam & operator=(const AliTRDfeeParam& p)
 Assignment operator

void Copy(TObject& p) const
 Copy function

Int_t GetPadRowFromMCM(Int_t irob, Int_t imcm) const
 Return on which pad row this mcm sits

Int_t GetPadColFromADC(Int_t irob, Int_t imcm, Int_t iadc) const
 Return which pad is connected to this adc channel.

 Return virtual pad number even if ADC is outside chamber
 to keep compatibility of data processing at the edge MCM.
 User has to check that this is in the chamber if it is essential.
 Return -100 if iadc is invalid.

 Caution: ADC ordering in the online data is opposite to the pad column ordering.
 And it is not one-by-one correspondence. Precise drawing can be found in:
 http://wiki.kip.uni-heidelberg.de/ti/TRD/index.php/Image:ROB_MCM_numbering.pdf

Int_t GetExtendedPadColFromADC(Int_t irob, Int_t imcm, Int_t iadc) const
 Return which pad coresponds to the extended digit container pad numbering
 Extended digit container is designed to store all pad data including shared pad,
 so we have to introduce new virtual pad numbering scheme for this purpose.

Int_t GetMCMfromPad(Int_t irow, Int_t icol) const
 Return on which MCM this pad is directry connected.
 Return -1 for error.

Int_t GetMCMfromSharedPad(Int_t irow, Int_t icol) const
 Return on which MCM this pad is directry connected.
 Return -1 for error.

Int_t GetROBfromPad(Int_t irow, Int_t icol) const
 Return on which rob this pad is

Int_t GetROBfromSharedPad(Int_t irow, Int_t icol) const
 Return on which rob this pad is for shared pads

Int_t GetRobSide(Int_t irob) const
 Return on which side this rob sits (A side = 0, B side = 1)

Int_t GetColSide(Int_t icol) const
 Return on which side this column sits (A side = 0, B side = 1)

UInt_t AliToExtAli(Int_t rob, Int_t aliid)
Int_t ExtAliToAli(UInt_t dest, UShort_t linkpair, UShort_t rocType, Int_t* list, Int_t listSize)
 Converts an extended ALICE ID which identifies a single MCM or a group of MCMs to
 the corresponding list of MCMs. Only broadcasts (127) are encoded as 127
 The return value is the number of MCMs in the list
Short_t GetRobAB(UShort_t robsel, UShort_t linkpair)
 Converts the ROB part of the extended ALICE ID to robs
Short_t ChipmaskToMCMlist(UInt_t cmA, UInt_t cmB, UShort_t linkpair, Int_t* mcmList, Int_t listSize)
 Converts the chipmask to a list of MCMs
void SetRAWversion(Int_t rawver)
 Set raw data version (major number only)
 Maximum available number is preset in fgkMaxRAWversion

Float_t GetSamplingFrequency()
 geometry
{ return (Float_t)fgkLHCfrequency / 4000000.0; }
Int_t GetNmcmRob()
{ return fgkNmcmRob; }
Int_t GetNmcmRobInRow()
{ return fgkNmcmRobInRow; }
Int_t GetNmcmRobInCol()
{ return fgkNmcmRobInCol; }
Int_t GetNrobC0()
{ return fgkNrobC0; }
Int_t GetNrobC1()
{ return fgkNrobC1; }
Int_t GetNadcMcm()
{ return fgkNadcMcm; }
Int_t GetNcol()
{ return fgkNcol; }
Int_t GetNcolMcm()
{ return fgkNcolMcm; }
Int_t GetNrowC0()
{ return fgkNrowC0; }
Int_t GetNrowC1()
{ return fgkNrowC1; }
Bool_t GetTracklet() const
 tracklet simulation
{ return fgTracklet; }
void SetTracklet(Bool_t trackletSim = kTRUE)
{ fgTracklet = trackletSim; }
Int_t GetRAWversion() const
 Concerning raw data format
{ return fRAWversion; }