All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Types | Protected Attributes | List of all members
evd::DrawingPad Class Reference

Base class for event display drawing pads. More...

#include <DrawingPad.h>

Inheritance diagram for evd::DrawingPad:
evd::CalorPad evd::Display3DPad evd::HeaderPad evd::MCBriefPad evd::Ortho3DPad evd::TQPad evd::TWireProjPad

Public Member Functions

 DrawingPad (const char *nm, const char *ti, double x1, double y1, double y2, double x2)
 
 ~DrawingPad ()
 
TPad * Pad ()
 
HeaderDrawerHeaderDraw ()
 
evd_tool::IExperimentDrawerGeometryDraw ()
 
SimulationDrawerSimulationDraw ()
 
RawDataDrawerRawDataDraw ()
 
RecoBaseDrawerRecoBaseDraw ()
 
AnalysisBaseDrawerAnalysisBaseDraw ()
 
HitSelectorHitSelectorGet ()
 

Protected Types

using IExperimentDrawerPtr = std::unique_ptr< evd_tool::IExperimentDrawer >
 

Protected Attributes

TPad * fPad
 The ROOT graphics pad. More...
 
HeaderDrawerfHeaderDraw
 Drawer for event header info. More...
 
IExperimentDrawerPtr fGeometryDraw
 Drawer for detector geometry. More...
 
SimulationDrawerfSimulationDraw
 Drawer for simulation objects. More...
 
RawDataDrawerfRawDataDraw
 Drawer for raw data. More...
 
RecoBaseDrawerfRecoBaseDraw
 Drawer for recobase objects. More...
 
AnalysisBaseDrawerfAnalysisBaseDraw
 Drawer for analysisbase objects. More...
 

Detailed Description

Base class for event display drawing pads.

Definition at line 29 of file DrawingPad.h.

Member Typedef Documentation

Definition at line 50 of file DrawingPad.h.

Constructor & Destructor Documentation

evd::DrawingPad::DrawingPad ( const char *  nm,
const char *  ti,
double  x1,
double  y1,
double  x2,
double  y2 
)

Create a drawing pad for the event display

Parameters
nm: Name of the TPad
ti: Title of the TPad
x1: Relative x position (0-1) of lower left corner
y1: Relative y position (0-1) of lower left corner
x2: Relative x position (0-1) of upper right corner
y2: Relative y position (0-1) of upper right corner

Definition at line 36 of file DrawingPad.cxx.

40  : fPad(0)
41  , fHeaderDraw(0) //Every pointer checked for a 0 value in the destructor should be set to 0 here. aoliv23@lsu.edu
42  , fSimulationDraw(0)
43  , fRawDataDraw(0)
44  , fRecoBaseDraw(0)
46  {
47  fPad = new TPad(nm,ti,x1,y1,x2,y2);
48  fPad->Draw();
49  fPad->cd();
50  }
AnalysisBaseDrawer * fAnalysisBaseDraw
Drawer for analysisbase objects.
Definition: DrawingPad.h:58
RecoBaseDrawer * fRecoBaseDraw
Drawer for recobase objects.
Definition: DrawingPad.h:57
RawDataDrawer * fRawDataDraw
Drawer for raw data.
Definition: DrawingPad.h:56
TPad * fPad
The ROOT graphics pad.
Definition: DrawingPad.h:52
HeaderDrawer * fHeaderDraw
Drawer for event header info.
Definition: DrawingPad.h:53
SimulationDrawer * fSimulationDraw
Drawer for simulation objects.
Definition: DrawingPad.h:55
evd::DrawingPad::~DrawingPad ( )

Definition at line 54 of file DrawingPad.cxx.

55  {
56  if (fHeaderDraw) { delete fHeaderDraw; fHeaderDraw = 0; }
57  if (fSimulationDraw) { delete fSimulationDraw; fSimulationDraw = 0; }
58  if (fRawDataDraw) { delete fRawDataDraw; fRawDataDraw = 0; }
59  if (fRecoBaseDraw) { delete fRecoBaseDraw; fRecoBaseDraw = 0; }
61  // if (fHitSelector) { delete fHitSelector; fHitSelector = 0; }
62  if (fPad) { delete fPad; fPad = 0; }
63  }
AnalysisBaseDrawer * fAnalysisBaseDraw
Drawer for analysisbase objects.
Definition: DrawingPad.h:58
RecoBaseDrawer * fRecoBaseDraw
Drawer for recobase objects.
Definition: DrawingPad.h:57
RawDataDrawer * fRawDataDraw
Drawer for raw data.
Definition: DrawingPad.h:56
TPad * fPad
The ROOT graphics pad.
Definition: DrawingPad.h:52
HeaderDrawer * fHeaderDraw
Drawer for event header info.
Definition: DrawingPad.h:53
SimulationDrawer * fSimulationDraw
Drawer for simulation objects.
Definition: DrawingPad.h:55

