ROOT logo
AliRoot » MUON » MAPPING » AliMpSlat

class AliMpSlat: public TObject

 Representation of a slat cathode (bending or non-bending).

 A slat can be viewed as a "collection" of PCBs of various densities
 (the density is defined by the size of the pads composing the PCB).

 All the PCBs have a least the same height, if not the same width. In most
 of the case, height=width=40 cm, at least for St345 (for trigger,
 width varies)

 \author Laurent Aphecetche

Function Members (Methods)

public:
AliMpSlat(TRootIOCtor* ioCtor)
AliMpSlat(const char* id, AliMp::PlaneType bendingOrNonBending)
virtual~AliMpSlat()
voidTObject::AbstractMethod(const char* method) const
voidAdd(const AliMpPCB& pcbType, const TArrayI& manuList)
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
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
Double_tDX() const
Double_tDY() const
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
AliMpMotifPosition*FindMotifPosition(Int_t manuid) const
AliMpMotifPosition*FindMotifPosition(Double_t x, Double_t y) const
AliMpMotifPosition*FindMotifPosition(Int_t ix, Int_t iy) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
AliMpPCB*FindPCB(Int_t ix) const
AliMpPCB*FindPCB(Double_t x, Double_t y) const
Int_tFindPCBIndex(Int_t ix) const
Int_tFindPCBIndex(Double_t x, Double_t y) const
Int_tFindPCBIndexByMotifPositionID(Int_t manuId) const
voidForcePosition(Double_t x, Double_t y)
voidGetAllMotifPositionsIDs(TArrayI& ecn) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
const char*GetID() const
Int_tGetMaxNofPadsY() const
Int_tGetMaxPadIndexX() const
virtual const char*GetName() const
Int_tGetNofElectronicCards() const
Int_tGetNofPadsX() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
AliMpPCB*GetPCB(Int_t i) const
Double_tGetPositionX() const
Double_tGetPositionY() const
Int_tGetSize() 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
Int_tNofPads() 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 = "")
AliMp::PlaneTypePlaneType() const
virtual voidTObject::Pop()
virtual voidPrint(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:
AliMpSlat()
AliMpSlat(const AliMpSlat& rhs)
AliMpSlat&operator=(const AliMpSlat& rhs)

Data Members

private:
Double_tfDX/< Half-size in X (cm)
Double_tfDY/< Half-size in Y (cm)
TStringfId/< The name of this slat, e.g. 112233N
AliMpExMapfManuMap/< map of int to AliMpMotifPosition*
Int_tfMaxNofPadsY/< Maximum number of pads in y direction
Int_tfNofPads/< number of pads in this slat
Int_tfNofPadsX/< Actual number of pads in x direction
TObjArrayfPCBs/< array of AliMpPCB*
AliMp::PlaneTypefPlaneType/< Whether it's bending or non-bending plane
Double_tfPositionX/< x Position of the slat center.
Double_tfPositionY/< y Position of the slat center.

Class Charts

Inheritance Chart:
TObject
AliMpSlat

Function documentation

AliMpSlat(TRootIOCtor* ioCtor)
 Empty ctor.

AliMpSlat(const char* id, AliMp::PlaneType bendingOrNonBending)
 Normal ctor

~AliMpSlat()
 Dtor.

Add(const AliMpPCB& pcbType, const TArrayI& manuList)
 Adds a PCB to this slat. The manuList specifies the ids of the manu
 that compose the PCB. The manuList ordering is important, as the
 assumption is that it's ordered counter-clockwise, starting from
 the lower-left of the PCB.

DX() const
 Returns the x-half-size of the slat.

DY() const
 Returns the y-half-size of the slat.

FindMotifPosition(Int_t manuid) const
 Returns the motifPosition referenced by it manuID

FindMotifPosition(Int_t ix, Int_t iy) const
 - 1. Find the PCB containing ix (iy not needed for this)
 - 2. Forward the request to the PCB, using pcb local indices.

FindMotifPosition(Double_t x, Double_t y) const
 Returns the motifPosition containing position (x,y)

FindPCB(Int_t ix) const
 Returns the PCB containing x-integer-position ix

FindPCBIndex(Int_t ix) const
 Returns the index of the PCB containing x-integer-position ix.

FindPCB(Double_t x, Double_t y) const
 Returns the PCB containing position (x,y)

FindPCBIndex(Double_t x, Double_t y) const
 Returns the index of the PCB containing position (x,y)

FindPCBIndexByMotifPositionID(Int_t manuId) const
 Find the index of the PCB containing a given manu
ForcePosition(Double_t x, Double_t y)
 Force the position to be different from (DX(),DY()).
 Normally only used by triggerSlats (for layers).
 Beware that this method must be called once all PCB have been added,
 as the Add() method resets the position.

GetAllMotifPositionsIDs(TArrayI& ecn) const
 Return all the manuIds (=MotifPositionIDs) of this slat

GetID() const
 Returns the name of this slat.

GetMaxNofPadsY() const
 Returns the maximum number of pads to be found in this slat y-direction.

GetMaxPadIndexX() const
 Returns the max ix that is valid for this slat.

GetName() const
 Returns the name of this slat, which is composed of its ID with
 the plane type as a suffix.

GetNofElectronicCards() const
 Returns the number of manus that compose the readout of this slat.

GetNofPadsX() const
 Returns the number of pad in x-direction.

GetPCB(Int_t i) const
 Returns the i-th PCB of this slat.

GetSize() const
 Returns the number of PCB in this slat.

Print(Option_t* option = "") const
 Prints the slat characteristics.

AliMpSlat(TRootIOCtor* ioCtor)
AliMpSlat(const char* id, AliMp::PlaneType bendingOrNonBending)
Double_t GetPositionX() const
 Return x position
{ return fPositionX; }
Double_t GetPositionY() const
 Return y position
{ return fPositionY; }
Int_t NofPads() const
 Return the number of pads in this slat
{ return fNofPads; }
AliMpSlat& operator=(const AliMpSlat& rhs)
 Not implemented