12 #ifndef ROOT_TSpectrum2Painter
13 #define ROOT_TSpectrum2Painter
30 class TSpectrum2Painter:
public TNamed {
33 TSpectrum2Painter(TH2* h2, Int_t bs);
34 virtual ~TSpectrum2Painter();
36 void GetAngles(Int_t &alpha,Int_t &beta,Int_t &view);
37 void GetBezier(Int_t &bezier);
38 void GetChanGrid(Int_t &enable,Int_t &color);
39 void GetChanMarks(Int_t &enable,Int_t &color,Int_t &width,Int_t &height,Int_t &style);
40 void GetColorAlgorithm(Int_t &colorAlgorithm);
41 void GetColorIncrements(Double_t &r,Double_t &g,Double_t &b);
42 void GetContourWidth(Int_t &width);
43 void GetDisplayMode(Int_t &modeGroup,Int_t &displayMode);
44 void GetLightHeightWeight(Double_t &weight);
45 void GetLightPosition(Int_t &x,Int_t &y,Int_t &z);
46 void GetNodes(Int_t &nodesx,Int_t &nodesy);
47 void GetPenAttr(Int_t &color, Int_t &style, Int_t &width);
48 void GetShading(Int_t &shading,Int_t &shadow);
49 void GetZScale(Int_t &scale);
50 void Paint(Option_t *option);
51 void SetAngles(Int_t alpha,Int_t beta,Int_t view);
52 void SetBezier(Int_t bezier);
53 void SetChanGrid(Int_t enable,Int_t color);
54 void SetChanMarks(Int_t enable,Int_t color,Int_t width,Int_t height,Int_t style);
55 void SetColorAlgorithm(Int_t colorAlgorithm);
56 void SetColorIncrements(Double_t r,Double_t g,Double_t b);
57 void SetContourWidth(Int_t width);
58 void SetDisplayMode(Int_t modeGroup,Int_t displayMode);
59 void SetLightHeightWeight(Double_t weight);
60 void SetLightPosition(Int_t x,Int_t y,Int_t z);
61 void SetNodes(Int_t nodesx,Int_t nodesy);
62 void SetPenAttr(Int_t color,Int_t style,Int_t width);
63 void SetShading(Int_t shading,Int_t shadow);
64 void SetZScale(Int_t scale);
66 static void PaintSpectrum(TH2* h2, Option_t *option=
"",Int_t bs=1600);
72 kModeGroupLightHeight=3,
75 kDisplayModeContours=3,
81 kDisplayModeNeedles=9,
82 kDisplayModeSurface=10,
83 kDisplayModeTriangles=11,
107 kChannelMarksNotDrawn=0,
108 kChannelMarksDrawn=1,
109 kChannelMarksStyleDot=1,
110 kChannelMarksStyleCross=2,
111 kChannelMarksStyleStar=3,
112 kChannelMarksStyleRectangle=4,
113 kChannelMarksStyleX=5,
114 kChannelMarksStyleDiamond=6,
115 kChannelMarksStyleTriangle=7,
116 kChannelGridNotDrawn=0,
145 Double_t fRainbow1Step;
146 Double_t fRainbow2Step;
147 Double_t fRainbow3Step;
156 Int_t fChanmarkEnDis;
157 Int_t fChanmarkStyle;
158 Int_t fChanmarkWidth;
159 Int_t fChanmarkHeight;
160 Int_t fChanmarkColor;
161 Int_t fChanlineEnDis;
162 Int_t fChanlineColor;
181 Double_t fZ,fZeq,fGbezx,fGbezy,fDxspline,fDyspline,fZPresetValue;
182 Int_t fXt,fYt,fXs,fYs,fXe,fYe,fLine;
184 Short_t *fEnvelopeContour;
186 Int_t fMaximumXScreenResolution;
187 Int_t fNewColorIndex;
192 Double_t BezierBlend(Int_t i,Double_t bezf);
193 void BezierSmoothing(Double_t bezf);
194 Double_t ColorCalculation(Double_t dx1,Double_t dy1,Double_t z1,Double_t dx2,Double_t dy2,Double_t z2,Double_t dx3,Double_t dy3,Double_t z3);
195 void ColorModel(
unsigned ui,
unsigned ui1,
unsigned ui2,
unsigned ui3);
196 void CopyEnvelope(Double_t xr,Double_t xs,Double_t yr,Double_t ys);
197 void DrawMarker(Int_t x,Int_t y,Int_t w,Int_t h,Int_t type);
198 void Envelope(Int_t x1,Int_t y1,Int_t x2,Int_t y2);
199 void EnvelopeBars(Int_t x1,Int_t y1,Int_t x2,Int_t y2);
200 Double_t ShadowColorCalculation(Double_t xtaz,Double_t ytaz,Double_t ztaz,Double_t shad_noise);
201 void Slice(Double_t xr,Double_t yr,Double_t xs,Double_t ys,TLine *line);
202 void Transform(Int_t it,Int_t jt,Int_t zmt);
205 ClassDef(TSpectrum2Painter,0)
208 TSpectrum2Painter (const TSpectrum2Painter&);
209 TSpectrum2Painter& operator=(const TSpectrum2Painter&);