00001 //------------------------------------------------------------------------ 00002 // Final state of neutron capture 00003 // 00004 // Modified class from original DsG4GdNeutronHPCaptureFS class 00005 //------------------------------------------------------------------------- 00006 // Author: Dan Dwyer, 2009/07/27 00007 //------------------------------------------------------------------------- 00008 00009 #ifndef DsG4NNDCNeutronHPCaptureFS_h 00010 #define DsG4NNDCNeutronHPCaptureFS_h 1 00011 00012 #include "globals.hh" 00013 #include "G4HadProjectile.hh" 00014 #include "G4HadFinalState.hh" 00015 #include "G4NeutronHPFinalState.hh" 00016 #include "G4ReactionProductVector.hh" 00017 #include "G4NeutronHPNames.hh" 00018 #include "G4NeutronHPPhotonDist.hh" 00019 #include "G4Nucleus.hh" 00020 #include "G4Fragment.hh" 00021 00022 // the emission gammas of neutron capture from NNDC tables. 00023 #include "DsG4NNDCCaptureGammas.h" 00024 00026 00027 class DsG4NNDCNeutronHPCaptureFS : public G4NeutronHPFinalState 00028 { 00029 public: 00030 00031 DsG4NNDCNeutronHPCaptureFS(); 00032 00033 ~DsG4NNDCNeutronHPCaptureFS(); 00034 00035 void UpdateNucleus( const G4Fragment* , G4double ); 00036 void Init (G4double A, G4double Z, G4String & dirName, G4String & aFSType); 00037 00038 G4HadFinalState * ApplyYourself(const G4HadProjectile & theTrack); 00039 G4NeutronHPFinalState * New() { 00040 DsG4NNDCNeutronHPCaptureFS * theNew = new DsG4NNDCNeutronHPCaptureFS; 00041 return theNew; 00042 } 00043 G4NeutronHPVector* GetXsec( ){ return &theCrossSection; } 00044 00045 private: 00046 00047 G4Fragment * nucleus; 00048 00049 G4DynamicParticle * theTwo ; 00050 G4ReactionProduct theTarget; 00051 G4Nucleus aNucleus; 00052 G4ReactionProduct theNeutron; 00053 00054 G4double targetMass; 00055 00056 DsG4NNDCCaptureGammas theFinalgammas; 00057 G4NeutronHPVector theCrossSection; 00058 }; 00059 #endif