00001 //------------------------------------------------------------------ 00002 // 00003 // ClassName: AthenaHepMCtoG4EventAction 00004 // 00005 // Description: PrimaryGeneratorAction to convert HepMC event to G4Event 00006 // 00007 // Author: Charles Leggett 00008 // 00009 // Date: 3-8-2001 00010 // 00011 // $Id: AthenaHepMCtoG4EventAction.h,v 1.1 2005/08/17 06:45:46 dengzy Exp $ 00012 // Simulation/G4Sim/G4Svc tag $Name: G4Svc-00-01-52 $ 00013 // 00014 //------------------------------------------------------------------ 00015 00016 #ifndef AthenaHepMCtoG4EventAction_h 00017 #define AthenaHepMCtoG4EventAction_h 00018 00019 #include "G4VUserPrimaryGeneratorAction.hh" 00020 00021 #include "GeneratorObject/McEvent.h" 00022 00023 class G4Event; 00024 namespace HepMC { 00025 class GenEvent; 00026 } 00027 00028 class AthenaHepMCtoG4EventAction : public G4VUserPrimaryGeneratorAction 00029 { 00030 public: 00031 AthenaHepMCtoG4EventAction(); 00032 AthenaHepMCtoG4EventAction(int); 00033 ~AthenaHepMCtoG4EventAction(); 00034 00035 public: 00036 void GeneratePrimaries(G4Event* anEvent); 00037 // void SetHepMCEvent(const HepMC::GenEvent *p); 00038 void SetHepMCEvent(McEventCol::iterator); 00039 00040 private: 00041 const HepMC::GenEvent *p_evt; 00042 McEventCol::iterator p_evtCollItr; 00043 int m_logLevel; 00044 }; 00045 00046 #endif 00047 00048