#include "TEveCaloLegoOverlay.h"
#include "TEveCaloLegoGL.h"
#include "TAxis.h"
#include "TColor.h"
#include "TROOT.h"
#include "THLimitsFinder.h"
#include "TGLRnrCtx.h"
#include "TGLIncludes.h"
#include "TGLSelectRecord.h"
#include "TGLUtil.h"
#include "TGLViewerBase.h"
#include "TGLCamera.h"
#include "TGLAxisPainter.h"
#include "TGLFontManager.h"
#include "TEveCalo.h"
#include "TEveCaloData.h"
#include "TEveRGBAPalette.h"
#include <KeySymbols.h>
ClassImp(TEveCaloLegoOverlay);
TEveCaloLegoOverlay::TEveCaloLegoOverlay() :
TGLCameraOverlay(),
fCalo(0),
fShowScales(kTRUE),
fScaleColor(-1), fScaleTransparency(0),
fScaleCoordX(0.85), fScaleCoordY(0.65),
fScaleW(0), fScaleH(0),
fCellX(-1), fCellY(-1),
fFrameColor(-1), fFrameLineTransp(70), fFrameBgTransp(90),
fMouseX(0), fMouseY(0),
fInDrag(kFALSE),
fHeaderSelected(kFALSE),
fPlaneAxis(0), fAxisPlaneColor(kGray),
fShowPlane(kFALSE),
fMenuW(0.08),
fButtonW(0.5),
fShowSlider(kFALSE),
fSliderH(0.6),
fSliderPosY(0.15),
fSliderVal(0),
fActiveID(-1), fActiveCol(kRed-4)
{
fPlaneAxis = new TAxis();
}
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 & selRec,
Event_t * event)
{
if (selRec.GetN() < 2) return kFALSE;
if (rnrCtx.RefCamera().IsOrthographic())
{
switch (event->fType)
{ case kButtonPress:
{
fMouseX = event->fX;
fMouseY = event->fY;
fInDrag = kTRUE;
return kTRUE;
}
case kButtonRelease:
{
fInDrag = kFALSE;
return kTRUE;
}
case kMotionNotify:
{
if (fInDrag)
{
const TGLRect& vp = rnrCtx.RefCamera().RefViewport();
fScaleCoordX += (Float_t)(event->fX - fMouseX) / vp.Width();
fScaleCoordY -= (Float_t)(event->fY - fMouseY) / vp.Height();
fMouseX = event->fX;
fMouseY = event->fY;
if (fScaleCoordX < 0)
fScaleCoordX = 0;
else if (fScaleCoordX + fScaleW > 1.0f)
fScaleCoordX = 1.0f - fScaleW;
if (fScaleCoordY < 0)
fScaleCoordY = 0;
else if (fScaleCoordY + fScaleH > 1.0f)
fScaleCoordY = 1.0f - fScaleH;
}
return kTRUE;
}
default:
break;
}
}
else
{
switch (event->fType)
{
case kMotionNotify:
{
Int_t item = selRec.GetN() < 2 ? -1 : (Int_t)selRec.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 (selRec.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;
}
void TEveCaloLegoOverlay::SetScaleColorTransparency(Color_t colIdx, Char_t transp)
{
fScaleColor = colIdx;
fScaleTransparency = transp;
}
void TEveCaloLegoOverlay::SetScalePosition(Double_t x, Double_t y)
{
fScaleCoordX = x;
fScaleCoordY = y;
}
void TEveCaloLegoOverlay:: SetFrameAttribs(Color_t frameColor, Char_t lineTransp, Char_t bgTransp)
{
fFrameColor = frameColor;
fFrameLineTransp = lineTransp;
fFrameBgTransp = bgTransp;
}
void TEveCaloLegoOverlay::RenderHeader(TGLRnrCtx& rnrCtx)
{
TGLRect &vp = rnrCtx.GetCamera()->RefViewport();
TGLFont font;
Int_t fs = TMath::Max(TMath::Nint(vp.Height()*0.035), 12);
rnrCtx.RegisterFontNoScale(fs, "arial", TGLFont::kPixmap, font);
font.PreRender();
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());
}
font.PostRender();
}
void TEveCaloLegoOverlay::RenderPlaneInterface(TGLRnrCtx &rnrCtx)
{
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);
Double_t maxVal = fCalo->GetMaxVal();
glPushMatrix();
glTranslatef(1 -fMenuW, (1-fButtonW )*fMenuW*0.8, 0);
glPushName(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::LineWidth(1);
glBegin(GL_LINES);
TGLUtil::Color(4);
glVertex2f(0, 0); glVertex2f(0, bh);
glVertex2f((bw+bwt)*0.5, bh*0.5); glVertex2f(-(bw+bwt)*0.5, bh*0.5);
glEnd();
TGLUtil::LineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(-bw, 0);
glVertex2f( bw, 0);
glVertex2f( bwt, bh);
glVertex2f(-bwt, bh);
glEnd();
TGLUtil::LineWidth(1);
glTranslatef(0, fSliderPosY, 0.5);
if (fShowSlider)
{
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();
}
fAxisPainter->SetLabelPixelFontSize(TMath::CeilNint(rnrCtx.GetCamera()->RefViewport().Height()*GetAttAxis()->GetLabelSize()));
fAxisPainter->RefDir().Set(0, 1, 0);
fAxisPainter->RefTMOff(0).Set(1, 0, 0);
fAxisPainter->SetLabelAlign(TGLFont::kLeft, TGLFont::kCenterV);
fPlaneAxis->SetRangeUser(0, maxVal);
fPlaneAxis->SetLimits(0, maxVal);
fPlaneAxis->SetNdivisions(710);
fPlaneAxis->SetTickLength(0.02*maxVal);
fPlaneAxis->SetLabelOffset(0.02*maxVal);
fPlaneAxis->SetLabelSize(0.05);
glPushMatrix();
glScalef(fSliderH/(maxVal), fSliderH/maxVal, 1.);
fAxisPainter->PaintAxis(rnrCtx, fPlaneAxis);
glPopMatrix();
TGLUtil::Color((fActiveID == 2) ? fActiveCol : 3);
TGLUtil::PointSize(8);
glBegin(GL_POINTS);
glVertex3f(0, fSliderVal*fSliderH, -0.1);
glEnd();
}
glPopName();
glPopMatrix();
glPopAttrib();
}
void TEveCaloLegoOverlay::RenderLogaritmicScales(TGLRnrCtx& rnrCtx)
{
TGLRect &vp = rnrCtx.GetCamera()->RefViewport();
Double_t maxVal = fCalo->GetMaxVal();
Int_t maxe = TMath::CeilNint(TMath::Log10(maxVal+1));
Double_t sqv = TMath::Power(10, maxe)+1;
Double_t fc = TMath::Log10(sqv)/TMath::Log10(fCalo->GetMaxVal()+1);
Double_t cellX = fCellX*fc;
Double_t cellY = fCellY*fc;
Double_t scaleStepY = 0.1;
Double_t scaleStepX = scaleStepY*vp.Height()/vp.Width();
Double_t frameOff = 0.01;
while(cellY > scaleStepY)
{
fc = TMath::Log10(TMath::Power(10, maxe-1)+1)/TMath::Log10(TMath::Power(10, maxe)+1);
maxe --;
cellX *= fc;
cellY *= fc;
}
sqv = TMath::Power(10, maxe)+1;
glPushMatrix();
glTranslatef(fScaleCoordX + 0.5*scaleStepX + frameOff, fScaleCoordY + 0.5*scaleStepY + frameOff, 0);
glPushAttrib(GL_ENABLE_BIT | GL_POLYGON_BIT | GL_LINE_BIT | GL_POINT_BIT);
glEnable(GL_BLEND);
glDisable(GL_CULL_FACE);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(0.1, 1);
glPushName(0);
glLoadName(1);
Color_t color = fScaleColor > -1 ? fScaleColor : rnrCtx.ColorSet().Markup().GetColorIndex();
TGLUtil::ColorTransparency(color, fScaleTransparency);
Float_t pos, dx, dy;
glBegin(GL_QUADS);
Int_t ne = 3;
for (Int_t i=0; i < ne; ++i)
{
Float_t valFac = TMath::Log10(TMath::Power(10, maxe-i)+1)/TMath::Log10(sqv);
dx = 0.5* cellX * valFac;
dy = 0.5* cellY * valFac;
pos = i* scaleStepY;
glVertex2f( - dx, pos - dy);
glVertex2f( - dx, pos + dy);
glVertex2f( + dx, pos + dy);
glVertex2f( + dx, pos - dy);
}
glEnd();
glBegin(GL_POINTS);
for (Int_t i=0; i < ne; ++i)
glVertex2f(0, i* scaleStepY);
glEnd();
TGLFont fontB;
Int_t fsb = TMath::Max(TMath::Nint(vp.Height()*0.03), 12);
rnrCtx.RegisterFontNoScale(fsb, "arial", TGLFont::kPixmap, fontB);
TGLFont fontE;
Int_t fsE = TMath::Max(TMath::Nint(vp.Height()*0.01), 8);
rnrCtx.RegisterFontNoScale(fsE, "arial", TGLFont::kPixmap, fontE);
Float_t llx, lly, llz, urx, ury, urz;
fontB.BBox("10", llx, lly, llz, urx, ury, urz);
Float_t expX = urx/vp.Width();
Float_t expY = (ury-lly)*0.5/vp.Height();
Float_t expOff = 1;
fontB.PreRender();
fontE.PreRender();
glPushMatrix();
glTranslatef(0.5*scaleStepX, 0, 0.1);
for (Int_t i = 0; i < ne; ++i)
{
if (i == maxe)
{
fontB.Render("1", 0, i*scaleStepY, 0, TGLFont::kLeft, TGLFont::kCenterV);
}
else if ( i == (maxe -1))
{
fontB.Render("10", 0, i*scaleStepY, 0, TGLFont::kLeft, TGLFont::kCenterV);
}
else
{
fontB.Render("10", 0, i*scaleStepY, 0, TGLFont::kLeft, TGLFont::kCenterV);
fontB.BBox(Form("%d", maxe-i), llx, lly, llz, urx, ury, urz);
if (expOff > urx/vp.Width()) expOff = urx/vp.Width();
fontE.Render(Form("%d", maxe-i), expX , i*scaleStepY+expY, 0, TGLFont::kLeft, TGLFont::kCenterV);
}
}
glPopMatrix();
fontB.PostRender();
fontE.PostRender();
if (expOff < 1) expX += expOff;
glPopMatrix();
{
fScaleW = scaleStepX + expX+ frameOff*2;
fScaleH = scaleStepY * ne + frameOff*2;
Double_t x0 = fScaleCoordX;
Double_t x1 = x0 + fScaleW;
Double_t y0 = fScaleCoordY;
Double_t y1 = y0 + fScaleH;
Double_t zf = +0.2;
color = fFrameColor > -1 ? fFrameColor : rnrCtx.ColorSet().Markup().GetColorIndex();
TGLUtil::ColorTransparency(color, fFrameLineTransp);
glBegin(GL_LINE_LOOP);
glVertex3f(x0, y0, zf); glVertex3f(x1, y0, zf);
glVertex3f(x1, y1, zf); glVertex3f(x0, y1, zf);
glEnd();
TGLUtil::ColorTransparency(color, fFrameBgTransp);
glBegin(GL_QUADS);
glVertex2f(x0, y0); glVertex2f(x1, y0);
glVertex2f(x1, y1); glVertex2f(x0, y1);
glEnd();
}
glPopName();
glPopAttrib();
}
void TEveCaloLegoOverlay::RenderPaletteScales(TGLRnrCtx& rnrCtx)
{
glPushAttrib(GL_ENABLE_BIT | GL_POLYGON_BIT | GL_LINE_BIT);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(0.1, 1);
TGLRect& vp = rnrCtx.RefCamera().RefViewport();
Double_t maxVal = fCalo->GetMaxVal();
Int_t bn = 0;
Double_t bw = 0;
Double_t bl = 0, bh = 0;
THLimitsFinder::Optimize(0, maxVal, 10, bl, bh, bn, bw);
bn = TMath::CeilNint(maxVal/bw) + 1;
fScaleH = 0.25;
fScaleW = fScaleH*1.5/(bn*vp.Aspect());
Float_t h = 0.5 * bw ;
Float_t w = h * 1.5/ vp.Aspect();
glPushMatrix();
glTranslatef(fScaleCoordX + fScaleW*0.5, fScaleCoordY + fScaleH/bn*0.5, 0);
glScalef(fScaleH/(bn*bw), fScaleH/(bn*bw), 1.);
glPushName(0);
glLoadName(1);
TGLAxisPainter::LabVec_t &labVec = fAxisPainter->RefLabVec();
labVec.clear();
Float_t val = 0;
for (Int_t l= 0; l<bn; l++) {
labVec.push_back( TGLAxisPainter::Lab_t(val, val));
val += bw;
}
TGLUtil::Color(rnrCtx.ColorSet().Markup().GetColorIndex());
fAxisPainter->RefDir().Set(0, 1, 0);
Int_t fs = TMath::CeilNint(rnrCtx.GetCamera()->RefViewport().Height()*0.02);
fAxisPainter->SetLabelFont(rnrCtx, "arial", fs);
fAxisPainter->SetTextFormat(0, maxVal, bw);
fAxisPainter->SetLabelAlign(TGLFont::kCenterH, TGLFont::kCenterV);
TAttAxis att;
fAxisPainter->SetAttAxis(&att);
fAxisPainter->RnrLabels();
UChar_t c[4];
Float_t y;
Double_t zf = +0.2;
glBegin(GL_QUADS);
for (TGLAxisPainter::LabVec_t::iterator it = labVec.begin(); it != labVec.end(); ++it)
{
fCalo->GetPalette()->ColorFromValue((Int_t)((*it).first), c);
glColor4ub( c[0], c[1], c[2], c[3]);
y = (*it).second;
glVertex3f( -w, y - h, zf); glVertex3f( +w, y - h, zf);
glVertex3f( +w, y + h, zf); glVertex3f( -w, y + h, zf);
}
glEnd();
TGLUtil::Color(rnrCtx.ColorSet().Markup().GetColorIndex());
glBegin(GL_LINE_LOOP);
for (TGLAxisPainter::LabVec_t::iterator it = labVec.begin(); it != labVec.end(); ++it)
{
y = (*it).second;
glVertex3f( -w, y - h, zf); glVertex3f( +w, y - h, zf);
glVertex3f( +w, y + h, zf); glVertex3f( -w, y + h, zf);
}
glEnd();
glPopName();
glPopMatrix();
glPopAttrib();
}
void TEveCaloLegoOverlay::Render(TGLRnrCtx& rnrCtx)
{
if ( fCalo == 0 || fCalo->GetData()->Empty()) return;
Float_t old_depth_range[2];
glGetFloatv(GL_DEPTH_RANGE, old_depth_range);
glDepthRange(0, 0.001);
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(),
(Int_t*) rnrCtx.GetCamera()->RefViewport().CArr());
}
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glTranslatef(-1, -1, 0);
glScalef(2, 2, 1);
TGLCapabilitySwitch lights_off(GL_LIGHTING, kFALSE);
TGLCamera& cam = rnrCtx.RefCamera();
Bool_t drawOverlayAxis = kTRUE;
if (cam.IsOrthographic())
{
TGLVector3 rng(fCalo->GetEtaRng(), fCalo->GetPhiRng(), 0);
TGLVertex3 p;
TGLVector3 res = cam.WorldDeltaToViewport(p, rng);
TEveCaloLegoGL* lgl = dynamic_cast<TEveCaloLegoGL*>(rnrCtx.RefViewer().FindLogicalInScenes(fCalo));
if (fShowScales && lgl)
{
Double_t sq = 1e4;
if (lgl->fBinStep == 1)
{
TEveCaloData::CellData_t cellData;
for ( TEveCaloData::vCellId_t::iterator i = fCalo->fCellList.begin(); i != fCalo->fCellList.end(); ++i)
{
fCalo->fData->GetCellData(*i, cellData);
if (sq > cellData.EtaDelta()) sq = cellData.EtaDelta();
if (sq > cellData.PhiDelta()) sq = cellData.PhiDelta();
}
}
else
{
TAxis* a;
Int_t nb;
a = fCalo->GetData()->GetEtaBins();
nb = a->GetNbins();
for (Int_t i=1 ; i<=nb; i++)
{
if (sq > a->GetBinWidth(i)) sq = a->GetBinWidth(i);
}
a = fCalo->GetData()->GetPhiBins();
nb = a->GetNbins();
for (Int_t i=1 ; i<=nb; i++)
{
if (sq > a->GetBinWidth(i)) sq = a->GetBinWidth(i);
}
sq *= lgl->fBinStep;
}
fCellX = (res.X()*sq)/(fCalo->GetEtaRng()*1.*cam.RefViewport().Width());
fCellY = (res.Y()*sq)/(fCalo->GetPhiRng()*1.*cam.RefViewport().Height());
if (fCalo->Get2DMode() == TEveCaloLego::kValSize)
RenderLogaritmicScales(rnrCtx);
else if (fCalo->GetPalette())
RenderPaletteScales(rnrCtx);
}
SetFrustum(cam);
if ( fCalo->GetEtaMin() > fFrustum[0] && fCalo->GetEtaMax() < fFrustum[2]
&& fCalo->GetPhiMin() > fFrustum[1] && fCalo->GetPhiMax() < fFrustum[3])
drawOverlayAxis = kFALSE;
}
if (cam.IsPerspective() && fShowPlane)
{
RenderPlaneInterface(rnrCtx);
}
if (fHeaderTxt.Length())
{
RenderHeader(rnrCtx);
}
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glDepthRange(old_depth_range[0], old_depth_range[1]);
if (drawOverlayAxis) TGLCameraOverlay::Render(rnrCtx);
}
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 TEveCaloLegoOverlay.cxx:368 TEveCaloLegoOverlay.cxx:369 TEveCaloLegoOverlay.cxx:370 TEveCaloLegoOverlay.cxx:371 TEveCaloLegoOverlay.cxx:372 TEveCaloLegoOverlay.cxx:373 TEveCaloLegoOverlay.cxx:374 TEveCaloLegoOverlay.cxx:375 TEveCaloLegoOverlay.cxx:376 TEveCaloLegoOverlay.cxx:377 TEveCaloLegoOverlay.cxx:378 TEveCaloLegoOverlay.cxx:379 TEveCaloLegoOverlay.cxx:380 TEveCaloLegoOverlay.cxx:381 TEveCaloLegoOverlay.cxx:382 TEveCaloLegoOverlay.cxx:383 TEveCaloLegoOverlay.cxx:384 TEveCaloLegoOverlay.cxx:385 TEveCaloLegoOverlay.cxx:386 TEveCaloLegoOverlay.cxx:387 TEveCaloLegoOverlay.cxx:388 TEveCaloLegoOverlay.cxx:389 TEveCaloLegoOverlay.cxx:390 TEveCaloLegoOverlay.cxx:391 TEveCaloLegoOverlay.cxx:392 TEveCaloLegoOverlay.cxx:393 TEveCaloLegoOverlay.cxx:394 TEveCaloLegoOverlay.cxx:395 TEveCaloLegoOverlay.cxx:396 TEveCaloLegoOverlay.cxx:397 TEveCaloLegoOverlay.cxx:398 TEveCaloLegoOverlay.cxx:399 TEveCaloLegoOverlay.cxx:400 TEveCaloLegoOverlay.cxx:401 TEveCaloLegoOverlay.cxx:402 TEveCaloLegoOverlay.cxx:403 TEveCaloLegoOverlay.cxx:404 TEveCaloLegoOverlay.cxx:405 TEveCaloLegoOverlay.cxx:406 TEveCaloLegoOverlay.cxx:407 TEveCaloLegoOverlay.cxx:408 TEveCaloLegoOverlay.cxx:409 TEveCaloLegoOverlay.cxx:410 TEveCaloLegoOverlay.cxx:411 TEveCaloLegoOverlay.cxx:412 TEveCaloLegoOverlay.cxx:413 TEveCaloLegoOverlay.cxx:414 TEveCaloLegoOverlay.cxx:415 TEveCaloLegoOverlay.cxx:416 TEveCaloLegoOverlay.cxx:417 TEveCaloLegoOverlay.cxx:418 TEveCaloLegoOverlay.cxx:419 TEveCaloLegoOverlay.cxx:420 TEveCaloLegoOverlay.cxx:421 TEveCaloLegoOverlay.cxx:422 TEveCaloLegoOverlay.cxx:423 TEveCaloLegoOverlay.cxx:424 TEveCaloLegoOverlay.cxx:425 TEveCaloLegoOverlay.cxx:426 TEveCaloLegoOverlay.cxx:427 TEveCaloLegoOverlay.cxx:428 TEveCaloLegoOverlay.cxx:429 TEveCaloLegoOverlay.cxx:430 TEveCaloLegoOverlay.cxx:431 TEveCaloLegoOverlay.cxx:432 TEveCaloLegoOverlay.cxx:433 TEveCaloLegoOverlay.cxx:434 TEveCaloLegoOverlay.cxx:435 TEveCaloLegoOverlay.cxx:436 TEveCaloLegoOverlay.cxx:437 TEveCaloLegoOverlay.cxx:438 TEveCaloLegoOverlay.cxx:439 TEveCaloLegoOverlay.cxx:440 TEveCaloLegoOverlay.cxx:441 TEveCaloLegoOverlay.cxx:442 TEveCaloLegoOverlay.cxx:443 TEveCaloLegoOverlay.cxx:444 TEveCaloLegoOverlay.cxx:445 TEveCaloLegoOverlay.cxx:446 TEveCaloLegoOverlay.cxx:447 TEveCaloLegoOverlay.cxx:448 TEveCaloLegoOverlay.cxx:449 TEveCaloLegoOverlay.cxx:450 TEveCaloLegoOverlay.cxx:451 TEveCaloLegoOverlay.cxx:452 TEveCaloLegoOverlay.cxx:453 TEveCaloLegoOverlay.cxx:454 TEveCaloLegoOverlay.cxx:455 TEveCaloLegoOverlay.cxx:456 TEveCaloLegoOverlay.cxx:457 TEveCaloLegoOverlay.cxx:458 TEveCaloLegoOverlay.cxx:459 TEveCaloLegoOverlay.cxx:460 TEveCaloLegoOverlay.cxx:461 TEveCaloLegoOverlay.cxx:462 TEveCaloLegoOverlay.cxx:463 TEveCaloLegoOverlay.cxx:464 TEveCaloLegoOverlay.cxx:465 TEveCaloLegoOverlay.cxx:466 TEveCaloLegoOverlay.cxx:467 TEveCaloLegoOverlay.cxx:468 TEveCaloLegoOverlay.cxx:469 TEveCaloLegoOverlay.cxx:470 TEveCaloLegoOverlay.cxx:471 TEveCaloLegoOverlay.cxx:472 TEveCaloLegoOverlay.cxx:473 TEveCaloLegoOverlay.cxx:474 TEveCaloLegoOverlay.cxx:475 TEveCaloLegoOverlay.cxx:476 TEveCaloLegoOverlay.cxx:477 TEveCaloLegoOverlay.cxx:478 TEveCaloLegoOverlay.cxx:479 TEveCaloLegoOverlay.cxx:480 TEveCaloLegoOverlay.cxx:481 TEveCaloLegoOverlay.cxx:482 TEveCaloLegoOverlay.cxx:483 TEveCaloLegoOverlay.cxx:484 TEveCaloLegoOverlay.cxx:485 TEveCaloLegoOverlay.cxx:486 TEveCaloLegoOverlay.cxx:487 TEveCaloLegoOverlay.cxx:488 TEveCaloLegoOverlay.cxx:489 TEveCaloLegoOverlay.cxx:490 TEveCaloLegoOverlay.cxx:491 TEveCaloLegoOverlay.cxx:492 TEveCaloLegoOverlay.cxx:493 TEveCaloLegoOverlay.cxx:494 TEveCaloLegoOverlay.cxx:495 TEveCaloLegoOverlay.cxx:496 TEveCaloLegoOverlay.cxx:497 TEveCaloLegoOverlay.cxx:498 TEveCaloLegoOverlay.cxx:499 TEveCaloLegoOverlay.cxx:500 TEveCaloLegoOverlay.cxx:501 TEveCaloLegoOverlay.cxx:502 TEveCaloLegoOverlay.cxx:503 TEveCaloLegoOverlay.cxx:504 TEveCaloLegoOverlay.cxx:505 TEveCaloLegoOverlay.cxx:506 TEveCaloLegoOverlay.cxx:507 TEveCaloLegoOverlay.cxx:508 TEveCaloLegoOverlay.cxx:509 TEveCaloLegoOverlay.cxx:510 TEveCaloLegoOverlay.cxx:511 TEveCaloLegoOverlay.cxx:512 TEveCaloLegoOverlay.cxx:513 TEveCaloLegoOverlay.cxx:514 TEveCaloLegoOverlay.cxx:515 TEveCaloLegoOverlay.cxx:516 TEveCaloLegoOverlay.cxx:517 TEveCaloLegoOverlay.cxx:518 TEveCaloLegoOverlay.cxx:519 TEveCaloLegoOverlay.cxx:520 TEveCaloLegoOverlay.cxx:521 TEveCaloLegoOverlay.cxx:522 TEveCaloLegoOverlay.cxx:523 TEveCaloLegoOverlay.cxx:524 TEveCaloLegoOverlay.cxx:525 TEveCaloLegoOverlay.cxx:526 TEveCaloLegoOverlay.cxx:527 TEveCaloLegoOverlay.cxx:528 TEveCaloLegoOverlay.cxx:529 TEveCaloLegoOverlay.cxx:530 TEveCaloLegoOverlay.cxx:531 TEveCaloLegoOverlay.cxx:532 TEveCaloLegoOverlay.cxx:533 TEveCaloLegoOverlay.cxx:534 TEveCaloLegoOverlay.cxx:535 TEveCaloLegoOverlay.cxx:536 TEveCaloLegoOverlay.cxx:537 TEveCaloLegoOverlay.cxx:538 TEveCaloLegoOverlay.cxx:539 TEveCaloLegoOverlay.cxx:540 TEveCaloLegoOverlay.cxx:541 TEveCaloLegoOverlay.cxx:542 TEveCaloLegoOverlay.cxx:543 TEveCaloLegoOverlay.cxx:544 TEveCaloLegoOverlay.cxx:545 TEveCaloLegoOverlay.cxx:546 TEveCaloLegoOverlay.cxx:547 TEveCaloLegoOverlay.cxx:548 TEveCaloLegoOverlay.cxx:549 TEveCaloLegoOverlay.cxx:550 TEveCaloLegoOverlay.cxx:551 TEveCaloLegoOverlay.cxx:552 TEveCaloLegoOverlay.cxx:553 TEveCaloLegoOverlay.cxx:554 TEveCaloLegoOverlay.cxx:555 TEveCaloLegoOverlay.cxx:556 TEveCaloLegoOverlay.cxx:557 TEveCaloLegoOverlay.cxx:558 TEveCaloLegoOverlay.cxx:559 TEveCaloLegoOverlay.cxx:560 TEveCaloLegoOverlay.cxx:561 TEveCaloLegoOverlay.cxx:562 TEveCaloLegoOverlay.cxx:563 TEveCaloLegoOverlay.cxx:564 TEveCaloLegoOverlay.cxx:565 TEveCaloLegoOverlay.cxx:566 TEveCaloLegoOverlay.cxx:567 TEveCaloLegoOverlay.cxx:568 TEveCaloLegoOverlay.cxx:569 TEveCaloLegoOverlay.cxx:570 TEveCaloLegoOverlay.cxx:571 TEveCaloLegoOverlay.cxx:572 TEveCaloLegoOverlay.cxx:573 TEveCaloLegoOverlay.cxx:574 TEveCaloLegoOverlay.cxx:575 TEveCaloLegoOverlay.cxx:576 TEveCaloLegoOverlay.cxx:577 TEveCaloLegoOverlay.cxx:578 TEveCaloLegoOverlay.cxx:579 TEveCaloLegoOverlay.cxx:580 TEveCaloLegoOverlay.cxx:581 TEveCaloLegoOverlay.cxx:582 TEveCaloLegoOverlay.cxx:583 TEveCaloLegoOverlay.cxx:584 TEveCaloLegoOverlay.cxx:585 TEveCaloLegoOverlay.cxx:586 TEveCaloLegoOverlay.cxx:587 TEveCaloLegoOverlay.cxx:588 TEveCaloLegoOverlay.cxx:589 TEveCaloLegoOverlay.cxx:590 TEveCaloLegoOverlay.cxx:591 TEveCaloLegoOverlay.cxx:592 TEveCaloLegoOverlay.cxx:593 TEveCaloLegoOverlay.cxx:594 TEveCaloLegoOverlay.cxx:595 TEveCaloLegoOverlay.cxx:596 TEveCaloLegoOverlay.cxx:597 TEveCaloLegoOverlay.cxx:598 TEveCaloLegoOverlay.cxx:599 TEveCaloLegoOverlay.cxx:600 TEveCaloLegoOverlay.cxx:601 TEveCaloLegoOverlay.cxx:602 TEveCaloLegoOverlay.cxx:603 TEveCaloLegoOverlay.cxx:604 TEveCaloLegoOverlay.cxx:605 TEveCaloLegoOverlay.cxx:606 TEveCaloLegoOverlay.cxx:607 TEveCaloLegoOverlay.cxx:608 TEveCaloLegoOverlay.cxx:609 TEveCaloLegoOverlay.cxx:610 TEveCaloLegoOverlay.cxx:611 TEveCaloLegoOverlay.cxx:612 TEveCaloLegoOverlay.cxx:613 TEveCaloLegoOverlay.cxx:614 TEveCaloLegoOverlay.cxx:615 TEveCaloLegoOverlay.cxx:616 TEveCaloLegoOverlay.cxx:617 TEveCaloLegoOverlay.cxx:618 TEveCaloLegoOverlay.cxx:619 TEveCaloLegoOverlay.cxx:620 TEveCaloLegoOverlay.cxx:621 TEveCaloLegoOverlay.cxx:622 TEveCaloLegoOverlay.cxx:623 TEveCaloLegoOverlay.cxx:624 TEveCaloLegoOverlay.cxx:625 TEveCaloLegoOverlay.cxx:626 TEveCaloLegoOverlay.cxx:627 TEveCaloLegoOverlay.cxx:628 TEveCaloLegoOverlay.cxx:629 TEveCaloLegoOverlay.cxx:630 TEveCaloLegoOverlay.cxx:631 TEveCaloLegoOverlay.cxx:632 TEveCaloLegoOverlay.cxx:633 TEveCaloLegoOverlay.cxx:634 TEveCaloLegoOverlay.cxx:635 TEveCaloLegoOverlay.cxx:636 TEveCaloLegoOverlay.cxx:637 TEveCaloLegoOverlay.cxx:638 TEveCaloLegoOverlay.cxx:639 TEveCaloLegoOverlay.cxx:640 TEveCaloLegoOverlay.cxx:641 TEveCaloLegoOverlay.cxx:642 TEveCaloLegoOverlay.cxx:643 TEveCaloLegoOverlay.cxx:644 TEveCaloLegoOverlay.cxx:645 TEveCaloLegoOverlay.cxx:646 TEveCaloLegoOverlay.cxx:647 TEveCaloLegoOverlay.cxx:648 TEveCaloLegoOverlay.cxx:649 TEveCaloLegoOverlay.cxx:650 TEveCaloLegoOverlay.cxx:651 TEveCaloLegoOverlay.cxx:652 TEveCaloLegoOverlay.cxx:653 TEveCaloLegoOverlay.cxx:654 TEveCaloLegoOverlay.cxx:655 TEveCaloLegoOverlay.cxx:656 TEveCaloLegoOverlay.cxx:657 TEveCaloLegoOverlay.cxx:658 TEveCaloLegoOverlay.cxx:659 TEveCaloLegoOverlay.cxx:660 TEveCaloLegoOverlay.cxx:661 TEveCaloLegoOverlay.cxx:662 TEveCaloLegoOverlay.cxx:663 TEveCaloLegoOverlay.cxx:664 TEveCaloLegoOverlay.cxx:665 TEveCaloLegoOverlay.cxx:666 TEveCaloLegoOverlay.cxx:667 TEveCaloLegoOverlay.cxx:668 TEveCaloLegoOverlay.cxx:669 TEveCaloLegoOverlay.cxx:670 TEveCaloLegoOverlay.cxx:671 TEveCaloLegoOverlay.cxx:672 TEveCaloLegoOverlay.cxx:673 TEveCaloLegoOverlay.cxx:674 TEveCaloLegoOverlay.cxx:675 TEveCaloLegoOverlay.cxx:676 TEveCaloLegoOverlay.cxx:677 TEveCaloLegoOverlay.cxx:678 TEveCaloLegoOverlay.cxx:679 TEveCaloLegoOverlay.cxx:680 TEveCaloLegoOverlay.cxx:681 TEveCaloLegoOverlay.cxx:682 TEveCaloLegoOverlay.cxx:683 TEveCaloLegoOverlay.cxx:684 TEveCaloLegoOverlay.cxx:685 TEveCaloLegoOverlay.cxx:686 TEveCaloLegoOverlay.cxx:687 TEveCaloLegoOverlay.cxx:688 TEveCaloLegoOverlay.cxx:689 TEveCaloLegoOverlay.cxx:690 TEveCaloLegoOverlay.cxx:691 TEveCaloLegoOverlay.cxx:692 TEveCaloLegoOverlay.cxx:693 TEveCaloLegoOverlay.cxx:694 TEveCaloLegoOverlay.cxx:695 TEveCaloLegoOverlay.cxx:696 TEveCaloLegoOverlay.cxx:697 TEveCaloLegoOverlay.cxx:698 TEveCaloLegoOverlay.cxx:699 TEveCaloLegoOverlay.cxx:700 TEveCaloLegoOverlay.cxx:701 TEveCaloLegoOverlay.cxx:702 TEveCaloLegoOverlay.cxx:703 TEveCaloLegoOverlay.cxx:704 TEveCaloLegoOverlay.cxx:705 TEveCaloLegoOverlay.cxx:706 TEveCaloLegoOverlay.cxx:707 TEveCaloLegoOverlay.cxx:708 TEveCaloLegoOverlay.cxx:709 TEveCaloLegoOverlay.cxx:710 TEveCaloLegoOverlay.cxx:711