#include <Display3D.h>
Inheritance diagram for evd::Display3D:

Public Member Functions | |
| Display3D (TGMainFrame *mf) | |
| ~Display3D () | |
| const char * | Description () const |
| const char * | PrintTag () const |
| void | Draw (const char *opt="") |
| void | Update (const cfg::Config &c) |
| void | DrawOutline () |
| void | DrawMCHits () |
| void | DrawRawData () |
| void | DrawProngs () |
Private Member Functions | |
| void | BookHistograms () |
| void | StdHistoOpts (TH1F *h) |
| void | SetGoodMax (TH1F *h1, TH1F *h2) |
Private Attributes | |
| DrawingOptions | fDrawingOptions |
| Collection of drawing options. | |
| double | fXlo |
| double | fXhi |
| Range in x to display (cm). | |
| double | fYlo |
| double | fYhi |
| Range in y to display (cm). | |
| double | fZlo |
| double | fZhi |
| Range in z to display (cm). | |
| double | fTlo |
| double | fThi |
| Range in time to display (us). | |
| double | fBomb |
| Amount to offset top and sides for display (cm). | |
| ColorScale * | fQscale |
| Color scale for charge. | |
| TH1F * | fMCTHisto |
| Plot number of MC hits vs. time. | |
| TH1F * | fMCQHisto |
| Plot number of MC hits vs. charge. | |
| TH1F * | fRawTHisto |
| Plot number of raw data hits vs. time. | |
| TH1F * | fRawQHisto |
| Plot number of raw data hits vs. charge. | |
| TPad * | fPad3D |
| Drawing pad for 3D view. | |
| TPad * | fTimePad |
| Pad to draw timing histogram on. | |
| TPad * | fChargePad |
| Pad to draw charge histogram on. | |
| TGLViewer * | fGLViewer3D |
| 3D Drawing pad | |
| evdb::View3D * | fView |
| Collection of 3D items to draw. | |
Definition at line 21 of file Display3D.h.
|
|
Definition at line 62 of file Display3D.cxx. References BookHistograms(), fChargePad, fPad3D, fThi, fTimePad, fTlo, fView, fXhi, fXlo, fYhi, fYlo, fZhi, fZlo, evd::kRainbow, evd::kSqrt, and cfg::Observer::SetWatch(). 00062 : 00063 evdb::Canvas(mf), 00064 fQscale(new ColorScale(0.0, 512.0, kRainbow, kSqrt)), 00065 fPad3D(0), 00066 fTimePad(0), 00067 fGLViewer3D(0) 00068 { 00069 evdb::Canvas::fCanvas->cd(); 00070 00071 fTimePad = new TPad("fTimePad","Hits vs. Time",0.7,0.7,1.0,1.0,0); 00072 fTimePad->Draw(); 00073 00074 fChargePad = new TPad("fChargePad","Hits vs. Charge",0.7,0.4,1.0,0.7); 00075 fChargePad->SetLogx(); 00076 fChargePad->SetLogy(); 00077 fChargePad->Draw(); 00078 00079 fPad3D = new TPad("fPad3D","NOvA Event Display",0.0,0.0,0.7,0.7,0); 00080 fPad3D->Draw(); 00081 00082 fView = new evdb::View3D(); 00083 00084 fXlo = 0.0; 00085 fXhi = 0.0; 00086 fYlo = 0.0; 00087 fYhi = 0.0; 00088 fZlo = 0.0; 00089 fZhi = 0.0; 00090 fTlo = -10.0; 00091 fThi = +20.0; 00092 00093 this->BookHistograms(); 00094 00095 this->SetWatch("DrawingOptions", "test"); 00096 }
|
|
|
Definition at line 151 of file Display3D.cxx.
|
|
|
Definition at line 112 of file Display3D.cxx. References fMCQHisto, fMCTHisto, fRawQHisto, fRawTHisto, and StdHistoOpts(). Referenced by Display3D(). 00113 {
00114 fRawTHisto = new TH1F("fRawTHisto",";usec;hits",300,-10.0,20.0);
00115 this->StdHistoOpts(fRawTHisto);
00116
00117 fMCTHisto = new TH1F("fMCTHisto",";usec;hits",300,-10.0,20.0);
00118 this->StdHistoOpts(fMCTHisto);
00119 fMCTHisto->SetLineColor(2);
00120
00121 fRawQHisto = new TH1F("fRawQHisto",";'MeV';hits",200,0.0,100.0);
00122 this->StdHistoOpts(fRawQHisto);
00123
00124 fMCQHisto = new TH1F("fMCQHisto",";MeV;hits",200,0.0,100.0);
00125 this->StdHistoOpts(fMCQHisto);
00126 fMCQHisto->SetLineColor(2);
00127 }
|
|
|
Give a medium length description of what the view holds to be printed. Examples: "Full view of experiment", "3D View", ... Reimplemented from evdb::Canvas. Definition at line 25 of file Display3D.h. 00025 { return "3D Detector View"; }
|
|
|
Implements evdb::Canvas. Definition at line 159 of file Display3D.cxx. References evdb::View3D::Clear(), geo::Geometry::DetHalfHeight(), geo::Geometry::DetHalfWidth(), geo::Geometry::DetLength(), evdb::View3D::Draw(), DrawMCHits(), DrawOutline(), DrawProngs(), DrawRawData(), fBomb, fChargePad, fDrawingOptions, fGLViewer3D, fMCQHisto, fMCTHisto, fPad3D, fRawQHisto, fRawTHisto, fTimePad, fView, fXhi, fXlo, fYhi, fYlo, fZhi, fZlo, util::EDMUtils::GetGeometry(), evdb::IoModule::Instance(), and SetGoodMax(). Referenced by Update(). 00160 {
00161 // Check the range of the detector being displayed
00162 if (fXlo == fXhi && fYlo == fYhi && fZhi == fZlo) {
00163 edm::EventHandle& evt = evdb::IoModule::Instance()->GetEvent();
00164
00165 geo::Geometry& geom = util::EDMUtils::GetGeometry(evt);
00166 fXlo = -geom.DetHalfWidth();
00167 fXhi = geom.DetHalfWidth();
00168 fYlo = -geom.DetHalfHeight();
00169 fYhi = geom.DetHalfHeight();
00170 fZlo = 0.0;
00171 fZhi = geom.DetLength();
00172 }
00173
00174 // fBomb control how far out to shift the detector faces from their
00175 // actual positions. The factor should be made adjustable. TODO
00176 double fBombFac = 0.05;
00177 fBomb =
00178 (fXhi-fXlo)>(fYhi-fYhi) ? fBombFac*(fXhi-fXlo):fBombFac*(fYhi-fYlo);
00179
00180 fView->Clear();
00181 fRawTHisto->Reset();
00182 fMCTHisto-> Reset();
00183 fRawQHisto->Reset();
00184 fMCQHisto-> Reset();
00185
00186 this->DrawOutline();
00187
00188 // if (fDrawingOptions.fDrawMCVectors !=0) this->??
00189 if (fDrawingOptions. fDrawMCHits !=0) this->DrawMCHits();
00190 if (fDrawingOptions. fDrawRawDigits !=0) this->DrawRawData();
00191 // if (fDrawingOptions.fDrawCalHits !=0) this->??
00192 if (fDrawingOptions. fDrawProngs !=0) this->DrawProngs();
00193
00194 int irep = 0;
00195 fPad3D->Clear();
00196 fPad3D->cd();
00197 fView->Draw();
00198 if (fPad3D->GetView()==0) {
00199 double sz = 1600.0;
00200 double rmin[] = {-sz,-sz,2500.0-sz};
00201 double rmax[] = { sz, sz,2500.0+sz};
00202 TView3D* v = new TView3D(1,rmin,rmax);
00203 v->SetPerspective();
00204 v->SetView(226.0,226.0,135.0,irep);
00205 fPad3D->SetView(v); // ROOT takes ownership of object *v
00206 }
00207 if (fGLViewer3D==0) {
00208 fGLViewer3D = (TGLViewer*)fPad3D->GetViewer3D("ogl");
00209 // fGLViewer3D->SetClearColor(kWhite); // This stopped working as of root 5.23.04 [?]
00210 fGLViewer3D->PreferLocalFrame();
00211 fGLViewer3D->SetResetCamerasOnUpdate(0);
00212 }
00213 else {
00214 fPad3D->GetViewer3D()->PadPaint(fPad3D);
00215 }
00216 fPad3D->Update();
00217
00218 fTimePad->Clear();
00219 fTimePad->cd();
00220 this->SetGoodMax(fRawTHisto,fMCTHisto);
00221 fRawTHisto->Draw();
00222 fMCTHisto->Draw("same");
00223 fTimePad->Update();
00224
00225 fChargePad->Clear();
00226 fChargePad->cd();
00227 this->SetGoodMax(fRawQHisto,fMCQHisto);
00228 fRawQHisto->Draw();
00229 fMCQHisto->Draw("same");
00230 fChargePad->Update();
00231 }
|
|
|
Definition at line 337 of file Display3D.cxx. References evdb::View3D::AddPolyMarker3D(), edm::EventHandle::DetSim(), sim::FLSHit::fCellId, sim::FLSHit::fEdep, sim::FLSHit::fEntryX, sim::FLSHit::fEntryY, sim::FLSHit::fEntryZ, sim::FLSHit::fExitX, sim::FLSHit::fExitY, sim::FLSHit::fExitZ, fMCQHisto, fMCTHisto, sim::FLSHit::fPDG, sim::FLSHit::fPlaneId, sim::FLSHit::fT, fView, util::EDMUtils::GetGeometry(), evdb::IoModule::Instance(), and geo::Geometry::Plane(). Referenced by Draw(). 00338 {
00339 edm::EventHandle& evt = evdb::IoModule::Instance()->GetEvent();
00340
00341 geo::Geometry& geom = util::EDMUtils::GetGeometry(evt);
00342
00343 std::vector<const sim::FLSHitList*> hitlist;
00344 try { evt.DetSim().Get(".",hitlist); }
00345 catch (...) { return; }
00346
00347 for (unsigned int i=0; i<hitlist.size(); ++i) {
00348 for (unsigned int j=0; j<hitlist[i]->fHits.size(); ++j) {
00349 const sim::FLSHit& hit = hitlist[i]->fHits[j];
00350
00351 // Scale units to MeV and usec
00352 fMCQHisto->Fill(hit.fEdep*1.0E3);
00353 fMCTHisto->Fill(hit.fT*1.0E6);
00354
00355 int c;
00356 double sz;
00357 double lpos[3], wpos[3];
00358
00359 lpos[0] = 0.5*(hit.fEntryX+hit.fExitX);
00360 lpos[1] = 0.5*(hit.fEntryY+hit.fExitY);
00361 lpos[2] = 0.5*(hit.fEntryZ+hit.fExitZ);
00362 geom.Plane(hit.fPlaneId).Cell(hit.fCellId).LocalToWorld(lpos,wpos);
00363
00364 // scale the marker size so that volume is proportional to
00365 // charge
00366 sz = pow(1.0E-1+1.E4*hit.fEdep,0.33);
00367 c = Style::ColorFromPDG(hit.fPDG);
00368 TPolyMarker3D& m = fView->AddPolyMarker3D(1,c,24,sz);
00369 m.SetPoint(0, wpos[0], wpos[1], wpos[2]);
00370 }
00371 }
00372 }
|
|
|
Definition at line 244 of file Display3D.cxx. References evdb::View3D::AddPolyLine3D(), fBomb, fView, fXhi, fXlo, fYhi, fYlo, fZhi, and fZlo. Referenced by Draw(). 00245 {
00246 int i, is;
00247 int cont;
00248 double x, y, z;
00249 double x0 = 0.5*(fXlo+fXhi);
00250 double y0 = 0.5*(fYlo+fYhi);
00251 double z0 = 0.5*(fZlo+fZhi);
00252 double dx = 100.0; // cm
00253 double dy = 100.0; // cm
00254 double dz = 100.0; // cm
00255 int c = kBlue-10;
00256 int w = 1;
00257 int s = 1;
00258 // Grid lines marking x-tick marks
00259 for (cont=1, i=0; cont==1 ; ++i) {
00260 cont = 0;
00261 for (is=-1; is<=1; is += 2) {
00262 x = x0+is*i*dx;
00263 if (x>=fXlo && x<=fXhi) {
00264 TPolyLine3D& p = fView->AddPolyLine3D(0,c,w,s);
00265 p.SetPoint(0,x,fYhi+fBomb,fZlo);
00266 p.SetPoint(1,x,fYhi+fBomb,fZhi);
00267 cont = 1;
00268 }
00269 }
00270 }
00271 // Grid lines marking y-tick marks
00272 for (cont=1, i=0; cont==1 ; ++i) {
00273 cont = 0;
00274 for (is=-1; is<=1; is += 2) {
00275 y = y0+is*i*dy;
00276 if (y>=fYlo && y<=fYhi) {
00277 TPolyLine3D& p = fView->AddPolyLine3D(0,c,w,s);
00278 p.SetPoint(0,fXhi+fBomb,y,fZlo);
00279 p.SetPoint(1,fXhi+fBomb,y,fZhi);
00280 cont = 1;
00281 }
00282 }
00283 }
00284 // Grid lines marking z-tick marks
00285 for (cont=1, i=0; cont==1 ; ++i) {
00286 cont = 0;
00287 for (is=-1; is<=1; is += 2) {
00288 z = z0+is*i*dz;
00289 if (z>=fZlo && z<=fZhi) {
00290 TPolyLine3D& p1 = fView->AddPolyLine3D(0,c,w,s);
00291 p1.SetPoint(0,fXhi+fBomb,fYlo,z);
00292 p1.SetPoint(1,fXhi+fBomb,fYhi,z);
00293
00294 TPolyLine3D& p2 = fView->AddPolyLine3D(0,c,w,s);
00295 p2.SetPoint(0,fXlo,fYhi+fBomb,z);
00296 p2.SetPoint(1,fXhi,fYhi+fBomb,z);
00297 cont = 1;
00298 }
00299 }
00300 }
00301 // Complete the box on the otherside
00302 /*
00303 TPolyLine3D& p1 = fView->AddPolyLine3D(0,c,w,s);
00304 p1.SetPoint(0,fXlo-fBomb,fYlo,fZlo);
00305 p1.SetPoint(1,fXlo-fBomb,fYhi,fZlo);
00306 p1.SetPoint(2,fXlo-fBomb,fYhi,fZhi);
00307 p1.SetPoint(3,fXlo-fBomb,fYlo,fZhi);
00308 p1.SetPoint(4,fXlo-fBomb,fYlo,fZlo);
00309 */
00310
00311 TPolyLine3D& p3 = fView->AddPolyLine3D(0,c,w,s);
00312 p3.SetPoint(0,fXhi+fBomb,fYlo,fZlo);
00313 p3.SetPoint(1,fXhi+fBomb,fYhi,fZlo);
00314 p3.SetPoint(2,fXhi+fBomb,fYhi,fZhi);
00315 p3.SetPoint(3,fXhi+fBomb,fYlo,fZhi);
00316 p3.SetPoint(4,fXhi+fBomb,fYlo,fZlo);
00317
00318 /*
00319 TPolyLine3D& p2 = fView->AddPolyLine3D(0,c,w,s);
00320 p2.SetPoint(0,fXlo,fYlo-fBomb,fZlo);
00321 p2.SetPoint(1,fXhi,fYlo-fBomb,fZlo);
00322 p2.SetPoint(2,fXhi,fYlo-fBomb,fZhi);
00323 p2.SetPoint(3,fXlo,fYlo-fBomb,fZhi);
00324 p2.SetPoint(4,fXlo,fYlo-fBomb,fZlo);
00325 */
00326
00327 TPolyLine3D& p4 = fView->AddPolyLine3D(0,c,w,s);
00328 p4.SetPoint(0,fXlo,fYhi+fBomb,fZlo);
00329 p4.SetPoint(1,fXhi,fYhi+fBomb,fZlo);
00330 p4.SetPoint(2,fXhi,fYhi+fBomb,fZhi);
00331 p4.SetPoint(3,fXlo,fYhi+fBomb,fZhi);
00332 p4.SetPoint(4,fXlo,fYhi+fBomb,fZlo);
00333 }
|
|
|
Draw prongs on the display Definition at line 507 of file Display3D.cxx. References evdb::View3D::AddPolyLine3D(), fBomb, fDrawingOptions, evd::DrawingOptions::fProngFolders, fView, fXhi, fYhi, evdb::IoModule::Instance(), and edm::EventHandle::Reco(). Referenced by Draw(). 00508 {
00509 edm::EventHandle& evt = evdb::IoModule::Instance()->GetEvent();
00510
00511 for (unsigned int i=0; i<fDrawingOptions.fProngFolders.size(); ++i) {
00512 std::vector<const recobase::Prong*> prong;
00513 const char* folder = fDrawingOptions.fProngFolders[i].c_str();
00514 try {
00515 evt.Reco().Get(folder, prong);
00516 }
00517 catch (edm::Exception e) {
00518 continue;
00519 }
00520 for (unsigned int j=0; j<prong.size(); ++j) {
00521 const double* x0 = prong[j]->StartPos();
00522 const double* x1 = prong[j]->EndPos();
00523
00524 TPolyLine3D& pline1 = fView->AddPolyLine3D(2,kBlue,2,1);
00525 pline1.SetPoint(0, x0[0], x0[1], x0[2]);
00526 pline1.SetPoint(1, x1[0], x1[1], x1[2]);
00527
00528 TPolyLine3D& pline2 = fView->AddPolyLine3D(2,kBlue-2,2,1);
00529 pline2.SetPoint(0, x0[0], fYhi+fBomb, x0[2]);
00530 pline2.SetPoint(1, x1[0], fYhi+fBomb, x1[2]);
00531
00532 TPolyLine3D& pline3 = fView->AddPolyLine3D(2,kBlue-2,2,1);
00533 pline3.SetPoint(0, fXhi+fBomb, x0[1], x0[2]);
00534 pline3.SetPoint(1, fXhi+fBomb, x1[1], x1[2]);
00535 }
00536 }
00537 }
|
|
|
Definition at line 376 of file Display3D.cxx. References rawdata::RawDigit::ADC(), evdb::View3D::AddPolyLine3D(), geo::Geometry::CellInfo(), fBomb, fView, fXhi, fYhi, cmap::CMap::GetCell(), util::EDMUtils::GetCMap(), util::EDMUtils::GetGeometry(), cmap::CMap::GetPlane(), gsCMap, gsGeom, evdb::IoModule::Instance(), rawdata::RawDigit::NADC(), geo::Geometry::Plane(), and edm::EventHandle::Raw(). Referenced by Draw(). 00377 {
00378 edm::EventHandle& evt = evdb::IoModule::Instance()->GetEvent();
00379 geo::Geometry& geom = util::EDMUtils::GetGeometry(evt);
00380 cmap::CMap& cmap = util::EDMUtils::GetCMap(evt);
00381 gsGeom = &geom;
00382 gsCMap = &cmap;
00383
00384 std::vector<const rawdata::RawDigit*> rd;
00385 try { evt.Raw().Get(".",rd); }
00386 catch (...) { return; }
00387 sort(rd.begin(), rd.end(), raw_digit_sort);
00388
00389 // Loop on digits and draw lines like this:
00390 // _
00391 // _||_
00392 // _| |_
00393 //
00394 // showing the pulse height in cells along a given plane view
00395 //
00396 for (unsigned int i=0; i<rd.size(); ++i) {
00397 const rawdata::RawDigit& r = (*rd[i]);
00398
00399 double thisQ = 0.0;
00400 for (unsigned int j=0; j<r.NADC(); ++j) {
00401 thisQ += r.ADC(j);
00402 }
00403
00404 // Get the charge on the previous cell
00405 double prevQ = 0.0;
00406 if (i>0 && gsCMap->GetPlane(rd[i])==gsCMap->GetPlane(rd[i-1]) &&
00407 (gsCMap->GetCell(rd[i])-gsCMap->GetCell(rd[i-1]))==1) {
00408 for (unsigned int j=0; j<rd[i-1]->NADC(); ++j) {
00409 prevQ += rd[i-1]->ADC(j);
00410 }
00411 }
00412
00413 // Get the charge on the next cell
00414 double nextQ = 0.0;
00415 if (i<rd.size()-1 && gsCMap->GetPlane(rd[i])==gsCMap->GetPlane(rd[i+1]) &&
00416 (gsCMap->GetCell(rd[i])-gsCMap->GetCell(rd[i+1]))==1) {
00417 for (unsigned int j=0; j<rd[i+1]->NADC(); ++j) {
00418 prevQ += rd[i+1]->ADC(j);
00419 }
00420 }
00421
00422 // Get the location of the current, and adjacent, cells
00423 double pos0[3] = {0,0,0};
00424 double pos1[3] = {0,0,0};
00425 double pos2[3] = {0,0,0};
00426 double dpos1[3];
00427 geo::View_t view;
00428 geom.CellInfo(gsCMap->GetPlane(&r), gsCMap->GetCell(&r), &view, pos1, dpos1);
00429
00430 // Next cell over in decreasing order
00431 if (gsCMap->GetCell(&r)>1) {
00432 geom.CellInfo(gsCMap->GetPlane(&r), gsCMap->GetCell(&r)-1, &view, pos0);
00433 }
00434 else {
00435 if (view == geo::kX) {
00436 pos0[0] = pos1[0]-dpos1[0];
00437 pos0[1] = pos1[1];
00438 pos0[2] = pos1[2];
00439 }
00440 if (view == geo::kY) {
00441 pos0[0] = pos1[0];
00442 pos0[1] = pos1[1]-dpos1[1];
00443 pos0[2] = pos1[2];
00444 }
00445 }
00446
00447 // Next cell over in increasing order
00448 if (geom.Plane(gsCMap->GetPlane(rd[i])).Ncells()-gsCMap->GetCell(&r)>2) {
00449 geom.CellInfo(gsCMap->GetPlane(&r), gsCMap->GetCell(&r)+1, &view, pos2);
00450 }
00451 else {
00452 if (view == geo::kX) {
00453 pos2[0] = pos1[0]+dpos1[0];
00454 pos2[1] = pos1[1];
00455 pos2[2] = pos1[2];
00456 }
00457 if (view == geo::kY) {
00458 pos2[0] = pos1[0];
00459 pos2[1] = pos1[1]+dpos1[1];
00460 pos2[2] = pos1[2];
00461 }
00462 }
00463
00464 TPolyLine3D& pline = fView->AddPolyLine3D(6,kSpring-1,2,1);
00465 if (view==geo::kX) {
00466 double x1 = pos0[0];
00467 double x2 = 0.5*(pos0[0]+pos1[0]);
00468 double x3 = 0.5*(pos1[0]+pos2[0]);
00469 double x4 = pos2[0];
00470 double y1 = fYhi + fBomb + 0.01*prevQ;
00471 double y2 = fYhi + fBomb + 0.01*thisQ;
00472 double y3 = fYhi + fBomb + 0.01*nextQ;
00473 double z1 = pos1[2];
00474
00475 pline.SetPoint(0,x1,y1,z1);
00476 pline.SetPoint(1,x2,y1,z1);
00477 pline.SetPoint(2,x2,y2,z1);
00478 pline.SetPoint(3,x3,y2,z1);
00479 pline.SetPoint(4,x3,y3,z1);
00480 pline.SetPoint(5,x4,y3,z1);
00481 }
00482 if (view==geo::kY) {
00483 double y1 = pos0[1];
00484 double y2 = 0.5*(pos0[1]+pos1[1]);
00485 double y3 = 0.5*(pos1[1]+pos2[1]);
00486 double y4 = pos2[1];
00487 double x1 = fXhi + fBomb + 0.01*prevQ;
00488 double x2 = fXhi + fBomb + 0.01*thisQ;
00489 double x3 = fXhi + fBomb + 0.01*nextQ;
00490 double z1 = pos1[2];
00491
00492 pline.SetPoint(0,x1,y1,z1);
00493 pline.SetPoint(1,x1,y2,z1);
00494 pline.SetPoint(2,x2,y2,z1);
00495 pline.SetPoint(3,x2,y3,z1);
00496 pline.SetPoint(4,x3,y3,z1);
00497 pline.SetPoint(5,x3,y4,z1);
00498
00499 }
00500 } // loop on raw digits
00501 }
|
|
|
Give a short tag which can be included in filename to ID object printed Keep to ~4 characters Reimplemented from evdb::Canvas. Definition at line 26 of file Display3D.h. 00026 { return "3dview"; }
|
|
||||||||||||
|
Definition at line 235 of file Display3D.cxx. Referenced by Draw(). 00236 {
00237 if (h2->GetMaximum()>h1->GetMaximum()) {
00238 h1->SetMaximum(1.05*h2->GetMaximum());
00239 }
00240 }
|
|
|
Definition at line 131 of file Display3D.cxx. Referenced by BookHistograms(). 00132 {
00133 h->SetLabelFont(42,"X");
00134 h->SetLabelFont(42,"Y");
00135 h->SetLabelSize(0.06,"X");
00136 h->SetLabelSize(0.06,"X");
00137
00138 h->SetTitleFont(52,"X");
00139 h->SetTitleFont(52,"Y");
00140 h->SetTitleSize(0.08,"X");
00141 h->SetTitleSize(0.08,"Y");
00142 h->SetTitleOffset(0.55,"X");
00143 h->SetTitleOffset(0.45,"Y");
00144
00145 h->GetXaxis()->SetNdivisions(510);
00146 h->GetYaxis()->SetNdivisions(505);
00147 }
|
|
|
Get updates from the configurations this display uses Implements cfg::Observer. Definition at line 102 of file Display3D.cxx. References Draw(), fDrawingOptions, cfg::Config::GetName(), and evd::DrawingOptions::Update(). 00103 {
00104 if (std::string("DrawingOptions")==c.GetName()) {
00105 fDrawingOptions.Update(c);
00106 }
00107 this->Draw();
00108 }
|
|
|
Amount to offset top and sides for display (cm).
Definition at line 48 of file Display3D.h. Referenced by Draw(), DrawOutline(), DrawProngs(), and DrawRawData(). |
|
|
Pad to draw charge histogram on.
Definition at line 60 of file Display3D.h. Referenced by Display3D(), and Draw(). |
|
|
Collection of drawing options.
Definition at line 42 of file Display3D.h. Referenced by Draw(), DrawProngs(), and Update(). |
|
|
3D Drawing pad
Definition at line 61 of file Display3D.h. Referenced by Draw(). |
|
|
Plot number of MC hits vs. charge.
Definition at line 53 of file Display3D.h. Referenced by BookHistograms(), Draw(), and DrawMCHits(). |
|
|
Plot number of MC hits vs. time.
Definition at line 52 of file Display3D.h. Referenced by BookHistograms(), Draw(), and DrawMCHits(). |
|
|
Drawing pad for 3D view.
Definition at line 58 of file Display3D.h. Referenced by Display3D(), Draw(), and ~Display3D(). |
|
|
Color scale for charge.
Definition at line 50 of file Display3D.h. |
|
|
Plot number of raw data hits vs. charge.
Definition at line 56 of file Display3D.h. Referenced by BookHistograms(), and Draw(). |
|
|
Plot number of raw data hits vs. time.
Definition at line 55 of file Display3D.h. Referenced by BookHistograms(), and Draw(). |
|
|
Range in time to display (us).
Definition at line 47 of file Display3D.h. Referenced by Display3D(). |
|
|
Pad to draw timing histogram on.
Definition at line 59 of file Display3D.h. Referenced by Display3D(), and Draw(). |
|
|
Definition at line 47 of file Display3D.h. Referenced by Display3D(). |
|
|
Collection of 3D items to draw.
Definition at line 62 of file Display3D.h. Referenced by Display3D(), Draw(), DrawMCHits(), DrawOutline(), DrawProngs(), DrawRawData(), and ~Display3D(). |
|
|
Range in x to display (cm).
Definition at line 44 of file Display3D.h. Referenced by Display3D(), Draw(), DrawOutline(), DrawProngs(), and DrawRawData(). |
|
|
Definition at line 44 of file Display3D.h. Referenced by Display3D(), Draw(), and DrawOutline(). |
|
|
Range in y to display (cm).
Definition at line 45 of file Display3D.h. Referenced by Display3D(), Draw(), DrawOutline(), DrawProngs(), and DrawRawData(). |
|
|
Definition at line 45 of file Display3D.h. Referenced by Display3D(), Draw(), and DrawOutline(). |
|
|
Range in z to display (cm).
Definition at line 46 of file Display3D.h. Referenced by Display3D(), Draw(), and DrawOutline(). |
|
|
Definition at line 46 of file Display3D.h. Referenced by Display3D(), Draw(), and DrawOutline(). |
1.3.9.1