4 #ifndef ROOT_TGLTH3Composition
5 #define ROOT_TGLTH3Composition
27 class TGLTH3Composition :
public TH3C {
28 friend class TGLTH3CompositionPainter;
37 void AddTH3(
const TH3 *hist, ETH3BinShape shape = kBox);
41 Int_t DistancetoPrimitive(Int_t px, Int_t py);
42 void ExecuteEvent(Int_t event, Int_t px, Int_t py);
43 char *GetObjectInfo(Int_t px, Int_t py)
const;
44 void Paint(Option_t *option);
47 void CheckRanges(
const TH3 *hist);
49 typedef std::pair<const TH3 *, ETH3BinShape> TH3Pair_t;
51 std::vector<TH3Pair_t> fHists;
52 std::unique_ptr<TGLHistPainter> fPainter;
54 TGLTH3Composition(
const TGLTH3Composition &rhs);
55 TGLTH3Composition &operator = (
const TGLTH3Composition &);
57 ClassDef(TGLTH3Composition, 0)
63 class TGLTH3CompositionPainter:
public TGLPlotPainter {
65 TGLTH3CompositionPainter(TGLTH3Composition *data, TGLPlotCamera *camera,
66 TGLPlotCoordinates *coord);
69 char *GetPlotInfo(Int_t px, Int_t py);
70 Bool_t InitGeometry();
71 void StartPan(Int_t px, Int_t py);
72 void Pan(Int_t px, Int_t py);
73 void AddOption(
const TString &option);
74 void ProcessEvent(Int_t event, Int_t px, Int_t py);
84 void DrawSectionXOZ()
const{}
85 void DrawSectionYOZ()
const{}
86 void DrawSectionXOY()
const{}
88 void SetColor(Int_t color)
const;
90 TGLTH3Composition *fData;
91 std::pair<Double_t, Double_t> fMinMaxVal;
93 mutable TGLQuadric fQuadric;
95 TGLTH3CompositionPainter(
const TGLTH3CompositionPainter &rhs);
96 TGLTH3CompositionPainter &operator = (
const TGLTH3CompositionPainter &rhs);
98 ClassDef(TGLTH3CompositionPainter, 0)