All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EVD_module.cc
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 /// \file EVD_module.cc
3 ///
4 /// \author jpaley@anl.gov
5 
6 // Framework includes
7 #include "art/Framework/Core/ModuleMacros.h"
8 #include "art/Framework/Core/EDAnalyzer.h"
9 
10 //LArSoft includes
11 #include "nuevdb/EventDisplayBase/DisplayWindow.h"
17 
18 // Framework includes
19 namespace art { class Event; }
20 namespace fhicl { class ParameterSet; }
21 
22 #if defined __clang__
23  #pragma clang diagnostic push
24  #pragma clang diagnostic ignored "-Wunused-private-field"
25 #endif
26 
27 /// The Event Display
28 namespace evd{
29 
30  class Canvas;
31 
32  /// a class for transporting photons in a roughly realistic way
33  class EVD : public art::EDAnalyzer
34  {
35  public:
36  explicit EVD(fhicl::ParameterSet const &pset);
37  virtual ~EVD();
38 
39  void analyze(art::Event const& evt);
40  void beginJob();
41 
42  private:
43 
44  bool fWindowsDrawn; ///< flag for whether windows are already drawn
45 
46  };
47 }
48 
49 // Builder for the TWQProjectionView canvas
50 static evdb::Canvas* mk_twqprojectionview_canvas(TGMainFrame* mf)
51 {
52  return new evd::TWQProjectionView(mf);
53 }
54 
55 // Builder for the TWQMultiTPCProjectionView canvas
56 static evdb::Canvas* mk_twqmtpcprojectionview_canvas(TGMainFrame* mf)
57 {
58  return new evd::TWQMultiTPCProjectionView(mf);
59 }
60 
61 // Builder for the Display3D view
62 static evdb::Canvas* mk_display3d_canvas(TGMainFrame* mf)
63 {
64  return new evd::Display3DView(mf);
65 }
66 
67 // Builder for the Ortho view
68 static evdb::Canvas* mk_ortho3d_canvas(TGMainFrame* mf)
69 {
70  return new evd::Ortho3DView(mf);
71 }
72 
73 // Builder for the Calor view
74 static evdb::Canvas* mk_calor_canvas(TGMainFrame* mf)
75 {
76  return new evd::CalorView(mf);
77 }
78 
79 // // Builder for the MCTruth view
80 // static evdb::ObjListCanvas* mk_mctrue_canvas(TGMainFrame* mf)
81 // {
82 // return new evd::MCTrueView(mf);
83 // }
84 
85 
86 namespace evd{
87 
88  //----------------------------------------------------
89  EVD::EVD(fhicl::ParameterSet const& pset)
90  : EDAnalyzer(pset)
91  , fWindowsDrawn(false)
92  {
93 
94  }
95 
96  //----------------------------------------------------
98  {
99  }
100 
101  //----------------------------------------------------
103  {
104  // Register the list of windows used by the event display
105  evdb::DisplayWindow::Register("Time vs Wire, Charge View",
106  "Time vs Wire, Charge View",
107  700,
108  700,
110 
111  evdb::DisplayWindow::Register("Time vs Wire, Charge View, Multi-TPC",
112  "Time vs Wire, Charge View, Multi-TPC",
113  700,
114  700,
116 
117  evdb::DisplayWindow::Register("Display3D",
118  "Display3D",
119  700,
120  700,
122 
123  evdb::DisplayWindow::Register("Ortho3D",
124  "Ortho3D",
125  700,
126  700,
128 
129  evdb::DisplayWindow::Register("Calorimetry",
130  "Calorimetry",
131  700,
132  700,
134 
135  // evdb::ListWindow::Register("MC Particle List",
136  // "MC Particle List",
137  // 400,
138  // 800,
139  // mk_mctrue_canvas);
140 
141  // Open up the main display window and run
142  evdb::DisplayWindow::OpenWindow(0);
143  }
144 
145  //----------------------------------------------------
146  void EVD::analyze(const art::Event& /*evt*/)
147  {
148  }
149 
150 }//namespace
151 
152 namespace evd {
153 
154  DEFINE_ART_MODULE(EVD)
155 
156 } // namespace evd
157 #if defined __clang__
158  #pragma clang diagnostic pop
159 #endif
static evdb::Canvas * mk_calor_canvas(TGMainFrame *mf)
Definition: EVD_module.cc:74
void beginJob()
Definition: EVD_module.cc:102
static evdb::Canvas * mk_display3d_canvas(TGMainFrame *mf)
Definition: EVD_module.cc:62
static evdb::Canvas * mk_twqmtpcprojectionview_canvas(TGMainFrame *mf)
Definition: EVD_module.cc:56
A view showing a 3D rendering of the detector.
static evdb::Canvas * mk_ortho3d_canvas(TGMainFrame *mf)
Definition: EVD_module.cc:68
View of event shoing orthographic view of 3D objects.
Definition: Ortho3DView.h:21
View of event shoing the XZ and YZ readout planes.
Definition: Display3DView.h:16
bool fWindowsDrawn
flag for whether windows are already drawn
Definition: EVD_module.cc:44
EVD(fhicl::ParameterSet const &pset)
Definition: EVD_module.cc:89
a class for transporting photons in a roughly realistic way
Definition: EVD_module.cc:33
A view showing calorimetric particle ID information.
A view showing an orthographic projection of 3D objects.
void analyze(art::Event const &evt)
Definition: EVD_module.cc:146
static evdb::Canvas * mk_twqprojectionview_canvas(TGMainFrame *mf)
Definition: EVD_module.cc:50
TCEvent evt
Definition: DataStructs.cxx:8
View showing calorimetric particle ID information.
Definition: CalorView.h:20
A view showing the time vs wire, charge and charge vs time information for an event.
virtual ~EVD()
Definition: EVD_module.cc:97