All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
KHitWireLine.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 ///
3 /// \file KHitWireLine.h
4 ///
5 /// \brief Kalman filter wire-time measurement on a SurfWireLine surface.
6 ///
7 /// \author H. Greenlee
8 ///
9 /// This class is a type of one-dimensional Kalman filter measurement
10 /// reprsenting a single wire-time hit on a line surface parallel to the
11 /// a readout wire corresponding to a specified hit or drift time.
12 ///
13 /// This class derives from base class KHit<1>, which is the general
14 /// one-dimensional measurement base class. This class has a constructor
15 /// from an art::Ptr<recob::Hit>, which pointer is retained as a data
16 /// product. This class overrides virtual base class method subpredict.
17 ///
18 ///
19 ////////////////////////////////////////////////////////////////////////
20 
21 #ifndef KHITWIRELINE_H
22 #define KHITWIRELINE_H
23 
24 #include "canvas/Persistency/Common/Ptr.h"
27 
28 namespace detinfo {
29  class DetectorPropertiesData;
30 }
31 
32 namespace trkf {
33 
34  class KHitWireLine : public KHit<1> {
35  public:
36  /// Constructor from Hit.
38  const art::Ptr<recob::Hit>& hit,
39  const std::shared_ptr<const Surface>& psurf);
40 
41  /// Constructor from wire id (mainly for testing).
42  KHitWireLine(const geo::WireID& wireid, double x, double xerr);
43 
44  /// Get original hit.
45  const art::Ptr<recob::Hit>&
46  getHit() const
47  {
48  return fHit;
49  }
50 
51  // Prediction method.
52  bool subpredict(const KETrack& tre,
53  KVector<1>::type& pvec,
54  KSymMatrix<1>::type& perr,
55  KHMatrix<1>::type& hmatrix) const override;
56 
57  private:
58  art::Ptr<recob::Hit> fHit;
59  };
60 }
61 
62 #endif
ublas::symmetric_matrix< double, ublas::lower, ublas::row_major, ublas::bounded_array< double, N *(N+1)/2 > > type
process_name opflash particleana ie x
art::Ptr< recob::Hit > fHit
Definition: KHitWireLine.h:58
Declaration of signal hit object.
process_name hit
Definition: cheaterreco.fcl:51
KMatrix< N, 5 >::type type
bool subpredict(const KETrack &tre, KVector< 1 >::type &pvec, KSymMatrix< 1 >::type &perr, KHMatrix< 1 >::type &hmatrix) const override
Kalman filter measurement class template.
ublas::vector< double, ublas::bounded_array< double, N > > type
const art::Ptr< recob::Hit > & getHit() const
Get original hit.
Definition: KHitWireLine.h:46
KHitWireLine(const detinfo::DetectorPropertiesData &detProp, const art::Ptr< recob::Hit > &hit, const std::shared_ptr< const Surface > &psurf)
Constructor from Hit.
auto const detProp