35 #include <TVirtualPad.h>
36 #include <TVirtualX.h>
80 fDetElemId(detElemId),
88 SetID(detElemId,manuId);
116 Double_t& dataMin, Double_t& dataMax)
const
130 dataMin = TMath::Min(value,dataMin);
131 dataMax = TMath::Max(value,dataMax);
141 return const_cast<char*
>(Form(
"%s:%d:%d",
GetName(),px,py));
150 TString name(
"invalid");
173 Double_t x, Double_t y)
199 if ( !values )
return;
203 if ( !group )
return;
237 gVirtualX->SetLineColor(-1);
238 gVirtualX->SetFillStyle(1001);
254 gVirtualX->SetFillColor(color);
274 Double_t xe1,ye1,xe2,ye2,z;
279 gPad->PaintBox(xe1,ye1,xe2,ye2);
296 gVirtualX->SetLineColor(lineColor);
297 gVirtualX->SetFillStyle(0);
299 if ( x < FLT_MAX && y < FLT_MAX )
virtual Bool_t IsIncluded() const
Whether or not the part of the detector represented by this painter should be included in readout...
virtual TString Describe(const AliMUONVTrackerData &data, Int_t dataIndex, Double_t x=FLT_MAX, Double_t y=FLT_MAX)
Int_t ColorFromValue(Double_t value, Double_t min, Double_t max) const
static AliMUONPainterHelper * Instance()
TString NameAtPosition(Double_t x, Double_t y) const
Return specific name at a given position, if needed.
void SetID(Int_t id0, Int_t id1)
Set our IDs.
static Float_t InvalidFloatValue()
Return 1E38 as invalid float value.
void Local2Global(Int_t detElemId, Double_t xl, Double_t yl, Double_t zl, Double_t &xg, Double_t &yg, Double_t &zg) const
static AliMpSegmentation * Instance(Bool_t warn=true)
Int_t fFillStyleBck
fill style for backup
AliMUONVTrackerData * InteractiveReadOutConfig() const
Make histograms from VTrackerData and VPainter objects.
void SetContour(AliMUONContour *contour)
Set out contour.
TH1 * fHistogram
! histogram
virtual Bool_t HasManu(Int_t detElemId, Int_t manuId) const =0
Whether we have data for a given manu.
virtual Double_t Channel(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t dim=0) const =0
Get the value for a given channel and given dimension.
const AliMpVSegmentation * GetMpSegmentationByElectronics(Int_t detElemId, Int_t elCardID, Bool_t warn=true) const
virtual const char * GetName() const
Get our name.
virtual TString PathName() const
Get our path name (aka fullname)
Int_t fFillColorBck
fill color for backup
virtual char * GetObjectInfo(Int_t px, Int_t py) const
virtual TString DimensionName(Int_t dim) const =0
Get the name of a given (internal) dimension.
Int_t GetManuChannel() const
AliMUONVTrackerData * Data() const
Return the data we are plotting.
static Int_t ManuNofChannels()
Max number of channels per manu.
void SetName(const char *name)
Set our name.
Base class for a graphical object representing some part of the MUON tracking system.
void PaintArea(const AliMUONVTrackerData &data, Int_t dataIndex, Double_t min, Double_t max)
Int_t fLineColorBck
line color for backup
virtual ~AliMUONManuPadPainter()
AliMUONContour * Contour() const
Return the contour representing the outline of this object.
void SetPathName(const char *pathName)
Set our path name (aka fullname)
Int_t GetLineColor() const
Get our line color.
Double_t GetPositionY() const
Return the pad x position (in cm)
AliMUONVPainter * Master() const
Int_t fDetElemId
our detection element id
void PaintOutline(Int_t color=-1, Int_t width=-1, Double_t x=FLT_MAX, Double_t y=FLT_MAX)
Utility class for the painters display.
TH1 * CreateChannelHisto(Int_t detElemId, Int_t manuId, Int_t manuChannel) const
Painter for the pads of one manu.
Bool_t IsValid() const
Return validity.
virtual AliMpPad PadByPosition(Double_t x, Double_t y, Bool_t warning=true) const =0
Find pad by position.
void Global2Local(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg, Double_t &xl, Double_t &yl, Double_t &zl) const
virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const
Return true if the pad with given location exists.
The abstract base class for the segmentation.
Double_t GetDimensionY() const
Return the y pad dimension - half length (in cm)
Class which encapsuate all information about a pad.
Double_t GetPositionX() const
Return the pad x position (in cm)
TString FormatValue(const char *name, Double_t value) const
void PaintPad(const AliMpPad &pad) const
AliMpPad PadByPosition(Double_t x, Double_t y) const
A group of AliMUONVPainter.
virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel, Bool_t warning=true) const =0
Find pad by location.
Int_t fLineWidthBck
line width for backup
AliMUONPainterGroup * PlotterGroup() const
Return the plotter group.
virtual void DrawHistogramClone(Double_t *values=0x0) const
virtual void ComputeDataRange(const AliMUONVTrackerData &data, Int_t dataIndex, Double_t &dataMin, Double_t &dataMax) const
Base class for MUON data that can be presented at different levels in the hierarchy of the MUON syste...
Double_t GetDimensionX() const
Return the x pad dimension - half length (in cm)