HitList.h
Go to the documentation of this file.
1 /////////////////////////////////////////////////////////////////////////
2 /// \file HitList.h
3 /// \brief A convenient packaging of cell information required for
4 /// simple geometric track finding and fitting
5 /// \version $Id: HitList.h,v 1.4 2011-11-21 19:25:42 edniner Exp $
6 /// \author messier@indiana.edu
7 /////////////////////////////////////////////////////////////////////////
8 #ifndef RB_HITLIST_H
9 #define RB_HITLIST_H
10 #include <vector>
11 
13 
14 namespace rb {
15  class Cluster;
16 
17  /// Hits from the x or y view
18  class Hit2D {
19  public:
21  double xy =0,
22  double z =0,
23  double t =0,
24  double cxy=0,
25  double cz =0,
26  double w =1.0) :
27  fView(v), fXY(xy), fZ(z), fT(t), fCXY(cxy), fCZ(cz), fW(w)
28  { }
29  public:
30  geo::View_t fView; ///< View hit belongs in (x or y)
31  double fXY; ///< x or y coordinate of hit
32  double fZ; ///< z coordinate of hit
33  double fT; ///< time coordinate of hit
34  double fCXY; ///< half width of cell, will be on x or y axis
35  double fCZ; ///< half depth of cell, will be on z axis
36  double fW; ///< Initial weight of hit
37  };
38 
39  /// Just the essential information required for track fitting
40  class HitList : public std::vector<Hit2D> {
41  public:
42  HitList();
43  HitList(unsigned int n);
44  ///
45  /// \brief Construct a hit list from a cluster
46  ///
47  /// \param clust - The cluster of hits
48  /// \param wbyq - Assign weights by charge, else all weights are 1
49  ///
50  HitList(const rb::Cluster& clust, bool wbyq=false);
51  public:
52  void SetHit(unsigned int i,
53  geo::View_t,
54  double xy,
55  double z,
56  double t,
57  double cxy,
58  double cz,
59  double w=1.0);
60  void AddHit(geo::View_t,
61  double xy,
62  double z,
63  double t,
64  double cxy,
65  double cz,
66  double w=1.0);
67  };
68 }
69 
70 #endif
71 ////////////////////////////////////////////////////////////////////////
double fCZ
half depth of cell, will be on z axis
Definition: HitList.h:35
X or Y views.
Definition: PlaneGeo.h:30
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
std::vector< DAQHit > HitList
Definition: HitList.h:15
double fW
Initial weight of hit.
Definition: HitList.h:36
A collection of associated CellHits.
Definition: Cluster.h:47
double fCXY
half width of cell, will be on x or y axis
Definition: HitList.h:34
double fT
time coordinate of hit
Definition: HitList.h:33
Just the essential information required for track fitting.
Definition: HitList.h:40
Perform a "2 point" Hough transform on a collection of hits.
z
Definition: test.py:28
double fXY
x or y coordinate of hit
Definition: HitList.h:31
double fZ
z coordinate of hit
Definition: HitList.h:32
geo::View_t fView
View hit belongs in (x or y)
Definition: HitList.h:30
Hits from the x or y view.
Definition: HitList.h:18
Hit2D(geo::View_t v=geo::kXorY, double xy=0, double z=0, double t=0, double cxy=0, double cz=0, double w=1.0)
Definition: HitList.h:20
Float_t w
Definition: plot.C:20