ROOT logo
AliRoot » PMD » AliPMDRawStream

class AliPMDRawStream: public TObject


 This class provides access to PMD digits in raw data.

 It loops over all PMD digits in the raw data given by the AliRawReader.
 The Next method goes to the next digit. If there are no digits left
 it returns kFALSE.
 Several getters provide information about the current digit.


Function Members (Methods)

public:
AliPMDRawStream(AliRawReader* rawReader)
virtual~AliPMDRawStream()
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
Int_tDdlData(TObjArray* pmdddlcont)
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 const char*TObject::GetIconName() 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
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
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 = "")
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)
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
AliPMDRawStream(const AliPMDRawStream& stream)
Int_tComputeParity(UInt_t data1)
voidConvertDDL2SMN(Int_t iddl, Int_t imodule, Int_t& smn, Int_t& detector) const
voidDdl0Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
voidDdl1Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
voidDdl2Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
voidDdl3Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
voidDdl4Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
voidDdl5Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
AliPMDMappingData*GetMappingData() const
UInt_tGetNextWord()
voidGetRowCol(Int_t imodule, Int_t pbusid, UInt_t mcmno, UInt_t chno, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus, Int_t& row, Int_t& col) const
AliPMDRawStream&operator=(const AliPMDRawStream& stream)
voidTransformH2S(Int_t smn, Int_t& row, Int_t& col) const

Data Members

public:
enum { kDDLOffset
};
enum EPMDRawStreamError { kDDLIndexMismatch
kNoMappingFile
kParityError
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
UChar_t*fDatapointer to the data
AliPMDMappingData*fMapData! Mapping data
Int_tfPosition
AliRawReader*fRawReaderobject for reading the raw data

Class Charts

Inheritance Chart:
TObject
AliPMDRawStream

Function documentation

AliPMDRawStream(AliRawReader* rawReader)
 create an object to read PMD raw digits
AliPMDRawStream(const AliPMDRawStream& stream)
 copy constructor
~AliPMDRawStream()
 destructor
Int_t DdlData(TObjArray* pmdddlcont)
 read the next raw digit
 returns kFALSE if there is no digit left
void GetRowCol(Int_t imodule, Int_t pbusid, UInt_t mcmno, UInt_t chno, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus, Int_t& row, Int_t& col) const
 decode: ddlno, patchbusid, mcmno, chno -> um, row, col
void ConvertDDL2SMN(Int_t iddl, Int_t imodule, Int_t& smn, Int_t& detector) const
 This converts the DDL number (0 to 5), Module Number (0-47)
 to Serial module number in one detector (SMN : 0-23) and
 detector number (0:PRE plane, 1:CPV plane)
void TransformH2S(Int_t smn, Int_t& row, Int_t& col) const
 This does the transformation of the hardware coordinate to
 software
 i.e., For SuperModule 0 &1, instead of 96x48(hardware),
 it is 48x96 (software)
 For Supermodule 3 & 4, 48x96
Int_t ComputeParity(UInt_t data1)
 Calculate the parity bit
UInt_t GetNextWord()
 Returns the next 32 bit word
 inside the raw data payload.
void Ddl0Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
 DDL0 Mapping
void Ddl1Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
 DDL1 Mapping
void Ddl2Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
 DDL2 Mapping
void Ddl3Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
 DDL3 Mapping
void Ddl4Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
 DDL4 Mapping
void Ddl5Mapping(Int_t* moduleNo, Int_t* mcmperBus, Int_t* startRowBus, Int_t* endRowBus, Int_t* startColBus, Int_t* endColBus)
 DDL5 Mapping
AliPMDMappingData* GetMappingData() const
 Fetching the mapping data from CDB