RecoBaseDrawer.h
Go to the documentation of this file.
1 /// \file RecoBaseDrawer.h
2 /// \brief Class to aid in the rendering of RecoBase objects
3 /// \author messier@indiana.edu
4 /// \version $Id: RecoBaseDrawer.h,v 1.15 2012-08-09 23:38:31 bckhouse Exp $
5 #ifndef EVD_RECOBASEDRAWER_H
6 #define EVD_RECOBASEDRAWER_H
7 #include <vector>
8 
9 class TH1F;
10 namespace art { class Event; }
11 namespace evdb { class View2D; }
12 namespace evdb { class View3D; }
13 namespace geo { class Geometry; class OfflineChan; }
14 namespace rb {
15  class CellHit;
16  class Cluster;
17  class HoughResult;
18  class Vertex;
19  class Prong;
20  class Track;
21  class Shower;
22 }
23 
24 namespace evd {
25 
26  /// Aid in the rendering of RecoBase objects
28  public:
30  ~RecoBaseDrawer();
31 
32  public:
33  void CellHit2D(art::Event const& evt,
34  evdb::View2D* xzview,
35  evdb::View2D* yzview);
36 
37  void Vertex2D(art::Event const& evt,
38  evdb::View2D* xzview,
39  evdb::View2D* yzview);
40 
41  void Cluster2D(art::Event const& evt,
42  evdb::View2D* xzview,
43  evdb::View2D* yzview);
44 
45  void OfflineChans2D(const art::Event& evt,
46  evdb::View2D* xzview,
47  evdb::View2D* yzview);
48 
49  void HoughResult2D(art::Event const& evt,
50  evdb::View2D* xzview,
51  evdb::View2D* yzview);
52 
53  void Prong2D(art::Event const& evt,
54  evdb::View2D* xzview,
55  evdb::View2D* yzview);
56 
57  void Track2D(const art::Event& evt,
58  evdb::View2D* xzview,
59  evdb::View2D* yzview);
60 
61 
62  void CellHit3D(art::Event const& evt,
64 
65  void Cluster3D(art::Event const& evt,
66  evdb::View3D* view);
67 
68  void Prong3D(art::Event const& evt,
69  evdb::View3D* view);
70 
71 
72  void FillTQHisto(art::Event const& evt,
73  TH1F* thisto,
74  TH1F* qhisto);
75 
76  protected:
77  void DrawHoughResults2D(std::vector<const rb::HoughResult*>& htr,
78  evdb::View2D* xzview,
79  evdb::View2D* yzview);
80 
81  void DrawVertices2D(std::vector<const rb::Vertex*>& vert,
82  evdb::View2D* xzview,
83  evdb::View2D* yzview,
84  std::vector< int >& vertexIndex);
85 
86  void DrawCluster2D(std::vector<const rb::Cluster*>& clusts,
87  evdb::View2D* xzview,
88  evdb::View2D* yzview,
89  std::vector<int>& clustIndex);
90 
91  void DrawProng2D(std::vector<const rb::Prong*>& prong,
92  evdb::View2D* xzview,
93  evdb::View2D* yzview,
94  std::vector< int >& prongIndex);
95 
96  void DrawTrack2D(std::vector<const rb::Track*>& track,
97  evdb::View2D* xzview,
98  evdb::View2D* yzview,
99  std::vector< int >& trackIndex);
100 
101  void DrawProng3D(std::vector<const rb::Prong*>& prong,
102  evdb::View3D* view,
103  std::vector< int >& prongIndex);
104 
105  void DrawTrack3D(std::vector<const rb::Track*>& track,
106  evdb::View3D* view,
107  std::vector< int >& trackIndex);
108 
109  private:
110  void GetClusterOutlines(const rb::Cluster* c,
111  int view,
112  std::vector<double>& vzVpts,
113  std::vector<double>& vzZpts);
114 
115  void GetClusterOutlinesConvexHull(const rb::Cluster* c,
116  int viewint,
117  std::vector<double>& vzVpts,
118  std::vector<double>& vzZpts) const;
119 
120  int GetClusterColor(unsigned int idx) const;
121  int DimOutOfTime(double t1, double t2, int c);
122  int DimFiltered(const rb::CellHit* chit,
123  std::vector<const rb::CellHit*> unfiltered,
124  int c);
125  double ScaleFactor(double, double);
126 
127  };
128 }
129 
130 #endif
131 ////////////////////////////////////////////////////////////////////////
Aid in the rendering of RecoBase objects.
Definition: event.h:19
A collection of associated CellHits.
Definition: Cluster.h:47
Manage all things related to colors for the event display.
Definition: Display3DPad.h:11
nova event display
int evt
double t2
Perform a "2 point" Hough transform on a collection of hits.
A rawdata::RawDigit with channel information decoded.
Definition: CellHit.h:27
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