#include <TangentApproachInRPhi.h>
Public Member Functions | |
virtual bool | calculate (const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) |
virtual bool | calculate (const FreeTrajectoryState &sta, const FreeTrajectoryState &stb) |
virtual TangentApproachInRPhi * | clone () const |
virtual GlobalPoint | crossingPoint () const |
virtual float | distance () const |
float | perpdist () const |
virtual std::pair< GlobalPoint, GlobalPoint > | points () const |
virtual bool | status () const |
TangentApproachInRPhi () | |
std::pair < GlobalTrajectoryParameters, GlobalTrajectoryParameters > | trajectoryParameters () const |
Public Member Functions inherited from ClosestApproachOnHelices | |
ClosestApproachOnHelices () | |
virtual | ~ClosestApproachOnHelices () |
Private Member Functions | |
bool | calculate (const TrackCharge &chargeA, const GlobalVector &momentumA, const GlobalPoint &positionA, const TrackCharge &chargeB, const GlobalVector &momentumB, const GlobalPoint &positionB, const MagneticField &magField) |
void | circleParameters (const TrackCharge &charge, const GlobalVector &momemtum, const GlobalPoint &position, double &xc, double &yc, double &r, const MagneticField &magField) const |
GlobalTrajectoryParameters | trajectoryParameters (const GlobalPoint &newpt, const GlobalTrajectoryParameters &oldpar) const |
int | transverseCoord (double cxa, double cya, double ra, double cxb, double cyb, double rb, double &xg1, double &yg1, double &xg2, double &yg2) const |
double | zCoord (const GlobalVector &mom, const GlobalPoint &pos, double r, double xc, double yc, double xg, double yg) const |
Private Attributes | |
bool | intersection_ |
GlobalTrajectoryParameters | paramA |
GlobalTrajectoryParameters | paramB |
GlobalPoint | posA |
GlobalPoint | posB |
bool | status_ |
Given two trajectory states, computes the two points of tangent approach in the transverse plane for the helices extrapolated from these states. 1) computes the tangent points of the circles in transverse plane. Two cases: - Whether or not the circles intersect the points used are the points of tangent approach of the two circles. 2) computes the corresponding z-coordinates.
Definition at line 15 of file TangentApproachInRPhi.h.
|
inline |
Definition at line 19 of file TangentApproachInRPhi.h.
References intersection_, and status_.
Referenced by clone().
|
virtual |
Implements ClosestApproachOnHelices.
Definition at line 8 of file TangentApproachInRPhi.cc.
References TrajectoryStateOnSurface::charge(), TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalParameters(), TrajectoryStateOnSurface::globalPosition(), GlobalTrajectoryParameters::magneticField(), and FreeTrajectoryState::parameters().
Referenced by ConversionProducer::preselectTrackPair().
|
virtual |
Implements ClosestApproachOnHelices.
Definition at line 24 of file TangentApproachInRPhi.cc.
References FreeTrajectoryState::charge(), GlobalTrajectoryParameters::magneticField(), FreeTrajectoryState::momentum(), FreeTrajectoryState::parameters(), and FreeTrajectoryState::position().
|
private |
Definition at line 81 of file TangentApproachInRPhi.cc.
|
private |
temporary code, to be replaced by call to curvature() when bug is fixed.
end of temporary code
Definition at line 166 of file TangentApproachInRPhi.cc.
References abs, funct::cos(), MagneticField::inTesla(), phi, PV3DBase< T, PVType, FrameType >::phi(), funct::sin(), PV3DBase< T, PVType, FrameType >::transverse(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
inlinevirtual |
Clone method
Implements ClosestApproachOnHelices.
Definition at line 51 of file TangentApproachInRPhi.h.
References TangentApproachInRPhi().
|
virtual |
arithmetic mean of the two points of closest approach
Implements ClosestApproachOnHelices.
Definition at line 48 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception.
Referenced by ConversionProducer::preselectTrackPair().
|
virtual |
distance between the two points of closest approach in 3D
Implements ClosestApproachOnHelices.
Definition at line 58 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception.
float TangentApproachInRPhi::perpdist | ( | ) | const |
signed distance between two points of closest approach in r-phi plane (-ive if circles intersect)
Definition at line 65 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception, and perp().
Referenced by ConversionProducer::preselectTrackPair().
|
virtual |
Returns the two PCA on the trajectories.
Implements ClosestApproachOnHelices.
Definition at line 39 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception.
|
inlinevirtual |
Implements ClosestApproachOnHelices.
Definition at line 27 of file TangentApproachInRPhi.h.
References status_.
Referenced by ConversionProducer::preselectTrackPair().
pair< GlobalTrajectoryParameters, GlobalTrajectoryParameters > TangentApproachInRPhi::trajectoryParameters | ( | ) | const |
Returns not only the points, but the full GlobalTrajectoryParemeters at the points of closest approach
Definition at line 127 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception, and runTheMatrix::ret.
Referenced by ConversionProducer::preselectTrackPair().
|
private |
Definition at line 137 of file TangentApproachInRPhi.cc.
References GlobalTrajectoryParameters::charge(), GlobalTrajectoryParameters::magneticField(), GlobalTrajectoryParameters::momentum(), GlobalTrajectoryParameters::position(), csvReporter::r, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
private |
|
private |
Definition at line 272 of file TangentApproachInRPhi.cc.
References abs, phi, csvReporter::r, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::transverse(), x, PV3DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
|
private |
Definition at line 100 of file TangentApproachInRPhi.h.
Referenced by TangentApproachInRPhi().
|
private |
Definition at line 99 of file TangentApproachInRPhi.h.
|
private |
Definition at line 99 of file TangentApproachInRPhi.h.
|
private |
Definition at line 98 of file TangentApproachInRPhi.h.
|
private |
Definition at line 98 of file TangentApproachInRPhi.h.
|
private |
Definition at line 97 of file TangentApproachInRPhi.h.
Referenced by status(), and TangentApproachInRPhi().