TauolaHepMCEvent.h
00001 #ifndef _TauolaHepMCEvent_h_included_
00002 #define _TauolaHepMCEvent_h_included_
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #include <iostream>
00022 #include "HepMC/GenEvent.h"
00023 #include "HepMC/GenVertex.h"
00024 #include "HepMC/GenParticle.h"
00025 #include "TauolaEvent.h"
00026 #include "TauolaParticle.h"
00027 #include "TauolaHepMCParticle.h"
00028 
00029 namespace Tauolapp
00030 {
00031 
00032 class TauolaHepMCEvent : public TauolaEvent{
00033 
00034  public:
00035 
00036 
00037   TauolaHepMCEvent(HepMC::GenEvent * event);
00038 
00039   ~TauolaHepMCEvent();
00040 
00041 
00042   HepMC::GenEvent * getEvent();
00043 
00044 
00045 
00046 
00047   std::vector<TauolaParticle*> findParticles(int pdgID);
00048 
00049 
00050 
00051 
00052   std::vector<TauolaParticle*> findStableParticles(int pdgID);
00053 
00054 
00055 
00056   void eventEndgame();
00057 
00058  private:
00059 
00060 
00061   HepMC::GenEvent * m_event;
00062 
00063   std::vector<TauolaParticle*> m_tau_list;
00064 
00065   string m_momentum_unit;
00066 
00067   string m_length_unit;
00068 
00069 };
00070 
00071 } 
00072 #endif  
00073