#include "TEveCaloLegoOverlay.h"
#include "TAxis.h"
#include "TGLRnrCtx.h"
#include "TGLIncludes.h"
#include "TGLSelectRecord.h"
#include "TGLUtil.h"
#include "TGLCamera.h"
#include "TGLAxisPainter.h"
#include "TEveCalo.h"
#include "TEveCaloData.h"
ClassImp(TEveCaloLegoOverlay);
TEveCaloLegoOverlay::TEveCaloLegoOverlay() :
TGLCameraOverlay(),
TEveElementList("Lego Menu", "TEveCaloLegoOverlay", kTRUE),
fHeaderSelected(kFALSE),
fCalo(0),
fSliderAxis(0),
fMainColor(kGray),
fShowCamera(kTRUE),
fShowPlane(kFALSE),
fMenuW(0.08),
fButtonW(0.5),
fSliderH(0.6),
fSliderPosY(0.15),
fShowSlider(kFALSE),
fSliderVal(0),
fActiveID(-1),
fActiveCol(kRed-4)
{
fMainColorPtr = &fMainColor;
fSliderAxis = new TAxis();
}
void TEveCaloLegoOverlay::DrawSlider(TGLRnrCtx& rnrCtx)
{
glTranslatef(0, fSliderPosY, 0.5);
if (rnrCtx.Selection())
{
glLoadName(2);
Float_t w = fButtonW*fMenuW*0.5f;
glBegin(GL_QUADS);
glVertex2f(-w, 0);
glVertex2f( w, 0);
glVertex2f( w, fSliderH);
glVertex2f(-w, fSliderH);
glEnd();
}
if ( fCalo->GetData() && fCalo->GetData()->Empty() == kFALSE)
{
Double_t maxVal = fCalo->GetMaxVal();
fAxisPainter->SetLabelPixelFontSize(TMath::CeilNint(rnrCtx.GetCamera()->RefViewport().Height()*0.06));
fAxisPainter->RefDir().Set(0, 1, 0);
fAxisPainter->RefTMOff(0).Set(1, 0, 0);
fAxisPainter->SetLabelAlign(TGLFont::kLeft);
fSliderAxis->SetRangeUser(0, maxVal);
fSliderAxis->SetLimits(0, maxVal);
fSliderAxis->SetNdivisions(710);
fSliderAxis->SetTickLength(0.02*maxVal);
fSliderAxis->SetLabelOffset(0.02*maxVal);
fSliderAxis->SetLabelSize(0.05);
fSliderAxis->SetAxisColor(fMainColor);
fSliderAxis->SetLabelColor(fMainColor);
glPushMatrix();
glScalef(fSliderH/maxVal, fSliderH/maxVal, 1.);
fAxisPainter->PaintAxis(rnrCtx, fSliderAxis);
glPopMatrix();
TGLUtil::Color((fActiveID == 2) ? fActiveCol : 3);
glPointSize(8);
glBegin(GL_POINTS);
glVertex3f(0, fSliderVal*fSliderH, -0.1);
glEnd();
}
}
void TEveCaloLegoOverlay::RenderPlaneInterface(TGLRnrCtx &rnrCtx)
{
TGLCapabilitySwitch lights_off(GL_LIGHTING, kFALSE);
glPushAttrib(GL_ENABLE_BIT | GL_POLYGON_BIT | GL_LINE_BIT | GL_POINT_BIT);
glEnable(GL_POINT_SMOOTH);
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(0.1, 1);
glDisable(GL_CULL_FACE);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glPushName(0);
glPushMatrix();
glTranslatef(1 -fMenuW, 0, 0);
glPushMatrix();
glTranslatef(0, (1-fButtonW )*fMenuW*0.8, 0);
glLoadName(1);
Float_t a=0.6;
(fActiveID == 1) ? TGLUtil::Color(fActiveCol):TGLUtil::Color4f(0, 1, 0, a);
Float_t bw = fButtonW*fMenuW*0.5;
Float_t bwt = bw*0.8;
Float_t bh = fButtonW*fMenuW;
glBegin(GL_QUADS);
glVertex2f(-bw, 0);
glVertex2f( bw, 0);
glVertex2f( bwt, bh);
glVertex2f(-bwt, bh);
glEnd();
TGLUtil::Color(4);
glLineWidth(1);
glBegin(GL_LINES);
glVertex2f(0, 0); glVertex2f(0, bh);
glVertex2f((bw+bwt)*0.5, bh*0.5); glVertex2f(-(bw+bwt)*0.5, bh*0.5);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(-bw, 0);
glVertex2f( bw, 0);
glVertex2f( bwt, bh);
glVertex2f(-bwt, bh);
glEnd();
glLineWidth(1);
glPopMatrix();
if (fShowSlider) DrawSlider(rnrCtx);
glPopName();
glPopAttrib();
glPopMatrix();
}
void TEveCaloLegoOverlay::RenderHeader(TGLRnrCtx& rnrCtx)
{
TGLRect &vp = rnrCtx.GetCamera()->RefViewport();
TGLFont font;
Int_t fs = TGLFontManager::GetFontSize(vp.Height()*0.035, 12, 36);
rnrCtx.RegisterFont(fs, "arial", TGLFont::kPixmap, font);
Float_t off = fs*0.2;
Float_t bb[6];
font.BBox(fHeaderTxt.Data(), bb[0], bb[1], bb[2], bb[3], bb[4], bb[5]);
Float_t x = vp.Width() -bb[3] -off;
Float_t y = vp.Height() -bb[4] -off;
if (rnrCtx.Selection())
{
glPushName(0);
glLoadName(3);
glBegin(GL_QUADS);
glVertex2f(x/vp.Width(), y/ vp.Height());
glVertex2f(1, y/ vp.Height());
glVertex2f(1, 1);
glVertex2f(x/vp.Width(), 1);
glEnd();
glPopName();
}
else
{
TGLUtil::Color(fHeaderSelected ? fActiveCol : fCalo->GetFontColor());
glRasterPos2i(0, 0);
glBitmap(0, 0, 0, 0, x, y, 0);
font.Render(fHeaderTxt.Data());
}
}
void TEveCaloLegoOverlay::Render(TGLRnrCtx& rnrCtx)
{
if (fShowPlane || fHeaderTxt.Length())
{
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
if (rnrCtx.Selection())
{
TGLRect rect(*rnrCtx.GetPickRectangle());
rnrCtx.GetCamera()->WindowToViewport(rect);
gluPickMatrix(rect.X(), rect.Y(), rect.Width(), rect.Height(), rnrCtx.RefCamera().RefViewport().CArr());
}
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glTranslatef(-1, -1, 0);
glScalef(2, 2, 1);
if (fShowPlane) RenderPlaneInterface(rnrCtx);
RenderHeader(rnrCtx);
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
}
if (fShowCamera)
{
TGLCamera& cam = rnrCtx.RefCamera();
TGLRect& vp = cam.RefViewport();
Bool_t skip = kFALSE;
if (cam.IsOrthographic())
{
using namespace TMath;
Float_t x0 = fCalo->GetEtaMin();
Float_t y0 = fCalo->GetPhiMin();
const GLdouble *pm = rnrCtx.RefCamera().RefLastNoPickProjM().CArr();
GLdouble mm[16];
glGetDoublev(GL_MODELVIEW_MATRIX, mm);
GLdouble x, y, z;
gluProject(x0, y0, 0, mm, pm, (Int_t*)vp.CArr(), &x, &y, &z);
if ( x > vp.Left() && y > vp.Top())
skip = kTRUE;
}
if (!skip) TGLCameraOverlay::Render(rnrCtx);
}
}
Bool_t TEveCaloLegoOverlay::SetSliderVal(Event_t* event, TGLRnrCtx &rnrCtx)
{
TGLRect& wprt = rnrCtx.RefCamera().RefViewport();
fSliderVal = (1 -event->fY*1./wprt.Height() -fSliderPosY)/fSliderH;
if (fSliderVal < 0 )
fSliderVal = 0;
else if (fSliderVal > 1)
fSliderVal = 1;
fCalo->SetHPlaneVal(fSliderVal);
return kTRUE;
}
Bool_t TEveCaloLegoOverlay::Handle(TGLRnrCtx & rnrCtx,
TGLOvlSelectRecord & rec,
Event_t * event)
{
switch (event->fType)
{
case kMotionNotify:
{
Int_t item = rec.GetN() < 2 ? -1 : (Int_t)rec.GetItem(1);
if (fActiveID != item) {
fActiveID = item;
return kTRUE;
} else {
if (fActiveID == 2 && event->fState == 256)
return SetSliderVal(event, rnrCtx);
return kFALSE;
}
break;
}
case kButtonPress:
{
if (event->fCode != kButton1) {
return kFALSE;
}
switch (rec.GetItem(1))
{
case 1:
fShowSlider = !fShowSlider;
fCalo->SetDrawHPlane(fShowSlider);
break;
case 2:
return SetSliderVal(event, rnrCtx);
case 3:
fHeaderSelected = !fHeaderSelected;
default:
break;
}
}
default:
break;
}
return kFALSE;
}
Bool_t TEveCaloLegoOverlay::MouseEnter(TGLOvlSelectRecord& )
{
return kTRUE;
}
void TEveCaloLegoOverlay::MouseLeave()
{
fActiveID = -1;
}
TEveCaloLegoOverlay.cxx:1 TEveCaloLegoOverlay.cxx:2 TEveCaloLegoOverlay.cxx:3 TEveCaloLegoOverlay.cxx:4 TEveCaloLegoOverlay.cxx:5 TEveCaloLegoOverlay.cxx:6 TEveCaloLegoOverlay.cxx:7 TEveCaloLegoOverlay.cxx:8 TEveCaloLegoOverlay.cxx:9 TEveCaloLegoOverlay.cxx:10 TEveCaloLegoOverlay.cxx:11 TEveCaloLegoOverlay.cxx:12 TEveCaloLegoOverlay.cxx:13 TEveCaloLegoOverlay.cxx:14 TEveCaloLegoOverlay.cxx:15 TEveCaloLegoOverlay.cxx:16 TEveCaloLegoOverlay.cxx:17 TEveCaloLegoOverlay.cxx:18 TEveCaloLegoOverlay.cxx:19 TEveCaloLegoOverlay.cxx:20 TEveCaloLegoOverlay.cxx:21 TEveCaloLegoOverlay.cxx:22 TEveCaloLegoOverlay.cxx:23 TEveCaloLegoOverlay.cxx:24 TEveCaloLegoOverlay.cxx:25 TEveCaloLegoOverlay.cxx:26 TEveCaloLegoOverlay.cxx:27 TEveCaloLegoOverlay.cxx:28 TEveCaloLegoOverlay.cxx:29 TEveCaloLegoOverlay.cxx:30 TEveCaloLegoOverlay.cxx:31 TEveCaloLegoOverlay.cxx:32 TEveCaloLegoOverlay.cxx:33 TEveCaloLegoOverlay.cxx:34 TEveCaloLegoOverlay.cxx:35 TEveCaloLegoOverlay.cxx:36 TEveCaloLegoOverlay.cxx:37 TEveCaloLegoOverlay.cxx:38 TEveCaloLegoOverlay.cxx:39 TEveCaloLegoOverlay.cxx:40 TEveCaloLegoOverlay.cxx:41 TEveCaloLegoOverlay.cxx:42 TEveCaloLegoOverlay.cxx:43 TEveCaloLegoOverlay.cxx:44 TEveCaloLegoOverlay.cxx:45 TEveCaloLegoOverlay.cxx:46 TEveCaloLegoOverlay.cxx:47 TEveCaloLegoOverlay.cxx:48 TEveCaloLegoOverlay.cxx:49 TEveCaloLegoOverlay.cxx:50 TEveCaloLegoOverlay.cxx:51 TEveCaloLegoOverlay.cxx:52 TEveCaloLegoOverlay.cxx:53 TEveCaloLegoOverlay.cxx:54 TEveCaloLegoOverlay.cxx:55 TEveCaloLegoOverlay.cxx:56 TEveCaloLegoOverlay.cxx:57 TEveCaloLegoOverlay.cxx:58 TEveCaloLegoOverlay.cxx:59 TEveCaloLegoOverlay.cxx:60 TEveCaloLegoOverlay.cxx:61 TEveCaloLegoOverlay.cxx:62 TEveCaloLegoOverlay.cxx:63 TEveCaloLegoOverlay.cxx:64 TEveCaloLegoOverlay.cxx:65 TEveCaloLegoOverlay.cxx:66 TEveCaloLegoOverlay.cxx:67 TEveCaloLegoOverlay.cxx:68 TEveCaloLegoOverlay.cxx:69 TEveCaloLegoOverlay.cxx:70 TEveCaloLegoOverlay.cxx:71 TEveCaloLegoOverlay.cxx:72 TEveCaloLegoOverlay.cxx:73 TEveCaloLegoOverlay.cxx:74 TEveCaloLegoOverlay.cxx:75 TEveCaloLegoOverlay.cxx:76 TEveCaloLegoOverlay.cxx:77 TEveCaloLegoOverlay.cxx:78 TEveCaloLegoOverlay.cxx:79 TEveCaloLegoOverlay.cxx:80 TEveCaloLegoOverlay.cxx:81 TEveCaloLegoOverlay.cxx:82 TEveCaloLegoOverlay.cxx:83 TEveCaloLegoOverlay.cxx:84 TEveCaloLegoOverlay.cxx:85 TEveCaloLegoOverlay.cxx:86 TEveCaloLegoOverlay.cxx:87 TEveCaloLegoOverlay.cxx:88 TEveCaloLegoOverlay.cxx:89 TEveCaloLegoOverlay.cxx:90 TEveCaloLegoOverlay.cxx:91 TEveCaloLegoOverlay.cxx:92 TEveCaloLegoOverlay.cxx:93 TEveCaloLegoOverlay.cxx:94 TEveCaloLegoOverlay.cxx:95 TEveCaloLegoOverlay.cxx:96 TEveCaloLegoOverlay.cxx:97 TEveCaloLegoOverlay.cxx:98 TEveCaloLegoOverlay.cxx:99 TEveCaloLegoOverlay.cxx:100 TEveCaloLegoOverlay.cxx:101 TEveCaloLegoOverlay.cxx:102 TEveCaloLegoOverlay.cxx:103 TEveCaloLegoOverlay.cxx:104 TEveCaloLegoOverlay.cxx:105 TEveCaloLegoOverlay.cxx:106 TEveCaloLegoOverlay.cxx:107 TEveCaloLegoOverlay.cxx:108 TEveCaloLegoOverlay.cxx:109 TEveCaloLegoOverlay.cxx:110 TEveCaloLegoOverlay.cxx:111 TEveCaloLegoOverlay.cxx:112 TEveCaloLegoOverlay.cxx:113 TEveCaloLegoOverlay.cxx:114 TEveCaloLegoOverlay.cxx:115 TEveCaloLegoOverlay.cxx:116 TEveCaloLegoOverlay.cxx:117 TEveCaloLegoOverlay.cxx:118 TEveCaloLegoOverlay.cxx:119 TEveCaloLegoOverlay.cxx:120 TEveCaloLegoOverlay.cxx:121 TEveCaloLegoOverlay.cxx:122 TEveCaloLegoOverlay.cxx:123 TEveCaloLegoOverlay.cxx:124 TEveCaloLegoOverlay.cxx:125 TEveCaloLegoOverlay.cxx:126 TEveCaloLegoOverlay.cxx:127 TEveCaloLegoOverlay.cxx:128 TEveCaloLegoOverlay.cxx:129 TEveCaloLegoOverlay.cxx:130 TEveCaloLegoOverlay.cxx:131 TEveCaloLegoOverlay.cxx:132 TEveCaloLegoOverlay.cxx:133 TEveCaloLegoOverlay.cxx:134 TEveCaloLegoOverlay.cxx:135 TEveCaloLegoOverlay.cxx:136 TEveCaloLegoOverlay.cxx:137 TEveCaloLegoOverlay.cxx:138 TEveCaloLegoOverlay.cxx:139 TEveCaloLegoOverlay.cxx:140 TEveCaloLegoOverlay.cxx:141 TEveCaloLegoOverlay.cxx:142 TEveCaloLegoOverlay.cxx:143 TEveCaloLegoOverlay.cxx:144 TEveCaloLegoOverlay.cxx:145 TEveCaloLegoOverlay.cxx:146 TEveCaloLegoOverlay.cxx:147 TEveCaloLegoOverlay.cxx:148 TEveCaloLegoOverlay.cxx:149 TEveCaloLegoOverlay.cxx:150 TEveCaloLegoOverlay.cxx:151 TEveCaloLegoOverlay.cxx:152 TEveCaloLegoOverlay.cxx:153 TEveCaloLegoOverlay.cxx:154 TEveCaloLegoOverlay.cxx:155 TEveCaloLegoOverlay.cxx:156 TEveCaloLegoOverlay.cxx:157 TEveCaloLegoOverlay.cxx:158 TEveCaloLegoOverlay.cxx:159 TEveCaloLegoOverlay.cxx:160 TEveCaloLegoOverlay.cxx:161 TEveCaloLegoOverlay.cxx:162 TEveCaloLegoOverlay.cxx:163 TEveCaloLegoOverlay.cxx:164 TEveCaloLegoOverlay.cxx:165 TEveCaloLegoOverlay.cxx:166 TEveCaloLegoOverlay.cxx:167 TEveCaloLegoOverlay.cxx:168 TEveCaloLegoOverlay.cxx:169 TEveCaloLegoOverlay.cxx:170 TEveCaloLegoOverlay.cxx:171 TEveCaloLegoOverlay.cxx:172 TEveCaloLegoOverlay.cxx:173 TEveCaloLegoOverlay.cxx:174 TEveCaloLegoOverlay.cxx:175 TEveCaloLegoOverlay.cxx:176 TEveCaloLegoOverlay.cxx:177 TEveCaloLegoOverlay.cxx:178 TEveCaloLegoOverlay.cxx:179 TEveCaloLegoOverlay.cxx:180 TEveCaloLegoOverlay.cxx:181 TEveCaloLegoOverlay.cxx:182 TEveCaloLegoOverlay.cxx:183 TEveCaloLegoOverlay.cxx:184 TEveCaloLegoOverlay.cxx:185 TEveCaloLegoOverlay.cxx:186 TEveCaloLegoOverlay.cxx:187 TEveCaloLegoOverlay.cxx:188 TEveCaloLegoOverlay.cxx:189 TEveCaloLegoOverlay.cxx:190 TEveCaloLegoOverlay.cxx:191 TEveCaloLegoOverlay.cxx:192 TEveCaloLegoOverlay.cxx:193 TEveCaloLegoOverlay.cxx:194 TEveCaloLegoOverlay.cxx:195 TEveCaloLegoOverlay.cxx:196 TEveCaloLegoOverlay.cxx:197 TEveCaloLegoOverlay.cxx:198 TEveCaloLegoOverlay.cxx:199 TEveCaloLegoOverlay.cxx:200 TEveCaloLegoOverlay.cxx:201 TEveCaloLegoOverlay.cxx:202 TEveCaloLegoOverlay.cxx:203 TEveCaloLegoOverlay.cxx:204 TEveCaloLegoOverlay.cxx:205 TEveCaloLegoOverlay.cxx:206 TEveCaloLegoOverlay.cxx:207 TEveCaloLegoOverlay.cxx:208 TEveCaloLegoOverlay.cxx:209 TEveCaloLegoOverlay.cxx:210 TEveCaloLegoOverlay.cxx:211 TEveCaloLegoOverlay.cxx:212 TEveCaloLegoOverlay.cxx:213 TEveCaloLegoOverlay.cxx:214 TEveCaloLegoOverlay.cxx:215 TEveCaloLegoOverlay.cxx:216 TEveCaloLegoOverlay.cxx:217 TEveCaloLegoOverlay.cxx:218 TEveCaloLegoOverlay.cxx:219 TEveCaloLegoOverlay.cxx:220 TEveCaloLegoOverlay.cxx:221 TEveCaloLegoOverlay.cxx:222 TEveCaloLegoOverlay.cxx:223 TEveCaloLegoOverlay.cxx:224 TEveCaloLegoOverlay.cxx:225 TEveCaloLegoOverlay.cxx:226 TEveCaloLegoOverlay.cxx:227 TEveCaloLegoOverlay.cxx:228 TEveCaloLegoOverlay.cxx:229 TEveCaloLegoOverlay.cxx:230 TEveCaloLegoOverlay.cxx:231 TEveCaloLegoOverlay.cxx:232 TEveCaloLegoOverlay.cxx:233 TEveCaloLegoOverlay.cxx:234 TEveCaloLegoOverlay.cxx:235 TEveCaloLegoOverlay.cxx:236 TEveCaloLegoOverlay.cxx:237 TEveCaloLegoOverlay.cxx:238 TEveCaloLegoOverlay.cxx:239 TEveCaloLegoOverlay.cxx:240 TEveCaloLegoOverlay.cxx:241 TEveCaloLegoOverlay.cxx:242 TEveCaloLegoOverlay.cxx:243 TEveCaloLegoOverlay.cxx:244 TEveCaloLegoOverlay.cxx:245 TEveCaloLegoOverlay.cxx:246 TEveCaloLegoOverlay.cxx:247 TEveCaloLegoOverlay.cxx:248 TEveCaloLegoOverlay.cxx:249 TEveCaloLegoOverlay.cxx:250 TEveCaloLegoOverlay.cxx:251 TEveCaloLegoOverlay.cxx:252 TEveCaloLegoOverlay.cxx:253 TEveCaloLegoOverlay.cxx:254 TEveCaloLegoOverlay.cxx:255 TEveCaloLegoOverlay.cxx:256 TEveCaloLegoOverlay.cxx:257 TEveCaloLegoOverlay.cxx:258 TEveCaloLegoOverlay.cxx:259 TEveCaloLegoOverlay.cxx:260 TEveCaloLegoOverlay.cxx:261 TEveCaloLegoOverlay.cxx:262 TEveCaloLegoOverlay.cxx:263 TEveCaloLegoOverlay.cxx:264 TEveCaloLegoOverlay.cxx:265 TEveCaloLegoOverlay.cxx:266 TEveCaloLegoOverlay.cxx:267 TEveCaloLegoOverlay.cxx:268 TEveCaloLegoOverlay.cxx:269 TEveCaloLegoOverlay.cxx:270 TEveCaloLegoOverlay.cxx:271 TEveCaloLegoOverlay.cxx:272 TEveCaloLegoOverlay.cxx:273 TEveCaloLegoOverlay.cxx:274 TEveCaloLegoOverlay.cxx:275 TEveCaloLegoOverlay.cxx:276 TEveCaloLegoOverlay.cxx:277 TEveCaloLegoOverlay.cxx:278 TEveCaloLegoOverlay.cxx:279 TEveCaloLegoOverlay.cxx:280 TEveCaloLegoOverlay.cxx:281 TEveCaloLegoOverlay.cxx:282 TEveCaloLegoOverlay.cxx:283 TEveCaloLegoOverlay.cxx:284 TEveCaloLegoOverlay.cxx:285 TEveCaloLegoOverlay.cxx:286 TEveCaloLegoOverlay.cxx:287 TEveCaloLegoOverlay.cxx:288 TEveCaloLegoOverlay.cxx:289 TEveCaloLegoOverlay.cxx:290 TEveCaloLegoOverlay.cxx:291 TEveCaloLegoOverlay.cxx:292 TEveCaloLegoOverlay.cxx:293 TEveCaloLegoOverlay.cxx:294 TEveCaloLegoOverlay.cxx:295 TEveCaloLegoOverlay.cxx:296 TEveCaloLegoOverlay.cxx:297 TEveCaloLegoOverlay.cxx:298 TEveCaloLegoOverlay.cxx:299 TEveCaloLegoOverlay.cxx:300 TEveCaloLegoOverlay.cxx:301 TEveCaloLegoOverlay.cxx:302 TEveCaloLegoOverlay.cxx:303 TEveCaloLegoOverlay.cxx:304 TEveCaloLegoOverlay.cxx:305 TEveCaloLegoOverlay.cxx:306 TEveCaloLegoOverlay.cxx:307 TEveCaloLegoOverlay.cxx:308 TEveCaloLegoOverlay.cxx:309 TEveCaloLegoOverlay.cxx:310 TEveCaloLegoOverlay.cxx:311 TEveCaloLegoOverlay.cxx:312 TEveCaloLegoOverlay.cxx:313 TEveCaloLegoOverlay.cxx:314 TEveCaloLegoOverlay.cxx:315 TEveCaloLegoOverlay.cxx:316 TEveCaloLegoOverlay.cxx:317 TEveCaloLegoOverlay.cxx:318 TEveCaloLegoOverlay.cxx:319 TEveCaloLegoOverlay.cxx:320 TEveCaloLegoOverlay.cxx:321 TEveCaloLegoOverlay.cxx:322 TEveCaloLegoOverlay.cxx:323 TEveCaloLegoOverlay.cxx:324 TEveCaloLegoOverlay.cxx:325 TEveCaloLegoOverlay.cxx:326 TEveCaloLegoOverlay.cxx:327 TEveCaloLegoOverlay.cxx:328 TEveCaloLegoOverlay.cxx:329 TEveCaloLegoOverlay.cxx:330 TEveCaloLegoOverlay.cxx:331 TEveCaloLegoOverlay.cxx:332 TEveCaloLegoOverlay.cxx:333 TEveCaloLegoOverlay.cxx:334 TEveCaloLegoOverlay.cxx:335 TEveCaloLegoOverlay.cxx:336 TEveCaloLegoOverlay.cxx:337 TEveCaloLegoOverlay.cxx:338 TEveCaloLegoOverlay.cxx:339 TEveCaloLegoOverlay.cxx:340 TEveCaloLegoOverlay.cxx:341 TEveCaloLegoOverlay.cxx:342 TEveCaloLegoOverlay.cxx:343 TEveCaloLegoOverlay.cxx:344 TEveCaloLegoOverlay.cxx:345 TEveCaloLegoOverlay.cxx:346 TEveCaloLegoOverlay.cxx:347 TEveCaloLegoOverlay.cxx:348 TEveCaloLegoOverlay.cxx:349 TEveCaloLegoOverlay.cxx:350 TEveCaloLegoOverlay.cxx:351 TEveCaloLegoOverlay.cxx:352 TEveCaloLegoOverlay.cxx:353 TEveCaloLegoOverlay.cxx:354 TEveCaloLegoOverlay.cxx:355 TEveCaloLegoOverlay.cxx:356 TEveCaloLegoOverlay.cxx:357 TEveCaloLegoOverlay.cxx:358 TEveCaloLegoOverlay.cxx:359 TEveCaloLegoOverlay.cxx:360 TEveCaloLegoOverlay.cxx:361 TEveCaloLegoOverlay.cxx:362 TEveCaloLegoOverlay.cxx:363 TEveCaloLegoOverlay.cxx:364 TEveCaloLegoOverlay.cxx:365 TEveCaloLegoOverlay.cxx:366 TEveCaloLegoOverlay.cxx:367