LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
TWireProjPad.h
Go to the documentation of this file.
1 
9 #ifndef EVD_TWIREPROJPAD_H
10 #define EVD_TWIREPROJPAD_H
12 #include <vector>
13 
14 
15 class TH1F;
16 
17 namespace evdb { class View2D; }
18 
19 namespace util {
20  class PxLine;
21  class PxPoint;
22 }
23 
24 namespace recob
25 {
26  class Seed;
27 }
28 
29 namespace evd {
30 
32  class TWireProjPad : public DrawingPad {
33  public:
34  struct DrawOptions_t {
35  bool bZoom2DdrawToRoI = false;
36  }; // DrawOptions_t
37 
38  TWireProjPad(const char* nm, const char* ti,
39  double x1, double y1,
40  double x2, double y2,
41  unsigned int plane);
42  ~TWireProjPad();
43  void Draw(const char* opt=0);
44  void GetWireRange(int *i1, int *i2) const;
45  void SetWireRange(int i1, int i2);
46 
47  void SetZoomRange(int i1, int i2,int y1, int y2);
48 
50  DrawOptions_t const& GetDrawOptions() const { return fDrawOpts; }
52  void SetDrawOptions(DrawOptions_t const& opt) { fDrawOpts = opt; }
53 
55  void SetZoomToRoI(bool bZoomToRoI)
56  { fDrawOpts.bZoom2DdrawToRoI = bZoomToRoI; }
57 
59  void SetZoomFromView();
60 
61  void SaveHitList(double i1, double i2,double y1, double y2, double distance, const char* zoom_opt,bool good_plane=true);
62 
63  double SaveSeedList(std::vector < util::PxLine > seedlines, double distance);
64 
65  void ClearHitList();
66  void SelectOneHit(double x, double y, const char* zoom_opt);
67 
68  unsigned int GetPlane() const { return fPlane; }
69 
70  void ClearandUpdatePad();
71  void UpdatePad();
72  void DrawLinesinView(std::vector< util::PxLine > lines,bool deleting=false,const char * zoom_opt=0);
73 
74  void ShowFull(int override=0);
75 
76  double UpdateSeedCurve(std::vector<recob::Seed> SeedVec, int plane);
77  evdb::View2D* View() const { return fView; }
78 
79  std::vector<double> const& GetCurrentZoom() const {return fCurrentZoom;}
80 
81  private:
82  /* void AutoZoom(); */
83 
84 
85  private:
86 
87  std::vector<double> fCurrentZoom;
89 
90 
91  unsigned int fPlane;
92  TH1F* fHisto;
94 
95  double fXLo;
96  double fXHi;
97  double fYLo;
98  double fYHi;
99  int fOri;
100  };
101 }
102 
103 #endif
104 
Float_t x
Definition: compare.C:6
Namespace for general, non-LArSoft-specific utilities.
Definition: PIDAAlg.h:17
Reconstruction base classes.
Float_t y1[n_points_granero]
Definition: compare.C:5
Float_t x1[n_points_granero]
Definition: compare.C:5
unsigned int fPlane
Which plane in the detector.
Definition: TWireProjPad.h:91
Float_t y
Definition: compare.C:6
double fXLo
Low value of x axis.
Definition: TWireProjPad.h:95
unsigned int GetPlane() const
Definition: TWireProjPad.h:68
Manage all things related to colors for the event display.
DrawOptions_t fDrawOpts
set of current draw options
Definition: TWireProjPad.h:88
Float_t y2[n_points_geant4]
Definition: compare.C:26
std::vector< double > const & GetCurrentZoom() const
Definition: TWireProjPad.h:79
Base class for all event display drawing pads.
void SetZoomToRoI(bool bZoomToRoI)
Sets the draw option about zooming to the region of interest.
Definition: TWireProjPad.h:55
evdb::View2D * View() const
Definition: TWireProjPad.h:77
LArSoft includes.
A drawing pad for time vs wire.
Definition: TWireProjPad.h:32
int fOri
Orientation of the axes - see RawDrawingOptions for values.
Definition: TWireProjPad.h:99
double fXHi
High value of x axis.
Definition: TWireProjPad.h:96
DrawOptions_t const & GetDrawOptions() const
Return the current draw options.
Definition: TWireProjPad.h:50
Base class for event display drawing pads.
Definition: DrawingPad.h:29
double fYLo
Low value of y axis.
Definition: TWireProjPad.h:97
TH1F * fHisto
Histogram to draw object on.
Definition: TWireProjPad.h:92
void SetDrawOptions(DrawOptions_t const &opt)
Receive the full set of draw options.
Definition: TWireProjPad.h:52
hist1 Draw("HIST")
static const char * zoom_opt
Float_t x2[n_points_geant4]
Definition: compare.C:26
std::vector< double > fCurrentZoom
Definition: TWireProjPad.h:87
double fYHi
High value of y axis.
Definition: TWireProjPad.h:98
evdb::View2D * fView
Collection of graphics objects to render.
Definition: TWireProjPad.h:93