35 ecalDrawer(
const char *name,
const Int_t iVerbose=1);
45 Int_t
InitPython(TClonesArray* mctracks, TClonesArray* ecalPoints,
ecalStructure* structure, TClonesArray* clusters);
47 virtual InitStatus
Init();
48 virtual void Exec(Option_t* option);
64 void PutPixel(Int_t x, Int_t y, Float_t r, Float_t g, Float_t b);
65 void PutPixel(Int_t x, Int_t y,
const char* color);
67 void DrawMark(Double_t x, Double_t y,
const char* color, Int_t type);
72 void DrawLine(Double_t x, Double_t y,
const char* color, Int_t track);
73 void DrawLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2,
const char* color);
77 void DrawEnergy(Float_t x, Float_t y, Float_t p,
const char* color);
81 void DrawChi2(Float_t x, Float_t y, Float_t chi2,
const char* color);
129inline void LabToRGB(Float_t L, Float_t a, Float_t b, Float_t& R, Float_t& G, Float_t& B)
131 Float_t vY=(L+0.16)/1.16;
132 Float_t vX=a/5.00+vY;
134 if (vY*vY*vY>0.008856) vY=vY*vY*vY;
else vY=(vY-16.0/116.0)/7.787;
135 if (vX*vX*vX>0.008856) vX=vX*vX*vX;
else vX=(vX-16.0/116.0)/7.787;
136 if (vZ*vZ*vZ>0.008856) vZ=vZ*vZ*vZ;
else vZ=(vZ-16.0/116.0)/7.787;
137 vX*=0.95047; vZ*=1.08883;
138 R= vX*3.2406-vY*1.5372-vZ*0.4986;
139 G=-vX*0.9689+vY*1.8758+vZ*0.0415;
140 B= vX*0.0557-vY*0.2040+vZ*1.0570;
141 if (R>0.0031308) R=1.055*powf(R, 1.0/2.4)-0.055;
else R*=12.92;
142 if (G>0.0031308) G=1.055*powf(G, 1.0/2.4)-0.055;
else G*=12.92;
143 if (B>0.0031308) B=1.055*powf(B, 1.0/2.4)-0.055;
else B*=12.92;
147 Float_t Ln=R*0.3+G*0.6+0.1*B;
148 if (Ln>L) { R*=L/Ln; G*=L/Ln; B*=L/Ln; }
149 if (R>1.0) { G/=R; B/=R; R=1.0; }
150 if (G>1.0) { R/=G; B/=G; G=1.0; }
151 if (B>1.0) { R/=B; G/=B; B=1.0; }
void LabToRGB(Float_t L, Float_t a, Float_t b, Float_t &R, Float_t &G, Float_t &B)
void HSLToRGB(Float_t h, Float_t s, Float_t l, Float_t &R, Float_t &G, Float_t &B)