ROOT logo
AliRoot » MUON » MAPPING » AliMpDCSNamer

class AliMpDCSNamer: public TObject

 \class AliMpDCSNamer

 A utility class to manage DCS aliases names, in particular the
 two conventions used to number the detection elements within a detector.

 \author: Laurent Aphecetche and Diego Stocco, Subatech

Function Members (Methods)

public:
AliMpDCSNamer()
AliMpDCSNamer(const char* detName)
virtual~AliMpDCSNamer()
voidTObject::AbstractMethod(const char* method) const
voidAliasesAsLdif(const char* ldiffile) 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
TObjArray*CompactAliases() const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Int_tDCS2DE(Int_t chamberId, Int_t side, Int_t dcsNumber) const
TStringDCSAliasFromName(const char* dcsName) const
TStringDCSAliasName(Int_t detElemId, Int_t sector = 0, Int_t dcsMeasure = 0) const
Int_tDCSIndexFromDCSAlias(const char* dcsAlias) const
TStringDCSNameFromAlias(const char* dcsAlias) const
TStringDCSSwitchAliasName(Int_t detElemId, Int_t pcbNumber) const
Int_tDCSvariableFromDCSAlias(const char* dcsAlias) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Int_tDetElemId2DCS(Int_t detElemId, Int_t& side, Int_t& chId) const
Int_tDetElemIdFromDCSAlias(const char* dcsAlias) const
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
TObjArray*GenerateAliases() 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
Int_tManuId2Index(Int_t detElemId, Int_t manuId) const
Int_tManuId2PCBIndex(Int_t detElemId, Int_t manuId) const
Int_tManuId2Sector(Int_t detElemId, Int_t manuId) const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
Int_tNumberOfPCBs(Int_t detElemId) const
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)
Bool_tSetDetector(const char* detName)
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
static Float_tTrackerHVOFF()
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:
AliMpDCSNamer(const AliMpDCSNamer& right)
Bool_tCheckConsistency(Int_t detElemId) const
AliMpDCSNamer&operator=(const AliMpDCSNamer& right)

Data Members

public:
enum { kDCSHV
kDCSI
kNDCSMeas
kTrackerDet
kTriggerDet
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Int_tfDetector/< Detector type (either tracker or trigger)
static const char*fgkDCSChamberPattern[2147483647]/< DCS Tracker chamber name template
static const char*fgkDCSChannelSt12Pattern[2147483647]/< DCS Tracker Channel name template
static const char*fgkDCSChannelSt345Pattern[2147483647]/< DCS Tracker Channel name template
static const char*fgkDCSChannelTriggerPattern[2147483647]/< DCS Trigger Channel name template for output
static const char*fgkDCSChannelTriggerPatternRead[2147483647]/< DCS Trigger Channel name template for input
static const char*fgkDCSMeasureName[2147483647]/< DCS Trigger Name of the measure (HV or current) written in DCS
static const char*fgkDCSQuadrantPattern[2147483647]/< DCS Tracker quadrant name template
static const char*fgkDCSSideTrackerName[2147483647]/< DCS Tracker Name of the side written in DCS
static const char*fgkDCSSideTriggerName[2147483647]/< DCS Trigger Name of the side written in DCS
static const char*fgkDCSSwitchSt345Pattern/< DCS Tracker Switch name template
static const char*fgkDetectorName[2147483647]/< Name of detector (Tracker or Trigger)

Class Charts

Inheritance Chart:
TObject
AliMpDCSNamer

Function documentation

AliMpDCSNamer()
AliMpDCSNamer(const char* detName)
 ctor taking the detector name as argument (either trigger or tracker)
~AliMpDCSNamer()
 dtor
Bool_t SetDetector(const char* detName)
 Set the detector type
 \param detName = tracker, trigger
AliasesAsLdif(const char* ldiffile) const
 Export the aliases in LDIF format
CompactAliases() const
 Generate a compact list of aliases, for Shuttle test
 This one is completely hand-made, in contrast with GenerateAliases()
 method
DCS2DE(Int_t chamberId, Int_t side, Int_t dcsNumber) const
 Convert DCS Tracker "slat number" (old convention) to DE (new) convention.

