CMS 3D CMS Logo

TwoTrackMinimumDistance.h
Go to the documentation of this file.
1 #ifndef _TwoTrackMinimumDistance_H_
2 #define _TwoTrackMinimumDistance_H_
3 
10 
21 public:
22  enum Mode { FastMode = 0, SlowMode = 1 };
23 
25  theModus = m;
26  status_ = false;
27  };
29 
30  bool calculate(const TrajectoryStateOnSurface& sta, const TrajectoryStateOnSurface& stb) override;
31 
32  bool calculate(const FreeTrajectoryState& sta, const FreeTrajectoryState& stb) override;
33 
34  virtual bool calculate(const GlobalTrajectoryParameters& sta, const GlobalTrajectoryParameters& stb);
35 
36  bool status() const override { return status_; }
37 
42  std::pair<GlobalPoint, GlobalPoint> points() const override;
43 
45  GlobalPoint crossingPoint() const override;
46 
48  float distance() const override;
49 
53  TwoTrackMinimumDistance* clone() const override { return new TwoTrackMinimumDistance(*this); }
54 
55  double firstAngle() const;
56  double secondAngle() const;
57  std::pair<double, double> pathLength() const;
58 
59 private:
60  enum Charge { hh, hl, ll };
67  bool status_;
68  std::pair<GlobalPoint, GlobalPoint> points_;
69 
73 };
74 
75 #endif
TwoTrackMinimumDistance::points_
std::pair< GlobalPoint, GlobalPoint > points_
Definition: TwoTrackMinimumDistance.h:68
TwoTrackMinimumDistance::secondAngle
double secondAngle() const
Definition: TwoTrackMinimumDistance.cc:37
Visibility.h
TwoTrackMinimumDistanceHelixHelix
Definition: TwoTrackMinimumDistanceHelixHelix.h:18
TwoTrackMinimumDistance::FastMode
Definition: TwoTrackMinimumDistance.h:22
TwoTrackMinimumDistance::crossingPoint
GlobalPoint crossingPoint() const override
Definition: TwoTrackMinimumDistance.cc:187
TwoTrackMinimumDistance::pointsHelixHelix
bool pointsHelixHelix(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
Definition: TwoTrackMinimumDistance.cc:123
TwoTrackMinimumDistanceHelixLine
Definition: TwoTrackMinimumDistanceHelixLine.h:17
TwoTrackMinimumDistance::ll
Definition: TwoTrackMinimumDistance.h:60
TwoTrackMinimumDistance::theTTMDll
TwoTrackMinimumDistanceLineLine theTTMDll
Definition: TwoTrackMinimumDistance.h:65
TwoTrackMinimumDistance::status
bool status() const override
Definition: TwoTrackMinimumDistance.h:36
TwoTrackMinimumDistance
Definition: TwoTrackMinimumDistance.h:20
TwoTrackMinimumDistance::firstAngle
double firstAngle() const
Definition: TwoTrackMinimumDistance.cc:18
TwoTrackMinimumDistance::SlowMode
Definition: TwoTrackMinimumDistance.h:22
TwoTrackMinimumDistance::theModus
Mode theModus
Definition: TwoTrackMinimumDistance.h:61
TwoTrackMinimumDistanceLineLine.h
TwoTrackMinimumDistance::theTTMDhl
TwoTrackMinimumDistanceHelixLine theTTMDhl
Definition: TwoTrackMinimumDistance.h:66
TwoTrackMinimumDistance::pointsHelixLine
bool pointsHelixLine(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
Definition: TwoTrackMinimumDistance.cc:114
TwoTrackMinimumDistance::calculate
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
Definition: TwoTrackMinimumDistance.cc:83
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
TwoTrackMinimumDistance::hl
Definition: TwoTrackMinimumDistance.h:60
ClosestApproachOnHelices
Definition: ClosestApproachOnHelices.h:20
ClosestApproachInRPhi.h
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:78
TwoTrackMinimumDistance::status_
bool status_
Definition: TwoTrackMinimumDistance.h:67
ClosestApproachInRPhi
Definition: ClosestApproachInRPhi.h:26
GlobalTrajectoryParameters
Definition: GlobalTrajectoryParameters.h:15
TwoTrackMinimumDistance::clone
TwoTrackMinimumDistance * clone() const override
Definition: TwoTrackMinimumDistance.h:53
Point3DBase< float, GlobalTag >
TwoTrackMinimumDistance::Charge
Charge
Definition: TwoTrackMinimumDistance.h:60
TwoTrackMinimumDistanceHelixHelix.h
TwoTrackMinimumDistance::points
std::pair< GlobalPoint, GlobalPoint > points() const override
Definition: TwoTrackMinimumDistance.cc:75
dso_internal
#define dso_internal
Definition: Visibility.h:13
TwoTrackMinimumDistance::pathLength
std::pair< double, double > pathLength() const
Definition: TwoTrackMinimumDistance.cc:56
TwoTrackMinimumDistance::pointsLineLine
bool pointsLineLine(const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb)
Definition: TwoTrackMinimumDistance.cc:105
TwoTrackMinimumDistance::TwoTrackMinimumDistance
TwoTrackMinimumDistance(const Mode m=FastMode)
Definition: TwoTrackMinimumDistance.h:24
TwoTrackMinimumDistanceLineLine
Definition: TwoTrackMinimumDistanceLineLine.h:17
TwoTrackMinimumDistance::hh
Definition: TwoTrackMinimumDistance.h:60
TwoTrackMinimumDistance::theTTMDhh
TwoTrackMinimumDistanceHelixHelix theTTMDhh
Definition: TwoTrackMinimumDistance.h:64
TwoTrackMinimumDistance::distance
float distance() const override
Definition: TwoTrackMinimumDistance.cc:189
TwoTrackMinimumDistance::~TwoTrackMinimumDistance
~TwoTrackMinimumDistance() override
Definition: TwoTrackMinimumDistance.h:28
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
TwoTrackMinimumDistance::theIniAlgo
ClosestApproachInRPhi theIniAlgo
Definition: TwoTrackMinimumDistance.h:63
TwoTrackMinimumDistance::Mode
Mode
Definition: TwoTrackMinimumDistance.h:22
TwoTrackMinimumDistanceHelixLine.h
ClosestApproachOnHelices.h
TwoTrackMinimumDistance::theCharge
Charge theCharge
Definition: TwoTrackMinimumDistance.h:62