00001
00002
00003
00004
00005
00006
00007 #ifndef ATLFAST_HEPMCEVENTWRITER_H
00008 #define ATLFAST_HEPMCEVENTWRITER_H
00009
00010
00011
00012
00013 #include "GaudiKernel/ISvcLocator.h"
00014 #include "GaudiKernel/IAlgorithm.h"
00015 #include "GaudiKernel/Algorithm.h"
00016 #include "GaudiKernel/MsgStream.h"
00017 #include "GaudiKernel/DataObject.h"
00018
00019
00020 #include "CLHEP/Vector/LorentzVector.h"
00021 #include "HepMC/GenEvent.h"
00022 #include "HepMC/GenParticle.h"
00023
00024
00025 #include "AtlfastCode/TesIO.h"
00026
00027
00028
00029 namespace Atlfast {
00030 class HepMCEventWriter : public virtual Algorithm {
00031
00032 public:
00033
00034
00035
00036
00038 HepMCEventWriter(
00039 const std::string& name,
00040 ISvcLocator* pSvcLocator
00041 );
00043 virtual ~HepMCEventWriter();
00044
00045
00046
00047
00048
00050 virtual StatusCode initialize() ;
00052 virtual StatusCode execute() ;
00054 virtual StatusCode finalize() ;
00055
00056
00057 private:
00058 StatusCode makeGenEvent( HepMC::GenEvent* );
00059 std::string m_outputLocation ;
00060 TesIO* m_tesIO;
00061
00062 };
00063
00064
00065 }
00066
00067 #endif
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079