CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/DataFormats/ParticleFlowReco/interface/PFBlockElementBrem.h

Go to the documentation of this file.
00001 #ifndef __PFBlockElementBrem__
00002 #define __PFBlockElementBrem__
00003 
00004 #include <iostream>
00005 
00006 #include "DataFormats/ParticleFlowReco/interface/PFBlockElementTrack.h"
00007 #include "DataFormats/ParticleFlowReco/interface/GsfPFRecTrackFwd.h"
00008 #include "DataFormats/ParticleFlowReco/interface/GsfPFRecTrack.h"
00009 #include "DataFormats/ParticleFlowReco/interface/PFBrem.h"
00010 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00011 
00012 namespace reco {
00013   
00017   class PFBlockElementBrem : public PFBlockElement {
00018   public:
00019 
00020     PFBlockElementBrem() {} 
00021 
00022     PFBlockElementBrem(const GsfPFRecTrackRef& gsfref, const double DeltaP, const double SigmaDeltaP, const unsigned int indTrajPoint);
00023 
00024       
00025     PFBlockElement* clone() const { return new PFBlockElementBrem(*this); }
00026     void Dump(std::ostream& out = std::cout, 
00027               const char* tab = " " ) const;
00028     
00029 
00030     GsfPFRecTrackRef GsftrackRefPF() const {
00031       return GsftrackRefPF_;
00032     }
00033     
00035     reco::GsfTrackRef GsftrackRef() const {
00036       return GsftrackRef_;
00037     }
00038     
00039     const PFRecTrack & trackPF() const    
00040       { return ((*GsftrackRefPF()).PFRecBrem()[(indPoint_-2)]);}     
00041     
00042 
00043     double DeltaP() const {return deltaP_;}
00044     double SigmaDeltaP() const {return sigmadeltaP_;}
00045     unsigned int indTrajPoint() const {return indPoint_;}
00046 
00048     const math::XYZPointF& positionAtECALEntrance() const {
00049       return positionAtECALEntrance_;
00050     }
00051       
00052 
00053   private:
00054     
00056     GsfPFRecTrackRef  GsftrackRefPF_;
00057    
00059     reco::GsfTrackRef GsftrackRef_;
00060      
00061     double deltaP_;
00062     double sigmadeltaP_;
00063     unsigned int indPoint_;
00064     math::XYZPointF        positionAtECALEntrance_;
00065  
00066   };
00067 }
00068 
00069 #endif
00070