ROOT logo
AliRoot » MUON » MAPPING » AliMpMotifType

class AliMpMotifType: public TObject

 Class AliMpMotifType

 Class that defines the motif properties.
 Included in AliRoot: 2003/05/02
 Authors: David Guez, Ivana Hrivnacova; IPN Orsay

Function Members (Methods)

public:
AliMpMotifType(const TString& id)
AliMpMotifType(const AliMpMotifType& rhs)
AliMpMotifType(TRootIOCtor* ioCtor)
virtual~AliMpMotifType()
voidTObject::AbstractMethod(const char* method) const
Bool_tAddConnection(AliMpConnection* connection)
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*Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual AliMpVPadIterator*CreateIterator() 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
AliMpConnection*FindConnectionByBergNum(Int_t bergNum) const
AliMpConnection*FindConnectionByGassiNum(Int_t gassiNum) const
AliMpConnection*FindConnectionByKaptonNum(Int_t kaptonNum) const
AliMpConnection*FindConnectionByLocalIndices(MpPair_t localIndices) const
AliMpConnection*FindConnectionByLocalIndices(Int_t localIx, Int_t localIy) const
AliMpConnection*FindConnectionByPadNum(Int_t padNum) const
MpPair_tFindLocalIndicesByBergNum(Int_t bergNum) const
MpPair_tFindLocalIndicesByConnection(const AliMpConnection* connection) const
MpPair_tFindLocalIndicesByGassiNum(Int_t gassiNum) const
MpPair_tFindLocalIndicesByKaptonNum(Int_t kaptonNum) const
MpPair_tFindLocalIndicesByPadNum(Int_t padNum) 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
TStringGetID() const
virtual const char*TObject::GetName() const
Int_tGetNofPads() const
Int_tGetNofPadsX() const
Int_tGetNofPadsY() 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
Bool_tHasPadByGassiNum(Int_t gassiNum) const
Bool_tHasPadByLocalIndices(MpPair_t localIndices) const
Bool_tHasPadByLocalIndices(Int_t localIx, Int_t localIy) const
Bool_tHasPadByManuChannel(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_tIsFull() 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)
AliMpMotifType&operator=(const AliMpMotifType& rhs)
TStringPadName(Int_t padNum) const
Int_tPadNum(const TString& padName) const
virtual voidTObject::Paint(Option_t* option = "")
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)
Bool_tSave() const
Bool_tSave(const char* motifName) const
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)
voidSetNofPads(Int_t nofPadsX, Int_t nofPadY)
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:
AliMpMotifType()
virtual voidCopy(TObject& o) const

Data Members

private:
TObjArrayfConnectionsByLocalIndices/< array [ix + 64*iy ] -> AliMpConnection*
TObjArrayfConnectionsByManuChannel/< array [manuChannel] -> AliMpConnection*
TStringfID/< unique motif ID
Int_tfMaxNofPads/< max number of pads we can hold
Int_tfNofPads/< total number of pads (= the number of non-void entries in the arrays below)
Int_tfNofPadsX/< number of pads in x direction
Int_tfNofPadsY/< number of pads in y direction
static const Int_tfgkPadNumForA/< the pad number for the pad "A"

Class Charts

Inheritance Chart:
TObject
AliMpMotifType

Function documentation

AliMpMotifType(const TString& id)
 Standard constructor                                                   \n
 Please note that id should be of the form %s for station 1,2,
  %s-%e-%e for station345 and %sx%e for stationTrigger
AliMpMotifType(TRootIOCtor* ioCtor)
 Default constructor
AliMpMotifType(const AliMpMotifType& rhs)
 Copy constructor
operator=(const AliMpMotifType& rhs)
 Assignment operator
Clone(const char* newname = "") const
 Returns a full copy of this object
Copy(TObject& o) const
 Copy object
~AliMpMotifType()
 Destructor
AliMpVPadIterator* CreateIterator() const
 Create new motif type iterator
void SetNofPads(Int_t nofPadsX, Int_t nofPadY)
 Change the number of pads in this motif
Int_t PadNum(const TString& padName) const
 Transform a pad name into the equivalent pad number
TString PadName(Int_t padNum) const
 Transform a pad number into its equivalent pad name
AddConnection(AliMpConnection* connection)
 Add the connection to the map
FindConnectionByPadNum(Int_t padNum) const
 Retrieve the AliMpConnection pointer from its pad num
 This method is quite inefficient as we're looping over all connections
FindConnectionByLocalIndices(MpPair_t localIndices) const
 Retrieve the AliMpConnection pointer from its position (in pad unit)
FindConnectionByLocalIndices(Int_t localIx, Int_t localIy) const
 Retrieve the AliMpConnection pointer from its position (in pad unit)
FindConnectionByGassiNum(Int_t gassiNum) const
 Return the connection for the given gassiplex number
FindConnectionByKaptonNum(Int_t kaptonNum) const
 Give the connection related to the given kapton number
 Inefficient method as we loop over connections to find the right one
FindConnectionByBergNum(Int_t bergNum) const
 Retrieve the connection from a Berg connector number
 Inefficient method as we loop over connections to find the right one
MpPair_t FindLocalIndicesByConnection(const AliMpConnection* connection) const
 Reurn the pad position from the connection pointer.
MpPair_t FindLocalIndicesByPadNum(Int_t padNum) const
 Retrieve the AliMpConnection pointer from its pad num
MpPair_t FindLocalIndicesByGassiNum(Int_t gassiNum) const
 Return the connection for the given gassiplex number
MpPair_t FindLocalIndicesByKaptonNum(Int_t kaptonNum) const
 Give the connection related to the given kapton number
MpPair_t FindLocalIndicesByBergNum(Int_t bergNum) const
 Retrieve the connection from a Berg connector number
HasPadByLocalIndices(MpPair_t localIndices) const
 Return true if the pad indexed by \a localIndices has a connection
HasPadByLocalIndices(Int_t localIx, Int_t localIy) const
 Return true if the pad indexed by \a localIndices has a connection
HasPadByManuChannel(Int_t manuChannel) const
 Return true if the pad indexed by \a localIndices has a connection
void Print(Option_t* option = "") const
 Print the map of the motif. In each cell, the value
 printed depends of option, as the following:
 - option="N" the "name" of the pad is written
 - option="K" the Kapton connect. number attached to the pad is written
 - option="B" the Berg connect. number attached to the pad is written
 - option="G" the Gassiplex channel number attached to the pad is written
 otherwise the number of the pad is written

 NOTE : this method is really not optimized, in case 'N' or '',
 but the Print() this should not be very important in a Print() method
Save() const
 Save this motif type
Save(const char* motifName) const
 Generate the 2 files needed to describe the motif
Bool_t IsFull() const
 Return true if the motif conatins all pads
{ return GetNofPads() == fNofPadsX*fNofPadsY; }
AliMpMotifType(const TString& id)
TString GetID() const
 get methods
 Return unique motif ID
{return fID;}
Int_t GetNofPadsX() const
 Return number of pads in x direction
{return fNofPadsX;}
Int_t GetNofPadsY() const
 Return number of pads in y direction
{return fNofPadsY;}
Int_t GetNofPads() const
 Return the total number of pads
{return fNofPads;}
Bool_t HasPadByGassiNum(Int_t gassiNum) const
 Return whether the pad with given manu channel exists
{ return HasPadByManuChannel(gassiNum); }