00001 // 00002 // ******************************************************************** 00003 // * DISCLAIMER * 00004 // * * 00005 // * Neither the authors of this software system, nor their employing * 00006 // * institutes,nor the agencies providing financial support for this * 00007 // * work make any representation or warranty, express or implied, * 00008 // * regarding this software system or assume any liability for its * 00009 // * use. * 00010 // * * 00011 // ******************************************************************** 00012 // 00013 // Implementation of the Decay0 primary generator as MJ-generator 00014 // 00015 // History: 00016 // -------- 00017 // 25 Oct 2004 L.Pandola First implementation 00018 00019 #ifndef _MJGENERATORDECAY0_HH 00020 #define _MJGENERATORDECAY0_HH 00021 00022 00023 //---------------------------------------------------------------------------// 00024 00025 #include "G4VPrimaryGenerator.hh" 00026 #include "G4VUserPrimaryGeneratorAction.hh" 00027 #include "G4VPhysicalVolume.hh" 00028 #include "G4PhysicalVolumeStore.hh" 00029 #include "G4Navigator.hh" 00030 00031 #include "generators/MaGeDecay0Interface.hh" 00032 #include "generators/MJVGenerator.hh" 00033 00034 class G4Event; 00035 00036 //---------------------------------------------------------------------------// 00037 00038 class MaGeGeneratorDecay0 : public MJVGenerator 00039 { 00040 public: 00041 00042 //default constructor 00043 MaGeGeneratorDecay0(); 00044 00045 //copy constructor 00046 MaGeGeneratorDecay0(const MaGeGeneratorDecay0 &); 00047 00048 //destructor 00049 ~MaGeGeneratorDecay0(); 00050 00051 //public interface 00052 void GeneratePrimaryVertex(G4Event *anevent); 00053 00054 void SetParticlePosition(G4ThreeVector vec) {fParticleGun->SetParticlePosition(vec);} 00055 00056 //protected members 00057 protected: 00058 00059 00060 //private members 00061 private: 00062 G4VPrimaryGenerator *fParticleGun; 00063 }; 00064 #endif