HoughResult.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////////////////
2 /// \file HoughResult.h
3 /// \brief Data resulting from a Hough transform on the cell hit positions
4 /// \version $Id: HoughResult.h,v 1.7 2012-10-26 21:31:55 bckhouse Exp $
5 /// \author messier@indiana.edu
6 /////////////////////////////////////////////////////////////////////////////////////
7 #ifndef RB_HOUGHRESULT_H
8 #define RB_HOUGHRESULT_H
9 
10 #include <vector>
11 
12 #ifndef __GCCXML__
14 #endif
15 
16 namespace rb {
17  /// \brief Data for a single peak in Hough space
18  class HoughPeak
19  {
20  public:
21  HoughPeak();
22  HoughPeak(double rho, double theta, double height, double thresh, double sr, double st);
23  public:
24  double fRho; ///< Distance to line
25  double fTheta; ///< Angle to line (radians)
26  double fH; ///< Height of peak (arbitrary units)
27  double fThr; ///< Calculated threshold for hough map
28  double fSR; ///< Uncertainty in Rho (999 indicates peak was below threshold)
29  double fST; ///< Uncertainty in Theta (999 indicates peak was below threshold)
30  };
31 
32  //......................................................................
33 
34  /// \brief Summary from a Hough transform applied to a group of cell hits
36  {
37  public:
38  HoughResult();
39 #ifndef __GCCXML__
41  double tlo,
42  double thi,
43  double xy0,
44  double z0);
45 
46  /// \brief Slope and intercepts of Hough lines
47  /// \param i - Which line?
48  /// \param m - Slope of line
49  /// \param b - Intercept of line (detector coordinates)
50  void SlopeIcept(unsigned int i, double* m, double* b) const;
51 
52  /// \brief Sort Hough peaks from best (highest) to worst
53  void SortPeaks();
54 #endif // __GCCXML__
55  public:
56  geo::View_t fView; ///< Transform of x or y view?
57  double fTNSlo; ///< Low edge of time slice transformed
58  double fTNShi; ///< Upper edge of time slice transformed
59  double fXY0; ///< X/Y offset applied to hits
60  double fZ0; ///< Z offset applied to hits
61  std::vector<HoughPeak> fPeak; ///< List of peaks found in Hough space
62  };
63 } // end namespace rb
64 
65 #endif
66 ////////////////////////////////////////////////////////////////////////
double fXY0
X/Y offset applied to hits.
Definition: HoughResult.h:59
double fZ0
Z offset applied to hits.
Definition: HoughResult.h:60
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
std::vector< HoughPeak > fPeak
List of peaks found in Hough space.
Definition: HoughResult.h:61
double fRho
Distance to line.
Definition: HoughResult.h:24
double fThr
Calculated threshold for hough map.
Definition: HoughResult.h:27
double fTheta
Angle to line (radians)
Definition: HoughResult.h:25
Data for a single peak in Hough space.
Definition: HoughResult.h:18
double fSR
Uncertainty in Rho (999 indicates peak was below threshold)
Definition: HoughResult.h:28
caf::StandardRecord * sr
Perform a "2 point" Hough transform on a collection of hits.
geo::View_t fView
Transform of x or y view?
Definition: HoughResult.h:56
double fTNShi
Upper edge of time slice transformed.
Definition: HoughResult.h:58
double fTNSlo
Low edge of time slice transformed.
Definition: HoughResult.h:57
double fH
Height of peak (arbitrary units)
Definition: HoughResult.h:26
const hit & b
Definition: hits.cxx:21
double fST
Uncertainty in Theta (999 indicates peak was below threshold)
Definition: HoughResult.h:29
Summary from a Hough transform applied to a group of cell hits.
Definition: HoughResult.h:35