1 #ifndef ALIMUONHVNAMER_H
2 #define ALIMUONHVNAMER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONHVNamer
11 /// \brief Collection of methods usefull to HV subprocessor for MUON TRK
13 // Author Laurent Aphecetche, Subtech
21 class AliMUONHVNamer : public TObject
25 virtual ~AliMUONHVNamer();
27 const char* DCSHVChannelName(Int_t detElemId, Int_t sector=0) const;
29 const char* DCSHVSwitchName(Int_t detElemId, Int_t pcbNumber) const;
31 Int_t DCS2DE(Int_t chamberId, Int_t side, Int_t dcsNumber) const;
33 Int_t DetElemId2DCS(Int_t detElemId, Int_t& side) const;
35 Int_t DetElemIdFromDCSAlias(const char* dcsAlias) const;
37 /// Returns the index of PCB (within a St345 slat) for a given manu number.
38 Int_t ManuId2PCBIndex(Int_t detElemId, Int_t manuId) const;
40 /// Return the HV-sector number (within a St12 quadrant) for a given manu number.
41 Int_t ManuId2Sector(Int_t detElemId, Int_t manuId) const;
43 Int_t NumberOfPCBs(Int_t detElemId) const;
45 TObjArray* GenerateAliases() const;
46 TObjArray* CompactAliases() const;
47 void AliasesAsLdif(const char* ldiffile) const;
51 AliMUONHVNamer(const AliMUONHVNamer& right);
53 AliMUONHVNamer& operator = (const AliMUONHVNamer& right);
55 static const char* fgHVChannelSt345Pattern[]; ///< HV Channel name template
56 static const char* fgHVChannelSt12Pattern[]; ///< HV Channel name template
57 static const char* fgHVSwitchSt345Pattern; ///< HV Switch name template
59 ClassDef(AliMUONHVNamer,0) // Utility class for coding/decoding DCS HV aliases