00001
00002
00003
00004
00005
00006
00007 #ifndef __ATLFAST_HepMCEventWriter__
00008 #define __ATLFAST_HepMCEventWriter__
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 #include "AtlfastCode/HepMC_helper.h"
00024
00025
00026 #include "AtlfastCode/TesIO.h"
00027
00028
00029
00030 namespace Atlfast {
00031 class HepMCEventWriter : public virtual Algorithm {
00032
00033 public:
00034
00035
00036
00037
00039 HepMCEventWriter(
00040 const std::string& name,
00041 ISvcLocator* pSvcLocator
00042 );
00044 virtual ~HepMCEventWriter();
00045
00046
00047
00048
00049
00051 virtual StatusCode initialize() ;
00053 virtual StatusCode execute() ;
00055 virtual StatusCode finalize() ;
00056
00057
00058 private:
00059 StatusCode makeGenEvent( HepMC::GenEvent* );
00060 std::string m_outputLocation ;
00061 TesIO* m_tesIO;
00062
00063 };
00064
00065
00066 }
00067
00068 #endif
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080