LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
SlTrackRep.h
Go to the documentation of this file.
1 #ifndef SLTRACKREP_HH
2 #define SLTRACKREP_HH
4 
5 namespace genf {
6 
7  class SlTrackRep : public GFAbsTrackRep {
8  public:
9  // Constructors/Destructors ---------
10  SlTrackRep();
11  SlTrackRep(const TMatrixT<double>&, const TMatrixT<double>&);
12  SlTrackRep(const TMatrixT<double>&, const TMatrixT<double>&, const double);
13  SlTrackRep(const GFDetPlane&, const TMatrixT<double>&, const TMatrixT<double>&);
14  SlTrackRep(const TVector3& pos, const TVector3& dir);
15 
16  virtual ~SlTrackRep();
17 
18  virtual GFAbsTrackRep* clone() const { return new SlTrackRep(*this); }
19  virtual GFAbsTrackRep* prototype() const { return new SlTrackRep(); }
20 
21  void setReferencePlane(const GFDetPlane& pl) { fRefPlane = pl; }
22 
23  // Operations ----------------------
24 
25  virtual double extrapolate(const GFDetPlane&,
26  TMatrixT<double>& statePred,
27  TMatrixT<double>& covPred);
28  virtual double extrapolate(const GFDetPlane&, TMatrixT<double>& statePred);
29 
30  void extrapolateToPoint(const TVector3& pos, TVector3& poca, TVector3& dirInPoca);
31 
32  void extrapolateToLine(const TVector3& point1,
33  const TVector3& point2,
34  TVector3& poca,
35  TVector3& dirInPoca,
36  TVector3& poca_onwire);
37 
38  virtual TVector3 getPos(const GFDetPlane&);
39  virtual TVector3 getMom(const GFDetPlane&);
40 
41  virtual void getPosMom(const GFDetPlane&, TVector3& pos, TVector3& mom);
42  virtual double getCharge() const { return 0; }
43 
44  void switchDirection() { _backw = -_backw; }
45 
46  private:
47  // Private Data Members ------------
48  int _backw; // (-1,0,1) -> (backward prop,decide myself,forward)
49 
50  // public:
51  //ClassDef(SlTrackRep,1);
52  };
53 } // namespace genf
54 
55 #endif
virtual void getPosMom(const GFDetPlane &, TVector3 &pos, TVector3 &mom)
Definition: SlTrackRep.cxx:390
Generic Interface to magnetic fields in GENFIT.
Definition: GFAbsBField.h:34
virtual GFAbsTrackRep * prototype() const
Definition: SlTrackRep.h:19
void extrapolateToPoint(const TVector3 &pos, TVector3 &poca, TVector3 &dirInPoca)
This method is to extrapolate the track to point of closest approach to a point in space...
Definition: SlTrackRep.cxx:331
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:81
virtual double extrapolate(const GFDetPlane &, TMatrixT< double > &statePred, TMatrixT< double > &covPred)
Definition: SlTrackRep.cxx:94
void setReferencePlane(const GFDetPlane &pl)
Definition: SlTrackRep.h:21
virtual double getCharge() const
Definition: SlTrackRep.h:42
TDirectory * dir
Definition: macro.C:5
void extrapolateToLine(const TVector3 &point1, const TVector3 &point2, TVector3 &poca, TVector3 &dirInPoca, TVector3 &poca_onwire)
This method extrapolates to the point of closest approach to a line.
Definition: SlTrackRep.cxx:348
virtual GFAbsTrackRep * clone() const
Definition: SlTrackRep.h:18
virtual ~SlTrackRep()
Definition: SlTrackRep.cxx:55
void switchDirection()
Definition: SlTrackRep.h:44