ROOT logo
AliRoot » MUON » MAPPING » AliMpSlatSegmentation

class AliMpSlatSegmentation: public AliMpVSegmentation

 Caution !!
 Implementation note.
 The position(s) used in the interface are supposed to be relative
 to the slat center (AliMpSlat::Position()), whereas internally
 the x,y are relative to bottom-left corner.

Function Members (Methods)

public:
AliMpSlatSegmentation()
AliMpSlatSegmentation(const AliMpSlat* slat, Bool_t own = false)
virtual~AliMpSlatSegmentation()
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
virtual AliMpVPadIterator*CreateIterator() const
virtual AliMpVPadIterator*CreateIterator(const AliMpArea& area) 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
virtual voidGetAllElectronicCardIDs(TArrayI& ecn) const
virtual Double_tGetDimensionX() const
virtual Double_tGetDimensionY() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*GetName() const
virtual Int_tGetNeighbours(const AliMpPad& pad, TObjArray& neighbours, Bool_t includeSelf = kFALSE, Bool_t includeVoid = kFALSE) const
virtual Int_tGetNofElectronicCards() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Double_tGetPositionX() const
virtual Double_tGetPositionY() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual Bool_tHasMotifPosition(Int_t manuId) const
virtual Bool_tHasPadByIndices(Int_t ix, Int_t iy) const
virtual Bool_tHasPadByLocation(Int_t manuId, Int_t manuChannel) 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
virtual Int_tMaxPadIndexX() const
virtual Int_tMaxPadIndexY() const
voidTObject::MayNotUse(const char* method) const
virtual AliMpMotifPosition*MotifPosition(Int_t manuId) const
virtual 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 AliMpPadPadByIndices(Int_t ix, Int_t iy, Bool_t warning) const
virtual AliMpPadPadByLocation(Int_t manuId, Int_t manuChannel, Bool_t warning) const
virtual AliMpPadPadByPosition(Double_t x, Double_t y, Bool_t warning) const
virtual voidTObject::Paint(Option_t* option = "")
virtual AliMp::PlaneTypePlaneType() const
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt) 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&)
const AliMpSlat*Slat() const
virtual AliMp::StationTypeStationType() const
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

private:
Bool_tfIsOwner/< Slat ownership
const AliMpSlat*fkSlat/< Slat

Class Charts

Inheritance Chart:
TObject
AliMpVSegmentation
AliMpSlatSegmentation

Function documentation

AliMpSlatSegmentation()
 Default ctor. Not to be used really.

AliMpSlatSegmentation(const AliMpSlat* slat, Bool_t own = false)
 Normal ctor.

~AliMpSlatSegmentation()
 Dtor (empty).

CreateIterator(const AliMpArea& area) const
 Returns an iterator to loop over the pad contained within given area.

CreateIterator() const
 Returns an iterator to loop over all pads of that segmentation

 FIXME: we currently just forward this to the other CreateIterator,
 with the proper region. Might be more efficient to write a dedicated
 iterator ? Test that idea.
GetNeighbours(const AliMpPad& pad, TObjArray& neighbours, Bool_t includeSelf = kFALSE, Bool_t includeVoid = kFALSE) const
 Uses default implementation
GetDimensionX() const
 Return slat x dimensions
GetDimensionY() const
 Return slat y dimensions
GetAllElectronicCardIDs(TArrayI& ecn) const
 Fill the array ecn with all manuIds
GetName() const
 The name of this segmentation is "SlatSegmentation"+slatName
MaxPadIndexX() const
 Returns the value of the largest pad index in x-direction.

MaxPadIndexY() const
 Returns the value of the largest pad index in y-direction.

NofPads() const
 Return number of pads defined in the slat
PadByLocation(Int_t manuId, Int_t manuChannel, Bool_t warning) const
 Returns the pad specified by its location, where location is the
 pair (ManuID,ManuChannel).
 If warning=kTRUE and the pad does not exist, a warning message is
 printed.

 AliMpPad::Invalid() is returned if there's no pad at the given location.

PadByIndices(Int_t ix, Int_t iy, Bool_t warning) const
 Returns the pad specified by its integer indices.
 If warning=kTRUE and the pad does not exist, a warning message is
 printed.

 AliMpPad::Invalid() is returned if there's no pad at the given location.


 FIXME: except for the FindMotifPosition below, this method
 is exactly as the one in AliMpSectorSegmentation.
 See if we can merge them somehow.
PadByPosition(Double_t x, Double_t y, Bool_t warning) const
 Returns the pad specified by its (floating point) position.
 If warning=kTRUE and the pad does not exist, a warning message is
 printed.

 AliMpPad::Invalid() is returned if there's no pad at the given location.

PlaneType() const
Print(Option_t* opt) const
 Printing
Slat() const
 Returns the pointer to the referenced slat.

HasPadByIndices(Int_t ix, Int_t iy) const
 Tell whether we have a pad at indices=(ix,iy)
HasPadByLocation(Int_t manuId, Int_t manuChannel) const
 Tell whether we have a pad at location=(manuId,manuChannel)
GetNofElectronicCards() const
 Get the number of manus of this slat
GetPositionX() const
 Return x position of slat origin
GetPositionY() const
 Return y position of slat origin
HasMotifPosition(Int_t manuId) const
 Use default implementation
MotifPosition(Int_t manuId) const
 Get back a given manu
AliMp::StationType StationType() const
 Return station type
{ return AliMp::kStation345; }
AliMpSlatSegmentation()