CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/DataFormats/ParticleFlowReco/interface/PFRecTrack.h

Go to the documentation of this file.
00001 #ifndef DataFormats_ParticleFlowReco_PFRecTrack_h
00002 #define DataFormats_ParticleFlowReco_PFRecTrack_h
00003 
00004 #include "DataFormats/ParticleFlowReco/interface/PFTrack.h"
00005 /* #include "DataFormats/Common/interface/RefToBase.h" */
00006 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00007 
00008 #include <iostream>
00009 
00010 namespace reco {
00011 
00022   class PFRecTrack : public PFTrack {
00023 
00024   public:
00025     
00027     enum AlgoType_t {
00028       Unknown = 0,
00029       KF = 1, // Kalman filter 
00030       GSF = 2,
00031       KF_ELCAND=3// Gaussian sum filter
00032     };
00033 
00034     PFRecTrack();
00035     ~PFRecTrack(){};  
00036     PFRecTrack(double charge, 
00037                AlgoType_t algoType, 
00038                int trackId,
00039                const reco::TrackRef& trackref );
00040     
00041     PFRecTrack(double charge,
00042                AlgoType_t algoType);
00043 
00044     /*     PFRecTrack(const PFRecTrack& other); */
00045 
00047     unsigned int algoType() const { return algoType_; }
00048 
00050     int trackId() const {return trackId_;}
00051 
00053     const reco::TrackRef& 
00054       trackRef() const {return trackRef_;}
00055 
00057     void setSTIP(float STIP){STIP_=STIP;}
00058 
00060     const float STIP() const{return STIP_;}
00061 
00062   
00063     friend  std::ostream& operator<<(std::ostream& out, 
00064                                      const PFRecTrack& track);
00065 
00066   private:
00067 
00069     AlgoType_t algoType_;
00070     
00072     int trackId_;
00073 
00075     reco::TrackRef        trackRef_;
00076     float STIP_;
00077 
00078   };
00079 
00080 
00081 }
00082 
00083 #endif