CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/TrackingTools/TrajectoryState/src/TrajectoryStateOnSurface.cc

Go to the documentation of this file.
00001 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00002 #include "TrackingTools/TrajectoryState/interface/BasicSingleTrajectoryState.h"
00003 
00004 typedef BasicSingleTrajectoryState              BTSOS;
00005 
00006 TrajectoryStateOnSurface::
00007 TrajectoryStateOnSurface(const Surface& aSurface) :
00008   Base( new BTSOS(aSurface)) {}
00009 
00010 TrajectoryStateOnSurface::
00011 TrajectoryStateOnSurface(const FreeTrajectoryState& fts,
00012                          const Surface& aSurface, const SurfaceSide side) :
00013   Base( new BTSOS( fts, aSurface, side)) {}
00014 
00015 
00016 TrajectoryStateOnSurface::
00017 TrajectoryStateOnSurface(const GlobalTrajectoryParameters& gp,
00018                          const Surface& aSurface, const SurfaceSide side) :
00019   Base( new BTSOS( gp, aSurface, side)) {}
00020 
00021 TrajectoryStateOnSurface::
00022 TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp,
00023                           const CartesianTrajectoryError& err,
00024                           const Surface& aSurface, const SurfaceSide side) :
00025   Base( new BTSOS( gp, err, aSurface, side)) {}
00026 
00027 TrajectoryStateOnSurface::
00028 TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp,
00029                           const CurvilinearTrajectoryError& err,
00030                           const Surface& aSurface, const SurfaceSide side, double weight) :
00031   Base( new BTSOS( gp, err, aSurface, side, weight)) {}
00032 
00033 TrajectoryStateOnSurface::
00034 TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp,
00035                           const CurvilinearTrajectoryError& err,
00036                           const Surface& aSurface, double weight) :
00037   Base( new BTSOS( gp, err, aSurface, SurfaceSideDefinition::atCenterOfSurface, weight)) {}
00038 
00039 TrajectoryStateOnSurface::
00040 TrajectoryStateOnSurface( const LocalTrajectoryParameters& p,
00041                           const Surface& aSurface, 
00042                           const MagneticField* field, 
00043                           const SurfaceSide side) :
00044   Base( new BTSOS( p, aSurface, field, side)) {}
00045 
00046 TrajectoryStateOnSurface::
00047 TrajectoryStateOnSurface( const LocalTrajectoryParameters& p,
00048                           const LocalTrajectoryError& err,
00049                           const Surface& aSurface, 
00050                           const MagneticField* field, 
00051                           const SurfaceSide side, double weight) :
00052   Base( new BTSOS( p, err, aSurface, field, side, weight)) {}
00053 
00054 TrajectoryStateOnSurface::
00055 TrajectoryStateOnSurface( const LocalTrajectoryParameters& p,
00056                           const LocalTrajectoryError& err,
00057                           const Surface& aSurface, 
00058                           const MagneticField* field, 
00059                           double weight) :
00060   Base( new BTSOS( p, err, aSurface, field, SurfaceSideDefinition::atCenterOfSurface, weight)) {}
00061 
00062 
00063 void
00064 TrajectoryStateOnSurface::
00065 update( const LocalTrajectoryParameters& p,
00066         const Surface& aSurface,
00067         const MagneticField* field,
00068         const SurfaceSide side) 
00069 {
00070     if (data().canUpdateLocalParameters()) {
00071         unsharedData().update(p, aSurface, field, side);
00072     } else {
00073         *this = TrajectoryStateOnSurface(p, aSurface, field, side);
00074     }
00075 }
00076 
00077 void
00078 TrajectoryStateOnSurface::
00079 update( const LocalTrajectoryParameters& p,
00080         const LocalTrajectoryError& err,
00081         const Surface& aSurface,
00082         const MagneticField* field,
00083         const SurfaceSide side, 
00084         double weight) 
00085 {
00086    if (data().canUpdateLocalParameters()) {
00087         unsharedData().update(p, err, aSurface, field, side, weight);
00088     } else {
00089         *this = TrajectoryStateOnSurface(p, err, aSurface, field, side, weight);
00090     }
00091 }