CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/DataFormats/HepMCCandidate/interface/GenParticle.h

Go to the documentation of this file.
00001 #ifndef HepMCCandidate_GenParticle_h
00002 #define HepMCCandidate_GenParticle_h
00003 
00011 #include "DataFormats/Candidate/interface/CompositeRefCandidateT.h"
00012 #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
00013 #include <vector>
00014 
00015 namespace HepMC {
00016   class GenParticle;
00017 }
00018 
00019 namespace reco {
00020 
00021   class GenParticle : public CompositeRefCandidateT<GenParticleRefVector> {
00022   public:
00024     GenParticle() { }
00026     GenParticle(const LeafCandidate & c) : 
00027       CompositeRefCandidateT<GenParticleRefVector>(c) { }
00029     GenParticle(Charge q, const LorentzVector & p4, const Point & vtx, 
00030                 int pdgId, int status, bool integerCharge);
00032     GenParticle(Charge q, const PolarLorentzVector & p4, const Point & vtx, 
00033                 int pdgId, int status, bool integerCharge);
00035     virtual ~GenParticle();
00037     GenParticle * clone() const;
00038     void setCollisionId(int s) {collisionId_ = s;}
00039     int collisionId() const {return collisionId_;}
00040 
00041   private:
00043     bool overlap(const Candidate &) const;
00044     int collisionId_;
00045  };
00046 
00047 }
00048 
00049 #endif