Member Function Documentation

AnalysisBaseDrawer * evd::DrawingPad::AnalysisBaseDraw ( )

Provide access to the drawer for AnalysisBase classes

Definition at line 129 of file DrawingPad.cxx.

130  {
131  if (fAnalysisBaseDraw==0) fAnalysisBaseDraw = new AnalysisBaseDrawer();
132  return fAnalysisBaseDraw;
133  }
AnalysisBaseDrawer * fAnalysisBaseDraw
Drawer for analysisbase objects.
Definition: DrawingPad.h:58
evd_tool::IExperimentDrawer * evd::DrawingPad::GeometryDraw ( )

Provide access to the drawer for the detector geometry

Definition at line 81 of file DrawingPad.cxx.

82  {
83  if (fGeometryDraw==0)
84  {
85  art::ServiceHandle<evd::EvdLayoutOptions const> layoutOptions;
86  const fhicl::ParameterSet& pset = layoutOptions->fParameterSet;
87 
88  fGeometryDraw = art::make_tool<evd_tool::IExperimentDrawer>(pset.get<fhicl::ParameterSet>("Experiment3DDrawer"));
89  }
90  return fGeometryDraw.get();
91  }
IExperimentDrawerPtr fGeometryDraw
Drawer for detector geometry.
Definition: DrawingPad.h:54
HeaderDrawer * evd::DrawingPad::HeaderDraw ( )

Provide access to the drawer for the detector geometry

Definition at line 72 of file DrawingPad.cxx.

73  {
74  if (fHeaderDraw==0) fHeaderDraw = new HeaderDrawer();
75  return fHeaderDraw;
76  }
HeaderDrawer * fHeaderDraw
Drawer for event header info.
Definition: DrawingPad.h:53
HitSelector * evd::DrawingPad::HitSelectorGet ( )

Provide access to the HitSelector

Definition at line 141 of file DrawingPad.cxx.

142  {
144  return gTheHitSelector;
145  }
HitSelector * gTheHitSelector
Definition: DrawingPad.cxx:25
TPad* evd::DrawingPad::Pad ( )
inline

Definition at line 37 of file DrawingPad.h.

37 { return fPad; }
TPad * fPad
The ROOT graphics pad.
Definition: DrawingPad.h:52
RawDataDrawer * evd::DrawingPad::RawDataDraw ( )

Provide access to the drawer for the RawData classes

Definition at line 106 of file DrawingPad.cxx.

107  {
108  if (fRawDataDraw==0) fRawDataDraw = new RawDataDrawer();
109  return fRawDataDraw;
110  }
RawDataDrawer * fRawDataDraw
Drawer for raw data.
Definition: DrawingPad.h:56
RecoBaseDrawer * evd::DrawingPad::RecoBaseDraw ( )

Provide access to the drawer for RecoBase classes

Definition at line 117 of file DrawingPad.cxx.

118  {
119  if (fRecoBaseDraw==0) fRecoBaseDraw = new RecoBaseDrawer();
120  return fRecoBaseDraw;
121 
122  }
RecoBaseDrawer * fRecoBaseDraw
Drawer for recobase objects.
Definition: DrawingPad.h:57
SimulationDrawer * evd::DrawingPad::SimulationDraw ( )

Provide access to the drawer for the Simulation classes

Definition at line 96 of file DrawingPad.cxx.

97  {
98  if (fSimulationDraw==0) fSimulationDraw = new SimulationDrawer();
99  return fSimulationDraw;
100 
101  }
SimulationDrawer * fSimulationDraw
Drawer for simulation objects.
Definition: DrawingPad.h:55

Member Data Documentation

AnalysisBaseDrawer* evd::DrawingPad::fAnalysisBaseDraw
protected

Drawer for analysisbase objects.

Definition at line 58 of file DrawingPad.h.

IExperimentDrawerPtr evd::DrawingPad::fGeometryDraw
protected

Drawer for detector geometry.

Definition at line 54 of file DrawingPad.h.

HeaderDrawer* evd::DrawingPad::fHeaderDraw
protected

Drawer for event header info.

Definition at line 53 of file DrawingPad.h.

TPad* evd::DrawingPad::fPad
protected

The ROOT graphics pad.

Definition at line 52 of file DrawingPad.h.

RawDataDrawer* evd::DrawingPad::fRawDataDraw
protected

Drawer for raw data.

Definition at line 56 of file DrawingPad.h.

RecoBaseDrawer* evd::DrawingPad::fRecoBaseDraw
protected

Drawer for recobase objects.

Definition at line 57 of file DrawingPad.h.

SimulationDrawer* evd::DrawingPad::fSimulationDraw
protected

Drawer for simulation objects.

Definition at line 55 of file DrawingPad.h.


The documentation for this class was generated from the following files: