CMS 3D CMS Logo

KinematicState.h

Go to the documentation of this file.
00001 #ifndef KinematicState_H
00002 #define KinematicState_H
00003 
00004 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicParameters.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicParametersError.h"
00006 #include "RecoVertex/KinematicFitPrimitives/interface/ParticleMass.h"
00007 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
00008 #include "MagneticField/Engine/interface/MagneticField.h"
00009 
00018 class KinematicState{
00019 
00020 public:
00021 
00027  KinematicState()
00028  {vl = false;}
00029  
00035  KinematicState(const KinematicParameters& parameters,
00036         const KinematicParametersError& error, const TrackCharge& charge,
00037         const MagneticField* field);
00038                                                        
00039  bool operator==(const KinematicState& other) const;
00040 
00045  ParticleMass mass() const;
00046 
00047  KinematicParameters kinematicParameters() const;
00048 
00049  KinematicParametersError kinematicParametersError() const;
00050  
00051  GlobalVector globalMomentum() const;
00052  
00053  GlobalPoint globalPosition() const;
00054  
00055  TrackCharge particleCharge() const;
00056 
00061  FreeTrajectoryState freeTrajectoryState() const;
00062  
00063  bool isValid() const
00064  {return vl;}
00065 
00066   const MagneticField* magneticField() const {return theField;}
00067 
00068  
00069 private:
00070 
00071   const MagneticField* theField;
00072   KinematicParameters param;
00073   KinematicParametersError err;
00074   TrackCharge ch;
00075  
00076   bool vl;
00077 };
00078 #endif

Generated on Tue Jun 9 17:46:10 2009 for CMSSW by  doxygen 1.5.4