AliRoot Core  edcc906 (edcc906)
AliMUONPainterHelper.h
Go to the documentation of this file.
1 #ifndef ALIMUONPAINTERHELPER_H
2 #define ALIMUONPAINTERHELPER_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, Subatech
14 
15 #ifndef ROOT_TObject
16 # include "TObject.h"
17 #endif
18 
19 #ifndef ROOT_TString
20 # include "TString.h"
21 #endif
22 
23 #ifndef ROOT_TVector2
24 # include "TVector2.h"
25 #endif
26 
27 #ifndef ALI_MP_PLANE_TYPE_H
28 # include "AliMpPlaneType.h"
29 #endif
30 
31 #ifndef ALI_MP_CATHOD_TYPE_H
32 # include "AliMpCathodType.h"
33 #endif
34 
35 #ifndef ALIMUONVPAINTER_H
36 # include "AliMUONVPainter.h"
37 #endif
38 
39 #ifndef ALI_MP_PAD_H
40 # include "AliMpPad.h"
41 #endif
42 
43 class AliMUONAttPainter;
44 class AliMUONContour;
46 class AliMUONPainterEnv;
47 class AliMUONVCalibParam;
49 class AliMpExMap;
50 class AliMpMotifPosition;
51 class AliMpPCB;
52 class AliMpSector;
53 class AliMpSlat;
54 class TArrayI;
55 class TList;
56 class TObjArray;
57 
58 class AliMUONPainterHelper : public TObject
59 {
60 public:
62  virtual ~AliMUONPainterHelper();
63 
64  TString ChamberName(Int_t chamberId) const;
65  TString StationName(Int_t stationId) const;
66  TString DEName(Int_t detElemId) const;
67  TString ManuName(Int_t manuId) const;
68  TString BusPatchName(Int_t busPatchId) const;
69  TString PCBName(Int_t pcbNumber) const;
70 
71  TString ChamberPathName(Int_t chamberId) const;
72  TString StationPathName(Int_t stationId) const;
73  TString DEPathName(Int_t detElemId) const;
74  TString ManuPathName(Int_t detElemId, Int_t manuId) const;
75  TString BusPatchPathName(Int_t busPatchId) const;
76  TString PCBPathName(Int_t detElemId, Int_t pcbNumber) const;
77 
78  Int_t ColorFromValue(Double_t value, Double_t min, Double_t max) const;
79 
80  AliMp::CathodType GetCathodeType(Int_t detElemId, Int_t manuId) const;
81 
82  AliMUONContour* GetContour(const char* contourName, Bool_t explodedGeometry=kTRUE) const;
83 
85  AliMUONContour* GetContour(const TString& contourName) const { return GetContour(contourName.Data()); }
86 
87  AliMpMotifPosition* GetMotifPosition(Int_t detElemId, Int_t manuId) const;
88 
89  AliMpPCB* GetPCB(Int_t detElemId, AliMp::PlaneType planeType,
90  Int_t pcbNumber) const;
91 
92  AliMpPCB* GetPCB(Int_t detElemId, AliMp::CathodType cathodType,
93  Int_t pcbNumber) const;
94 
95  AliMp::PlaneType GetPlaneType(Int_t manuId) const;
96 
97  const AliMpSector* GetSector(Int_t detElemId, AliMp::PlaneType planeType) const;
98 
99  const AliMpSlat* GetSlat(Int_t detElemId, AliMp::PlaneType planeType) const;
100 
101  const AliMpSlat* GetSlat(Int_t detElemId, AliMp::CathodType cathodeType) const;
102 
103  const AliMpSlat* GetSlat(Int_t detElemId, Int_t manuId) const;
104 
105  static AliMUONPainterHelper* Instance();
106 
107  void Local2Global(Int_t detElemId, Double_t xl, Double_t yl, Double_t zl,
108  Double_t& xg, Double_t& yg, Double_t& zg) const;
109 
110  void Global2Local(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg,
111  Double_t& xl, Double_t& yl, Double_t& zl) const;
112 
113  AliMUONContour* MergeContours(const TObjArray& contours, const char* contourName, Bool_t explodedGeometry=kTRUE);
114 
115  virtual void Print(Option_t* opt="") const;
116 
117  void RegisterContour(AliMUONContour* contour, Bool_t explodedView=kTRUE);
118 
119  TString FormatValue(const char* name, Double_t value) const;
120 
122  AliMUONPainterEnv* Env() { return fEnv; }
123 
124  TObjArray* GetAllContoursAsArray(Bool_t explodedView=kTRUE) const;
125 
126 private:
127 
132 
134  AliMUONContourHandler* Real() const;
135 
136 private:
138 
142 
143  ClassDef(AliMUONPainterHelper,4) // Helper class for painters
144 };
145 
146 #endif
Int_t ColorFromValue(Double_t value, Double_t min, Double_t max) const
static AliMUONPainterHelper * Instance()
AliMUONContour * GetContour(const TString &contourName) const
Return a contour by name.
TString DEPathName(Int_t detElemId) const
AliMUONPainterEnv * fEnv
resources
void Local2Global(Int_t detElemId, Double_t xl, Double_t yl, Double_t zl, Double_t &xg, Double_t &yg, Double_t &zg) const
TString PCBName(Int_t pcbNumber) const
#define TObjArray
virtual void Print(Option_t *opt="") const
AliMUONPainterHelper & operator=(const AliMUONPainterHelper &)
Not implemented.
A PCB for station 3,4 or 5.
Definition: AliMpPCB.h:46
TString StationPathName(Int_t stationId) const
const AliMpSector * GetSector(Int_t detElemId, AliMp::PlaneType planeType) const
A slat (building block of stations 3, 4 and 5)
Definition: AliMpSlat.h:51
TString ManuPathName(Int_t detElemId, Int_t manuId) const
Resource file handling.
Container of calibration values for a given number of channels.
TObjArray * GetAllContoursAsArray(Bool_t explodedView=kTRUE) const
AliMpPCB * GetPCB(Int_t detElemId, AliMp::PlaneType planeType, Int_t pcbNumber) const
A placed motif.
void RegisterContour(AliMUONContour *contour, Bool_t explodedView=kTRUE)
AliMUONContourHandler * Exploded() const
AliMUONContour * GetContour(const char *contourName, Bool_t explodedGeometry=kTRUE) const
TString PCBPathName(Int_t detElemId, Int_t pcbNumber) const
AliMp::PlaneType GetPlaneType(Int_t manuId) const
static AliMUONPainterHelper * fgInstance
global instance
AliMpMotifPosition * GetMotifPosition(Int_t detElemId, Int_t manuId) const
AliMUONContourHandler * Real() const
Holder for MUON tracker contours.
Utility class for the painters display.
AliMUONContour * MergeContours(const TObjArray &contours, const char *contourName, Bool_t explodedGeometry=kTRUE)
A sector (quadrant) of the MUON chamber of stations 1 and 2.
Definition: AliMpSector.h:34
TString BusPatchPathName(Int_t busPatchId) const
const AliMpSlat * GetSlat(Int_t detElemId, AliMp::PlaneType planeType) const
void Global2Local(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg, Double_t &xl, Double_t &yl, Double_t &zl) const
2D contour
AliMUONContourHandler * fReal
contours in real coordinates
AliMUONPainterEnv * Env()
Return the environment.
TString StationName(Int_t stationId) const
Basic attributes shared by all painters.
TString BusPatchName(Int_t busPatchId) const
TString ChamberPathName(Int_t chamberId) const
AliMUONContourHandler * fExploded
contours in exploded coordinates
TString FormatValue(const char *name, Double_t value) const
TString ChamberName(Int_t chamberId) const
TString ManuName(Int_t manuId) const
TString DEName(Int_t detElemId) const
Base class for MUON data that can be presented at different levels in the hierarchy of the MUON syste...
AliMp::CathodType GetCathodeType(Int_t detElemId, Int_t manuId) const
Helper class making Root persistent TExMap.
Definition: AliMpExMap.h:28