 \param chamberId : chamber number (starting at 0)
 \param side : 0 for Left, 1 for Right
 \param dcsNumber : slat number in DCS convention

 note that dcsNumber should be >=0 and < number of DEs/2 in chamber
DetElemId2DCS(Int_t detElemId, Int_t& side, Int_t& chId) const
 Convert DE to DCS "slat number"
 @see DCS2DE
DCSNameFromAlias(const char* dcsAlias) const
 Convert a (possibly partial) aliasname to a name (only for MCH)
DCSAliasFromName(const char* dcsName) const
 Convert a (possibly partial) dcsname to an alias (only for MCH)
DCSAliasName(Int_t detElemId, Int_t sector = 0, Int_t dcsMeasure = 0) const
 Return the alias name of the DCS Channel for a given DCS area
 \param detElemId
 \param sector = 0,1 or 2 for St12, and is unused for st345 and trigger
 \param dcsMeasure = kDCSHV, kDCSI
DCSSwitchAliasName(Int_t detElemId, Int_t pcbNumber) const
 Return the alias name of the DCS Switch for a given PCB
 within a slat of St345
DCSIndexFromDCSAlias(const char* dcsAlias) const
 Converts the dcs alias to a hv index

 dcsAlias has one of the following 3 forms :

 MchHvLv[Left|Right]/Chamber##[Left|Right]/Chamber##[Left|Right]Slat##.actual.vMon

 MchHvLv[Left|Right]/Chamber##[Left|Right]/Chamber##[Left|Right]Quad#Sect#.actual.vMon

 MchDE####dsw#.inValue
DetElemIdFromDCSAlias(const char* dcsAlias) const
 Converts the dcs alias to a detection element identifier

 dcsAlias has one of the following forms :

 MchHvLv[Left|Right]/Chamber##[Left|Right]/Chamber##[Left|Right]Slat##.actual.vMon

 MchHvLv[Left|Right]/Chamber##[Left|Right]/Chamber##[Left|Right]Quad#Sect#.actual.vMon

 MTR_Side[OUTSIDE|INSIDE]_MTChamber##_RPC#_HV.Type[actual.iMon|vEff]
Int_t DCSvariableFromDCSAlias(const char* dcsAlias) const
 Get DCS variable from an alias (trigger)
GenerateAliases() const
 Generate DCS alias names, for MUON Tracker High Voltage system.
 or for MUON Trigger HV and current system.

 We first generate aliases of DCS channels :

 St 1 ch  1 : 12 channels
      ch  2 : 12 channels
 St 2 ch  3 : 12 channels
      ch  4 : 12 channels
 St 3 ch  5 : 18 channels
      ch  6 : 18 channels
 St 4 ch  7 : 26 channels
      ch  8 : 26 channels
 St 5 ch  9 : 26 channels
      ch 10 : 26 channels

 then aliases of DCS switches (only for St345) : 1 switch per PCB.

 Returns a TObjArray of TObjString(=alias name)
ManuId2Index(Int_t detElemId, Int_t manuId) const
 Convert (de,manu) to hv index, depending on the station
ManuId2PCBIndex(Int_t detElemId, Int_t manuId) const
 Returns the index of PCB (within a St345 slat) for a given manu number.
 Returns -1 if (detElemId,manuId) is incorrect
ManuId2Sector(Int_t detElemId, Int_t manuId) const
 Return the DCS-sector number (within a St12 quadrant) for a given manu number.
NumberOfPCBs(Int_t detElemId) const
 Returns the number of PCB in a given detection element
 Only works for St345
Bool_t CheckConsistency(Int_t detElemId) const
 Check that the required detElemId either belongs to tracker or trigger
 consistently with the initial definition of the namer

AliMpDCSNamer()
Float_t TrackerHVOFF()
 Below this value we consider tracking HV is off
{ return 30.0; }