TauolaEvent.h

00001 #ifndef _TauolaEvent_h_included_
00002 #define _TauolaEvent_h_included_
00003 
00004 #include <stdio.h>
00005 #include <stdlib.h>
00006 #include <iostream>
00007 #include "TauolaParticlePair.h"
00008 
00009 /**
00010  * @class TauolaEvent
00011  *
00012  * @brief Abstract base class for containing the event information.
00013  *
00014  * TauolaEvent contains virtual methods, which need to be implemented
00015  * by the appropriate interface class to the event record. Currently only
00016  * TauolaHepMCEvent does this. An object of TauolaEvent type should be
00017  * created by the user and can be decayed via the decayTaus() method.
00018  *
00019  * This class is responsible for finding taus, (or tau and 
00020  * it's neutrino) and creating TauolaParticlePairs out of them.
00021  *
00022  * @author Nadia Davidson
00023  * @date 16 June 2008
00024  */
00025 
00026 namespace Tauolapp
00027 {
00028 
00029 class TauolaEvent{
00030 
00031  public:
00032   virtual ~TauolaEvent(){};
00033 
00034    /** create TauolaParticlePairs */
00035    std::vector<TauolaParticle*> findPairs();
00036 
00037   /** Decay taus in this event.*/
00038    void decayTaus();
00039 
00040    /** Undecay taus in this event but removing their daughters and
00041     returning the status cods to 1.*/
00042    void undecayTaus();
00043 
00044    /** Final touches to event record after all decays are finished.
00045        Some event records (e.g. HepMC) need it. */
00046    virtual void eventEndgame() {}
00047 
00048    /** return a list of all particle with pdg_id = absolute value of pdg_id.
00049        This method must be implemented by a derived class. eg. 
00050        TauolaHepMCEvent */
00051    virtual std::vector<TauolaParticle*> findParticles(int pdg_id)=0;
00052 
00053    /** return a list of all particle with pdg_id = absolute value of pdg_id
00054        and stable status code. This method must be implemented by a derived class. 
00055        eg. TauolaHepMCEvent */
00056    virtual std::vector<TauolaParticle*> findStableParticles(int pdg_id)=0;
00057 
00058 
00059  private:    
00060 
00061 };
00062 
00063 } // namespace Tauolapp
00064 #endif  
00065 
Generated on Sun Oct 20 20:24:11 2013 for C++InterfacetoTauola by  doxygen 1.6.3