Warning, file /include/Geant4/G4NuDEXNeutronCaptureModel.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 #ifndef G4NUDEXNEUTRONCAPTUREMODEL_HH
0053 #define G4NUDEXNEUTRONCAPTUREMODEL_HH 1
0054
0055 #include "globals.hh"
0056 #include "G4HadronicInteraction.hh"
0057 #include "G4HadProjectile.hh"
0058 #include "G4Nucleus.hh"
0059
0060 class G4NuDEXStatisticalNucleus;
0061 class G4VEvaporationChannel;
0062
0063
0064 #define G4NUDEX_MAXZA 120000
0065
0066
0067 class G4NuDEXNeutronCaptureModel : public G4HadronicInteraction {
0068 public:
0069 explicit G4NuDEXNeutronCaptureModel();
0070 virtual ~G4NuDEXNeutronCaptureModel();
0071
0072 virtual G4HadFinalState* ApplyYourself( const G4HadProjectile &aTrack, G4Nucleus &targetNucleus ) final;
0073 virtual void InitialiseModel() final;
0074
0075 private:
0076 G4NuDEXNeutronCaptureModel & operator=( const G4NuDEXNeutronCaptureModel &right ) = delete;
0077 G4NuDEXNeutronCaptureModel( const G4NuDEXNeutronCaptureModel& ) = delete;
0078
0079 G4int GenerateNeutronCaptureCascade( G4int theZ, G4int theA, G4double NeutronEnergy, G4int InitialLevel,
0080 std::vector< char >& pType, std::vector< G4double >& pEnergy, std::vector< G4double >& pTime );
0081
0082
0083
0084 G4int SelectInitialLevel( G4int theCompoundZ, G4int theCompoundA, G4double NeutronEnergy, G4int lspin, G4int jspinx2 );
0085 G4int SampleJ( G4int theCompoundZ, G4int theCompoundA, G4int lspin );
0086 G4int GetAllowedJx2values( G4int theCompoundZ, G4int theCompoundA, G4int lspin, G4int* jx2vals );
0087
0088 const G4NuDEXStatisticalNucleus* GetStatisticalNucleus( G4int za ) { return theStatisticalNucleus[za]; }
0089 G4int Init( G4int theZA, unsigned int seed1 = 0, unsigned int seed2 = 0, unsigned int seed3 = 0 );
0090 void SetBandWidth( G4double bandWidth ) { BandWidth = bandWidth; }
0091 void SetBrOption( G4int brOption ) { BrOption = brOption; }
0092
0093 G4NuDEXStatisticalNucleus* theStatisticalNucleus[G4NUDEX_MAXZA];
0094 G4int HasData[G4NUDEX_MAXZA];
0095 G4String NuDEXLibDirectory;
0096 G4int BrOption;
0097 G4double BandWidth;
0098
0099 G4int secID;
0100 G4double lowestEnergyLimit;
0101 G4double minExcitation;
0102 G4VEvaporationChannel* photonEvaporation;
0103 };
0104
0105 #endif