10 #include "nuevdb/EventDisplayBase/View3D.h"
11 #include "nuevdb/EventDisplayBase/EventHolder.h"
20 #include "art/Framework/Principal/fwd.h"
21 #include "art/Framework/Services/Registry/ServiceHandle.h"
22 #include "art/Utilities/make_tool.h"
42 this->
Pad()->SetFillColor(kBlack);
45 fView =
new evdb::View3D();
48 art::ServiceHandle<evd::SimulationDrawingOptions> simDrawOpt;
51 const fhicl::ParameterSet& drawSim3DTools = simDrawOpt->f3DDrawerParams;
53 for(
const std::string& draw3DTool : drawSim3DTools.get_pset_names())
55 const fhicl::ParameterSet& draw3DToolParamSet = drawSim3DTools.get<fhicl::ParameterSet>(draw3DTool);
57 fSim3DDrawerVec.push_back(art::make_tool<evdb_tool::ISim3DDrawer>(draw3DToolParamSet));
61 art::ServiceHandle<evd::RecoDrawingOptions> recoDrawOpt;
64 const fhicl::ParameterSet& drawReco3DTools = recoDrawOpt->f3DDrawerParams;
66 for(
const std::string& draw3DTool : drawReco3DTools.get_pset_names())
68 const fhicl::ParameterSet& draw3DToolParamSet = drawReco3DTools.get<fhicl::ParameterSet>(draw3DTool);
70 fReco3DDrawerVec.push_back(art::make_tool<evdb_tool::I3DDrawer>(draw3DToolParamSet));
89 art::ServiceHandle<geo::Geometry> geo;
92 const art::Event *
evt = evdb::EventHolder::Instance()->GetEvent();
114 this->
Pad()->Clear();
116 if (
fPad->GetView()==0) {
118 double rmin[]={-2.1*geo->DetHalfWidth(),-2.1*geo->DetHalfHeight(),-0.5*geo->DetLength()};
119 double rmax[]={ 2.1*geo->DetHalfWidth(), 2.1*geo->DetHalfHeight(), 0.5*geo->DetLength()};
120 TView3D* v =
new TView3D(1,rmin,rmax);
122 v->SetView(0.0,260.0,270.0,irep);
std::vector< std::unique_ptr< evdb_tool::I3DDrawer > > fReco3DDrawerVec
Drawing pad showing a 3D rendering of the detector.
Display3DPad(const char *nm, const char *ti, double x1, double y1, double x2, double y2, const char *opt)
evd_tool::IExperimentDrawer * GeometryDraw()
Base class for event display drawing pads.
RecoBaseDrawer * RecoBaseDraw()
std::vector< std::unique_ptr< evdb_tool::ISim3DDrawer > > fSim3DDrawerVec
Class to aid in the rendering of RecoBase objects.
TPad * fPad
The ROOT graphics pad.
evdb::View3D * fView
Collection of graphics objects to render.
This is the interface class for drawing 3D detector geometries.
art framework interface to geometry description