| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

GtInverseBeta.h

Go to the documentation of this file.
00001 
00008 #ifndef GTINVERSEBETA_H
00009 #define GTINVERSEBETA_H
00010 
00011 
00012 #include "GenTools/IHepMCEventMutator.h"
00013 #include "GaudiAlg/GaudiTool.h"
00014 #include "HepMC/GenParticle.h"
00015 #include <CLHEP/Vector/ThreeVector.h>
00016 #include "TF2.h"
00017 
00018 #include <string>
00019 using namespace CLHEP;
00020 
00021 class GtInverseBeta : public GaudiTool,
00022   virtual public IHepMCEventMutator
00023 {
00024  public:
00025   
00026   GtInverseBeta(const std::string& type,
00027                 const std::string& name,
00028                 const IInterface* parent);
00029   virtual ~GtInverseBeta();
00030   
00031   virtual StatusCode initialize();
00032   virtual StatusCode finalize();
00033   
00034   // HepMCEventMutator interface
00035   virtual StatusCode mutate(HepMC::GenEvent& event);
00036   
00037   void GenerateInverseBetaPrimaries(TF2*, const double,
00038                                     Hep3Vector&, Hep3Vector&, Hep3Vector&);
00039   
00040  private:
00041   TF2 *funcInvBetaProb;
00042 
00043   double m_neutrino_angle_in_deg;
00044   bool m_positron_only;
00045   bool m_neutron_only;
00046   
00047   HepMC::GenParticle* make_particle(Hep3Vector&, double, int);
00048   
00049 };
00050 
00051 
00052 #endif  // GTINVERSEBETA_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 21:05:44 2011 for InvBetaDecay by doxygen 1.4.7