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 G4INCLXXProtonBuilder_h 27 #define G4INCLXXProtonBuilder_h 28 29 #include "globals.hh" 30 31 #include "G4HadronElasticProcess.hh" 32 #include "G4HadronInelasticProcess.hh" 33 #include "G4VProtonBuilder.hh" 34 35 #include "G4INCLXXInterface.hh" 36 #include "G4VPreCompoundModel.hh" 37 38 /** 39 * Builder for proton processes using the INCL 40 * cascade model. 41 * 42 * By default the INCL++ is used for projectil 43 * 44 * The builder uses INCL++ cascade model with 45 * de-excitation. This is implemented in inter 46 * G4INCLXXInterface. 47 * 48 * @see G4INCLXXInterface 49 * @see G4INCLXXNeutronBuilder 50 * @see G4INCLXXPiKBuilder 51 */ 52 class G4INCLXXProtonBuilder : public G4VProton 53 { 54 public: 55 G4INCLXXProtonBuilder(); 56 virtual ~G4INCLXXProtonBuilder() {} 57 58 /** 59 * Build elastic process. 60 * 61 * No elastic process is built. 62 */ 63 virtual void Build(G4HadronElasticProcess 64 65 /** 66 * Build inelastic process. 67 */ 68 virtual void Build(G4HadronInelasticProces 69 70 /** 71 * Set the minimum energy limit for the mode 72 */ 73 virtual void SetMinEnergy(G4double aM) fin 74 75 /** 76 * Set the maximum energy limit for the mode 77 */ 78 virtual void SetMaxEnergy(G4double aM) fin 79 80 using G4VProtonBuilder::Build; //Prevent c 81 82 private: 83 G4INCLXXInterface * theModel; 84 G4VPreCompoundModel * thePreCompoundModel; 85 G4double thePreCompoundMin; 86 G4double thePreCompoundMax; 87 G4double theMin; 88 G4double theMax; 89 90 }; 91 92 #endif 93 94