Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer 3 // * License and Disclaimer * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/ 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. 9 // * include a list of copyright holders. * 10 // * 10 // * * 11 // * Neither the authors of this software syst 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitatio 16 // * for the full disclaimer and the limitation of liability. * 17 // * 17 // * * 18 // * This code implementation is the result 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboratio 19 // * technical work of the GEANT4 collaboration. * 20 // * 20 // * * 21 // * Parts of this code which have been devel 21 // * Parts of this code which have been developed by Abdel-Waged * 22 // * et al under contract (31-465) to the King 22 // * et al under contract (31-465) to the King Abdul-Aziz City for * 23 // * Science and Technology (KACST), the Natio 23 // * Science and Technology (KACST), the National Centre of * 24 // * Mathematics and Physics (NCMP), Saudi Ara 24 // * Mathematics and Physics (NCMP), Saudi Arabia. * 25 // * 25 // * * 26 // * By using, copying, modifying or distri 26 // * By using, copying, modifying or distributing the software (or * 27 // * any work based on the software) you ag 27 // * any work based on the software) you agree to acknowledge its * 28 // * use in resulting scientific publicati 28 // * use in resulting scientific publications, and indicate your * 29 // * acceptance of all terms of the Geant4 Sof 29 // * acceptance of all terms of the Geant4 Software license. * 30 // ******************************************* 30 // ******************************************************************** 31 // 31 // 32 /// \file hadronic/Hadr02/include/G4UrQMD1_3Mo 32 /// \file hadronic/Hadr02/include/G4UrQMD1_3Model.hh 33 /// \brief Definition of the G4UrQMD1_3Model c 33 /// \brief Definition of the G4UrQMD1_3Model class 34 // 34 // 35 // << 36 << 37 #ifndef G4UrQMD1_3Model_hh 35 #ifndef G4UrQMD1_3Model_hh 38 #define G4UrQMD1_3Model_hh 36 #define G4UrQMD1_3Model_hh 39 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 37 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 40 // 38 // 41 // MODULE: G4UrQMD1_3Model.hh 39 // MODULE: G4UrQMD1_3Model.hh 42 // 40 // 43 // Version: 0.B 41 // Version: 0.B 44 // Date: 20/10/12 42 // Date: 20/10/12 45 // Author: Kh. Abdel-Waged and Nuha 43 // Author: Kh. Abdel-Waged and Nuha Felemban 46 // Revised by: V.V. Uzhinskii << 44 // Revised by: V.V. Uzhinskii 47 // SPONSERED BY 45 // SPONSERED BY 48 // Customer: KAUST/NCMP 46 // Customer: KAUST/NCMP 49 // Contract: 31-465 47 // Contract: 31-465 50 // 48 // 51 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 49 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 52 // 50 // 53 // Class Description 51 // Class Description 54 // 52 // 55 // 53 // 56 // Class Description - End 54 // Class Description - End 57 // 55 // 58 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 56 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59 ////////////////////////////////////////////// 57 /////////////////////////////////////////////////////////////////////////////// 60 << 61 #include "G4FragmentVector.hh" << 62 #include "G4IntraNucleiCascader.hh" << 63 #include "G4KineticTrackVector.hh" << 64 #include "G4Nucleon.hh" 58 #include "G4Nucleon.hh" 65 #include "G4Nucleus.hh" 59 #include "G4Nucleus.hh" >> 60 #include "G4VIntraNuclearTransportModel.hh" >> 61 #include "G4KineticTrackVector.hh" >> 62 #include "G4FragmentVector.hh" 66 #include "G4ParticleChange.hh" 63 #include "G4ParticleChange.hh" 67 #include "G4ReactionProduct.hh" << 68 #include "G4ReactionProductVector.hh" 64 #include "G4ReactionProductVector.hh" >> 65 #include "G4ReactionProduct.hh" >> 66 #include "G4IntraNucleiCascader.hh" 69 #include "G4Track.hh" 67 #include "G4Track.hh" 70 #include "G4VIntraNuclearTransportModel.hh" << 68 #include <fstream> 71 << 72 #include <fstream> << 73 #include <string> 69 #include <string> >> 70 //-------------------------------- >> 71 //AND-> >> 72 //This should be included in the .cc to >> 73 //avoid multiple definition issues >> 74 //#include "G4UrQMD1_3Interface.hh" >> 75 //AND<- >> 76 >> 77 >> 78 //////////////////////////////////////////////////////////////////////////////// >> 79 >> 80 class G4UrQMD1_3Model : public G4VIntraNuclearTransportModel { >> 81 >> 82 >> 83 >> 84 public: 74 85 75 //....oooOO0OOooo........oooOO0OOooo........oo << 76 class G4UrQMD1_3Model : public G4VIntraNuclear << 77 { << 78 public: << 79 G4UrQMD1_3Model(const G4String& name = "Ur 86 G4UrQMD1_3Model(const G4String& name = "UrQMD1_3"); 80 87 81 virtual ~G4UrQMD1_3Model(); << 88 >> 89 virtual ~G4UrQMD1_3Model (); >> 90 >> 91 // G4double GetMinEnergy( const G4Material *aMaterial, >> 92 // const G4Element *anElement ) const; >> 93 // G4double GetMaxEnergy( const G4Material *aMaterial, >> 94 // const G4Element *anElement ) const; >> 95 >> 96 >> 97 G4ReactionProductVector* Propagate(G4KineticTrackVector* >> 98 theSecondaries, G4V3DNucleus* theTarget); >> 99 >> 100 >> 101 >> 102 virtual G4HadFinalState *ApplyYourself >> 103 (const G4HadProjectile &, G4Nucleus &); 82 104 83 G4ReactionProductVector* Propagate(G4Kinet << 84 G4V3DNu << 85 105 86 virtual G4HadFinalState* ApplyYourself(con << 87 106 >> 107 >> 108 private: >> 109 >> 110 G4int operator==(G4UrQMD1_3Model& right) { >> 111 return (this == &right); >> 112 } >> 113 >> 114 G4int operator!=(G4UrQMD1_3Model& right) { >> 115 return (this != &right); >> 116 } >> 117 >> 118 >> 119 G4int verbose; >> 120 >> 121 void InitialiseDataTables(); >> 122 >> 123 G4int CurrentEvent; >> 124 88 private: 125 private: 89 G4bool operator==(G4UrQMD1_3Model& right); << 90 G4bool operator!=(G4UrQMD1_3Model& right); << 91 126 92 void InitialiseDataTables(); << 93 127 94 void WelcomeMessage() const; << 128 void WelcomeMessage () const; 95 129 96 G4int CurrentEvent; << 130 G4HadFinalState theResult; 97 G4int verbose; << 131 98 132 99 G4HadFinalState theResult; << 100 }; 133 }; 101 134 >> 135 // inline G4double G4UrQMD1_3Model::GetMinEnergy( const G4Material *, >> 136 // const G4Element * ) const >> 137 // {return theMinEnergy;} >> 138 //////////////////////////////////////////////////////////////////////////////// >> 139 // >> 140 // inline G4double G4UrQMD1_3Model::GetMaxEnergy( const G4Material *, >> 141 // const G4Element * ) const >> 142 // {return theMaxEnergy;} >> 143 >> 144 >> 145 >> 146 //////////////////////////////////////////////////////////////////////////////// >> 147 // 102 #endif 148 #endif 103 149