00001 #ifndef G4DHPrimaryParticleINFORMATION_H 00002 #define G4DHPrimaryParticleINFORMATION_H 00003 00004 #include "G4VUserPrimaryParticleInformation.hh" 00005 00009 00010 namespace HepMC{ 00011 class GenEvent; 00012 class GenVertex; 00013 class GenParticle; 00014 } 00015 00016 class G4DhPrimaryParticleInformation : public G4VUserPrimaryParticleInformation 00017 { 00018 public: 00019 G4DhPrimaryParticleInformation(const HepMC::GenEvent *hepEvent = 0, const HepMC::GenVertex* hepVertex = 0, const HepMC::GenParticle* = 0); 00020 virtual ~G4DhPrimaryParticleInformation() {}; 00021 00022 virtual const HepMC::GenEvent* GetHepEvent() const { return mHepEvent; } 00023 virtual const HepMC::GenVertex* GetHepVertex() const { return mHepVertex; } 00024 virtual const HepMC::GenParticle* GetHepParticle() const { return mHepParticle; } 00025 virtual void Print() const; 00026 00027 private: 00028 const HepMC::GenEvent* mHepEvent; 00029 const HepMC::GenVertex* mHepVertex; 00030 const HepMC::GenParticle* mHepParticle; 00031 }; 00032 00033 #endif /* G4DHPrimaryParticleINFORMATION_H */