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

In This Package:

GtBeamerTool.h

Go to the documentation of this file.
00001 
00023 #ifndef GTBEAMERTOOL_H
00024 #define GTBEAMERTOOL_H
00025 
00026 #include "GaudiAlg/GaudiTool.h"
00027 #include "GenTools/IHepMCEventMutator.h"
00028 #include "GaudiKernel/RndmGenerators.h"
00029 #include "CLHEP/Vector/ThreeVector.h"
00030 #include "CLHEP/Vector/LorentzVector.h"
00031 
00032 #include <string>
00033 #include <vector>
00034 
00035 class GtBeamerTool : public GaudiTool,
00036                      virtual public IHepMCEventMutator
00037 {
00038 
00039 public:
00040 
00041     GtBeamerTool(const std::string& type,
00042                  const std::string& name,
00043                  const IInterface* parent);
00044     virtual ~GtBeamerTool();
00045 
00046     virtual StatusCode initialize();
00047     virtual StatusCode finalize();
00048 
00049     virtual StatusCode mutate(HepMC::GenEvent& event);
00050 
00051 
00052 private:
00053 
00055     double m_radius;
00056 
00058     int m_particlesPerEvent;
00059 
00061     double m_momentum;
00062 
00064     std::string m_particleName;
00065 
00068     std::string m_targetElement;
00069     
00072     std::vector<double> m_targetOffset;
00073 
00075     std::vector<double> m_sourceDirection;
00076 
00078     double m_distance;
00079 
00080     // private cache:
00081 
00082     Rndm::Numbers m_uni;
00083     CLHEP::Hep3Vector m_position, m_direction;
00084     int m_pid;
00085     CLHEP::HepLorentzVector m_fourmom;
00086 };
00087 
00088 #endif  // GTBEAMERTOOL_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:55:36 2011 for GenTools by doxygen 1.4.7