TauolaHepMCEvent.h

00001 #ifndef _TauolaHepMCEvent_h_included_
00002 #define _TauolaHepMCEvent_h_included_
00003 
00004 /**
00005  * @class TauolaHepMCEvent
00006  *
00007  * @brief Interface to HepMC::GenEvent objects
00008  *
00009  * This class implements the virtual methods of
00010  * TauolaEvent. In this way it provides an
00011  * interface between the generic TauolaEvent class
00012  * and a HepMC::GenEvent object.
00013  *
00014  * @author Nadia Davidson
00015  * @date 17 June 2008
00016  *
00017  * This code is licensed under GNU General Public Licence.
00018  * For more informations, see: http://www.gnu.org/licenses/
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   /** Constructor which keeps a pointer to the HepMC::GenEvent*/
00037   TauolaHepMCEvent(HepMC::GenEvent * event);
00038 
00039   ~TauolaHepMCEvent();
00040 
00041   /** Returns the HepMC::GenEvent */
00042   HepMC::GenEvent * getEvent();
00043 
00044   /** Implementation of TauolaEvent virtual method.
00045       This returns a list of particles in the event with 
00046       pdg id = "pdgID". */
00047   std::vector<TauolaParticle*> findParticles(int pdgID);
00048 
00049   /** Implementation of TauolaEven virtual method.
00050       This returns a list of particles in the event with
00051       pdg id = "pdgID" and stable status code. */
00052   std::vector<TauolaParticle*> findStableParticles(int pdgID);
00053 
00054   /** Overriding of TauolaEvent decayEndgame method.
00055       Converts the momentum and length units */
00056   void eventEndgame();
00057 
00058  private:
00059 
00060   /** The event */
00061   HepMC::GenEvent * m_event;
00062   /** List of particles to be decayed */
00063   std::vector<TauolaParticle*> m_tau_list;
00064   /** Momentum unit name */
00065   string m_momentum_unit;
00066   /** Length unit name */
00067   string m_length_unit;
00068 
00069 };
00070 
00071 } // namespace Tauolapp
00072 #endif  
00073 
Generated on Sun Oct 20 20:24:11 2013 for C++InterfacetoTauola by  doxygen 1.6.3