Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:30

0001 #ifndef TrackingTools_GsfTools_MultiTrajectoryStateMode_h
0002 #define TrackingTools_GsfTools_MultiTrajectoryStateMode_h
0003 
0004 /** Extract mode information from a TrajectoryStateOnSurface. */
0005 
0006 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0007 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0008 
0009 class TrajectoryStateOnSurface;
0010 
0011 namespace multiTrajectoryStateMode {
0012   /** Cartesian momentum from 1D mode calculation in cartesian co-ordinates.
0013    *  Return value true for success. */
0014   bool momentumFromModeCartesian(TrajectoryStateOnSurface const& tsos, GlobalVector& momentum);
0015   /** Cartesian position from 1D mode calculation in cartesian co-ordinates.
0016    *  Return value true for success. */
0017   bool positionFromModeCartesian(TrajectoryStateOnSurface const& tsos, GlobalPoint& position);
0018   /** Cartesian momentum from 1D mode calculation in local co-ordinates (q/p, dx/dz, dy/dz).
0019    *  Return value true for success. */
0020   bool momentumFromModeLocal(TrajectoryStateOnSurface const& tsos, GlobalVector& momentum);
0021   /** Cartesian position from 1D mode calculation in local co-ordinates (x, y).
0022    *  Return value true for success. */
0023   bool positionFromModeLocal(TrajectoryStateOnSurface const& tsos, GlobalPoint& position);
0024   /** Momentum from 1D mode calculation in q/p. Return value true for sucess. */
0025   bool momentumFromModeQP(TrajectoryStateOnSurface const& tsos, double& momentum);
0026   /** Momentum from 1D mode calculation in p. Return value true for sucess. */
0027   bool momentumFromModeP(TrajectoryStateOnSurface const& tsos, double& momentum);
0028   /** Cartesian momentum from 1D mode calculation in p, phi, eta.
0029    *  Return value true for success. */
0030   bool momentumFromModePPhiEta(TrajectoryStateOnSurface const& tsos, GlobalVector& momentum);
0031   /** Charge from 1D mode calculation in q/p. Q=0 in case of failure. */
0032   int chargeFromMode(TrajectoryStateOnSurface const& tsos);
0033 };  // namespace multiTrajectoryStateMode
0034 
0035 #endif