Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 #ifndef G4INCLXXNeutronBuilder_h 27 #define G4INCLXXNeutronBuilder_h 1 28 29 #include "globals.hh" 30 31 #include "G4HadronElasticProcess.hh" 32 #include "G4NeutronFissionProcess.hh" 33 #include "G4NeutronCaptureProcess.hh" 34 #include "G4VNeutronBuilder.hh" 35 36 #include "G4INCLXXInterface.hh" 37 #include "G4VPreCompoundModel.hh" 38 39 /** 40 * Builder for neutron processes using the INC 41 * cascade model. 42 * 43 * By default the INCL++ model is used for pro 44 * 45 * The builder uses INCL++ cascade model with 46 * de-excitation. This is implemented in inter 47 * G4INCLXXInterface. 48 * 49 * @see G4INCLXXInterface 50 * @see G4INCLXXProtonBuilder 51 * @see G4INCLXXPiKBuilder 52 */ 53 class G4INCLXXNeutronBuilder : public G4VNeutr 54 { 55 public: 56 G4INCLXXNeutronBuilder(); 57 virtual ~G4INCLXXNeutronBuilder() {} 58 59 public: 60 virtual void Build(G4HadronElasticProcess 61 virtual void Build(G4NeutronFissionProcess 62 virtual void Build(G4NeutronCaptureProcess 63 virtual void Build(G4HadronInelasticProces 64 65 virtual void SetMinEnergy(G4double aM) fin 66 virtual void SetMaxEnergy(G4double aM) fin 67 68 void SetMinPreCompoundEnergy(G4double aM) 69 void SetMaxPreCompoundEnergy(G4double aM) 70 71 void UsePreCompound(const G4bool w) { with 72 73 using G4VNeutronBuilder::Build; //Prevent 74 private: 75 G4INCLXXInterface * theModel; 76 G4VPreCompoundModel * thePreCompoundModel; 77 G4bool withPreCompound; 78 G4double thePreCompoundMin; 79 G4double thePreCompoundMax; 80 G4double theMin; 81 G4double theMax; 82 83 }; 84 85 #endif 86 87