GeometryDrawer.h
Go to the documentation of this file.
1 /// \file GeometryDrawer.h
2 /// \brief Class to aid in the rendering of Geometry objects
3 /// \author messier@indiana.edu
4 /// \version $Id: GeometryDrawer.h,v 1.5 2012-12-05 02:24:46 bckhouse Exp $
5 #ifndef EVD_GEOMETRYDRAWER_H
6 #define EVD_GEOMETRYDRAWER_H
7 
8 #include <vector>
9 #include <map>
10 
11 #include "GeometryObjects/PlaneGeo.h" // For View_t
12 
13 class TH1F;
14 namespace art { class Event; }
15 namespace evdb { class View2D; }
16 namespace evdb { class View3D; }
17 namespace geo { class Geometry; }
18 
19 namespace evd {
20  /// Aid in the rendering of Geometry objects
22  public:
24  ~GeometryDrawer();
25  void GetBox(double* xlo, double* xhi, double* ylo,
26  double* yhi, double* zlo, double* zhi);
27 
28  void DetOutline2D(const art::Event& evt,
29  evdb::View2D* xzview,
30  evdb::View2D* yzview);
31 
32  void DetOutline3D(const art::Event& evt,
34 
35  void FiducialVolumeUser2D(const art::Event& evt,
36  evdb::View2D* xzview,
37  evdb::View2D* yzview);
38 
39  void DrawDCMBoxes(const art::Event& evt,
40  evdb::View2D* xzview,
41  evdb::View2D* yzview);
42 
43  void DrawCells2D(const art::Event& evt,
44  evdb::View2D* xzview,
45  evdb::View2D* yzview,
46  double xlo=-99E9, double xhi=99E9,
47  double ylo=-99E9, double yhi=99E9,
48  double zlo=-99E9, double zhi=99E9);
49 
50  void DrawHighlightCell(const art::Event& evt,
51  evdb::View2D* xzview,
52  evdb::View2D* yzview);
53 
54  void ShowCellAndPlaneNumbers(evdb::View2D* view,
55  int ip,
56  int ic,
57  double z,
58  double dz,
59  double t,
60  double dt);
61 
62  /// Draw the exact boxes LiveGeometry uses internally
63  void DrawBadBoxesExact(const art::Event& evt,
64  evdb::View2D* xzview,
65  evdb::View2D* yzview);
66 
67  /// Draw the minimal outline of the bad regions
68  void DrawBadBoxesPretty(const art::Event& evt,
69  evdb::View2D* xzview,
70  evdb::View2D* yzview);
71 
72  protected:
73  struct Box
74  {
75  double xylo, zlo, xyhi, zhi;
76  };
77 
78  std::map<int, Box> GetDCMBoxes(geo::View_t view) const;
79 
80  };
81 }
82 
83 #endif
84 ////////////////////////////////////////////////////////////////////////
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
TString ip
Definition: loadincs.C:5
Manage all things related to colors for the event display.
Definition: Display3DPad.h:11
Aid in the rendering of Geometry objects.
Definition: Cand.cxx:23
nova event display
double dz[NP][NC]
int evt
z
Definition: test.py:28
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition: FillParentInfo.h:8
Helper for AttenCurve.
Definition: Path.h:10