CMS 3D CMS Logo

SimTrack.h

Go to the documentation of this file.
00001 #ifndef SimTrack_H
00002 #define SimTrack_H
00003 
00004 #include "SimDataFormats/Track/interface/CoreSimTrack.h"
00005 
00006 class SimTrack : public CoreSimTrack
00007 {
00008 
00009 public:
00010 
00011   typedef CoreSimTrack Core;
00012 
00014   SimTrack();
00015   SimTrack(int ipart, const math::XYZTLorentzVectorD& p) ;
00016 
00020   SimTrack(int ipart, const math::XYZTLorentzVectorD& p, int iv, int ig);
00021 
00022   SimTrack(int ipart, const math::XYZTLorentzVectorD& p, int iv, int ig, 
00023            const math::XYZVectorD& tkp, const math::XYZTLorentzVectorD& tkm);
00024 
00026   SimTrack(const CoreSimTrack& t, int iv, int ig);
00027 
00029   int vertIndex() const { return ivert;}
00030   bool  noVertex() const { return ivert==-1;}
00031 
00033   int genpartIndex() const { return igenpart;}
00034   bool  noGenpart() const { return igenpart==-1;}
00035 
00036   const math::XYZVectorD& trackerSurfacePosition() const { return tkposition; }
00037 
00038   const math::XYZTLorentzVectorD& trackerSurfaceMomentum() const { return tkmomentum; }
00039   
00040   inline void setTkPosition(const math::XYZVectorD& pos) { tkposition = pos; }
00041 
00042   inline void setTkMomentum(const math::XYZTLorentzVectorD& mom) { tkmomentum = mom; }
00043 
00044 private: 
00045 
00046     int ivert;
00047     int igenpart;
00048 
00049     math::XYZVectorD tkposition ;
00050     math::XYZTLorentzVectorD tkmomentum ;
00051 
00052 };
00053 
00054 #include <iosfwd>
00055 std::ostream & operator <<(std::ostream & o , const SimTrack& t);
00056 
00057 #endif

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