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