CMS 3D CMS Logo

BasicGhostTrackState.h
Go to the documentation of this file.
1 #ifndef RecoBTag_BasicGhostTrackState_h
2 #define RecoBTag_BasicGhostTrackState_h
3 
4 #include <utility>
5 
9 
14 
17 
18 namespace reco {
19 
20 class GhostTrackPrediction;
21 
23  public:
26 
27  private:
28  friend class ProxyBase<BGTS, CopyUsingClone<BGTS> >;
29  friend class ReferenceCountingPointer<BGTS>;
30  friend class CopyUsingClone<BGTS>;
31 
32  public:
34  typedef std::pair<GlobalPoint, GlobalError> Vertex;
35 
37  ~BasicGhostTrackState() override {}
38 
39  virtual GlobalPoint globalPosition() const = 0;
40  virtual GlobalError cartesianError() const = 0;
41  virtual CovarianceMatrix cartesianCovariance() const = 0;
42 
43  double lambda() const { return lambda_; }
44  virtual bool isValid() const { return true; }
45 
46  virtual void reset() {}
47  virtual bool linearize(const GhostTrackPrediction &pred,
48  bool initial, double lambda)
49  { lambda_ = lambda; return true; }
50  virtual bool linearize(const GhostTrackPrediction &pred,
51  double lambda)
52  { lambda_ = lambda; return true; }
53 
54  virtual Vertex vertexStateOnGhostTrack(
55  const GhostTrackPrediction &pred,
56  bool withMeasurementError) const = 0;
57  virtual Vertex vertexStateOnMeasurement(
58  const GhostTrackPrediction &pred,
59  bool withGhostTrackError) const = 0;
60 
61  double weight() const { return weight_; }
62  void setWeight(double weight) { weight_ = weight; }
63 
64  protected:
65  virtual BasicGhostTrackState *clone() const = 0;
66 
67  double lambda_;
68  double weight_;
69 };
70 
71 }
72 
73 #endif // RecoBTag_BasicGhostTrackState_h
std::pair< GlobalPoint, GlobalError > Vertex
virtual bool isValid() const
Definition: weight.py:1
ErrorD< N >::type type
Definition: Error.h:33
ProxyBase< BGTS, CopyUsingClone< BGTS > > Proxy
virtual bool linearize(const GhostTrackPrediction &pred, double lambda)
virtual Vertex vertexStateOnMeasurement(const GhostTrackPrediction &pred, bool withGhostTrackError) const =0
virtual bool linearize(const GhostTrackPrediction &pred, bool initial, double lambda)
virtual GlobalError cartesianError() const =0
virtual GlobalPoint globalPosition() const =0
virtual BasicGhostTrackState * clone() const =0
math::Error< 3 >::type CovarianceMatrix
virtual Vertex vertexStateOnGhostTrack(const GhostTrackPrediction &pred, bool withMeasurementError) const =0
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:17
fixed size matrix
virtual CovarianceMatrix cartesianCovariance() const =0