AliRoot Core  edcc906 (edcc906)
AliMpDCSNamer.h
Go to the documentation of this file.
1 #ifndef ALIMPDCSNAMER_H
2 #define ALIMPDCSNAMER_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6 
7 // $Id$
8 
13 // Author Laurent Aphecetche and Diego Stocco, Subatech
14 
15 #ifndef ROOT_TObject
16 # include "TObject.h"
17 #endif
18 
19 #include "AliMpPlaneType.h"
20 
21 class TObjArray;
22 class AliMpDCSNamer : public TObject
23 
24 {
25 public:
26  AliMpDCSNamer();
27  AliMpDCSNamer(const char* detName);
28 
29  virtual ~AliMpDCSNamer();
30 
31  Bool_t SetDetector(const char* detName);
32 
33  TString DCSNameFromAlias(const char* dcsAlias) const;
34 
35  TString DCSAliasFromName(const char* dcsName) const;
36 
37  TString DCSMCHLVAliasName(Int_t detElemId, Int_t voltageType, AliMp::PlaneType planeType=AliMp::kBendingPlane) const;
38 
39  TString DCSAliasName(Int_t detElemId, Int_t sector=0, Int_t dcsMeasure=0) const;
40 
41  TString DCSSwitchAliasName(Int_t detElemId, Int_t pcbNumber) const;
42 
43  Int_t DCS2DE(Int_t chamberId, Int_t side, Int_t dcsNumber) const;
44 
45  Int_t DetElemId2DCS(Int_t detElemId, Int_t& side, Int_t& chId) const;
46 
47  Int_t DCSIndexFromDCSAlias(const char* dcsAlias) const;
48 
49  Bool_t GetElementsFromDCSMCHLVAlias(TString alias,
50  Int_t &chamberNumber,
51  Int_t &groupNumber,
52  TString &voltageType) const;
53 
54  Bool_t DecodeDCSMCHLVAlias(const char* dcsAlias, Int_t*& detElemId, Int_t& numberOfDetectionElements, AliMp::PlaneType& planeType ) const;
55 
56  Int_t DetElemIdFromDCSAlias(const char* dcsAlias) const;
57 
58  Int_t DCSvariableFromDCSAlias(const char* dcsAlias) const;
59 
60  Int_t ManuId2Index(Int_t detElemId, Int_t manuId) const;
61 
63  Int_t ManuId2PCBIndex(Int_t detElemId, Int_t manuId) const;
64 
66  Int_t ManuId2Sector(Int_t detElemId, Int_t manuId) const;
67 
68  Int_t NumberOfPCBs(Int_t detElemId) const;
69 
70  TObjArray* GenerateAliases(const char* pattern="") const;
71  TObjArray* CompactAliases() const;
72  void AliasesAsLdif(const char* ldiffile) const;
73 
74  // Below this value we consider tracking HV is off
75  static Float_t TrackerHVOFF() { return 30.0; }
76 
77  // Below this value we consider tracking LV is off
78  static Float_t TrackerLVOFF() { return 1.0; }
79 
80  Bool_t TestMCHLV() const;
81 
82  enum
83  {
87  };
88 
89  enum
90  {
93  };
94 
95 
96 private:
98  AliMpDCSNamer(const AliMpDCSNamer& right);
100  AliMpDCSNamer& operator = (const AliMpDCSNamer& right);
101 
102  Bool_t CheckConsistency(Int_t detElemId) const;
103 
104  static const char* fgkDCSChannelSt345Pattern[];
105  static const char* fgkDCSChannelSt12Pattern[];
106  static const char* fgkDCSQuadrantPattern[];
107  static const char* fgkDCSChamberPattern[];
108  static const char* fgkDCSMCHLVGroupPattern[];
109 
110  static const char* fgkDCSSwitchSt345Pattern;
111  static const char* fgkDCSSideTrackerName[];
112 
113  static const char* fgkDCSChannelTriggerPatternRead[];
114  static const char* fgkDCSChannelTriggerPattern[];
115  static const char* fgkDCSSideTriggerName[];
116  static const char* fgkDCSMeasureName[];
117 
118  static const char* fgkDetectorName[];
119 
120  Int_t fDetector;
121 
122  ClassDef(AliMpDCSNamer,0) // Utility class for coding/decoding DCS aliases
123 };
124 
125 #endif
static const char * fgkDCSChannelSt12Pattern[]
DCS Tracker Channel name template.
Int_t ManuId2PCBIndex(Int_t detElemId, Int_t manuId) const
Returns the index of PCB (within a St345 slat) for a given manu number.
void AliasesAsLdif(const char *ldiffile) const
TString DCSMCHLVAliasName(Int_t detElemId, Int_t voltageType, AliMp::PlaneType planeType=AliMp::kBendingPlane) const
Namer for tracker.
Definition: AliMpDCSNamer.h:91
#define TObjArray
static const char * fgkDCSChamberPattern[]
DCS Tracker chamber name template.
static Float_t TrackerHVOFF()
Definition: AliMpDCSNamer.h:75
Int_t ManuId2Sector(Int_t detElemId, Int_t manuId) const
Return the HV-sector number (within a St12 quadrant) for a given manu number.
static const char * fgkDCSQuadrantPattern[]
DCS Tracker quadrant name template.
Collection of methods usefull to DCS handling for MUON TRK and TRG.
Definition: AliMpDCSNamer.h:22
Int_t NumberOfPCBs(Int_t detElemId) const
static const char * fgkDCSMCHLVGroupPattern[]
DCS Tracker chamber LV group name template.
Bool_t TestMCHLV() const
static const char * fgkDCSSideTrackerName[]
DCS Tracker Name of the side written in DCS.
Int_t DetElemId2DCS(Int_t detElemId, Int_t &side, Int_t &chId) const
static const char * fgkDCSChannelSt345Pattern[]
DCS Tracker Channel name template.
static Float_t TrackerLVOFF()
Definition: AliMpDCSNamer.h:78
Namer for trigger.
Definition: AliMpDCSNamer.h:92
Bool_t GetElementsFromDCSMCHLVAlias(TString alias, Int_t &chamberNumber, Int_t &groupNumber, TString &voltageType) const
TString DCSNameFromAlias(const char *dcsAlias) const
static const char * fgkDCSChannelTriggerPattern[]
DCS Trigger Channel name template for output.
Bool_t DecodeDCSMCHLVAlias(const char *dcsAlias, Int_t *&detElemId, Int_t &numberOfDetectionElements, AliMp::PlaneType &planeType) const
Bool_t CheckConsistency(Int_t detElemId) const
Int_t ManuId2Index(Int_t detElemId, Int_t manuId) const
TString DCSAliasFromName(const char *dcsName) const
Int_t DCSIndexFromDCSAlias(const char *dcsAlias) const
static const char * fgkDCSChannelTriggerPatternRead[]
DCS Trigger Channel name template for input.
AliMpDCSNamer & operator=(const AliMpDCSNamer &right)
Not implemented.
bending plane
Bool_t SetDetector(const char *detName)
Int_t DCSvariableFromDCSAlias(const char *dcsAlias) const
Int_t DCS2DE(Int_t chamberId, Int_t side, Int_t dcsNumber) const
Number of measured quantities.
Definition: AliMpDCSNamer.h:86
static const char * fgkDCSSwitchSt345Pattern
DCS Tracker Switch name template.
TObjArray * GenerateAliases(const char *pattern="") const
TObjArray * CompactAliases() const
TString DCSSwitchAliasName(Int_t detElemId, Int_t pcbNumber) const
static const char * fgkDCSSideTriggerName[]
DCS Trigger Name of the side written in DCS.
static const char * fgkDetectorName[]
Name of detector (Tracker or Trigger)
static const char * fgkDCSMeasureName[]
DCS Trigger Name of the measure (HV or current) written in DCS.
Int_t DetElemIdFromDCSAlias(const char *dcsAlias) const
TString DCSAliasName(Int_t detElemId, Int_t sector=0, Int_t dcsMeasure=0) const
Int_t fDetector
Detector type (either tracker or trigger)
virtual ~AliMpDCSNamer()
High Voltage.
Definition: AliMpDCSNamer.h:84