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 // Author: Sebastien Incerti 27 // 22 January 2012 28 // on base of G4LivermoreGammaConversi 29 // and G4LivermoreRayleighModel (MT ve 30 // 31 // Modifications: Zhuxin Li@CENBG 32 // 11 March 2020 33 // derives from G4PairProductio 34 // ------------------------------------------- 35 36 #ifndef G4LivermoreGammaConversionModel_h 37 #define G4LivermoreGammaConversionModel_h 1 38 39 #include "G4PairProductionRelModel.hh" 40 #include "G4Log.hh" 41 42 class G4ParticleChangeForGamma; 43 class G4PhysicsFreeVector; 44 class G4PhysicsLogVector; 45 46 class G4LivermoreGammaConversionModel : public 47 { 48 public: 49 50 explicit G4LivermoreGammaConversionModel( 51 const G4ParticleDefinition* p = n 52 const G4String& nam = "LivermoreC 53 ~G4LivermoreGammaConversionModel() override; 54 55 void Initialise(const G4ParticleDefinition*, 56 const G4DataVector&) overrid 57 void InitialiseForElement(const G4ParticleDe 58 G4int Z) ove 59 G4double ComputeCrossSectionPerAtom( 60 const G4Partic 61 G4double 62 G4double 63 G4double 64 G4double 65 G4double 66 G4LivermoreGammaConversionModel & operator= 67 (const G4LivermoreGammaConversionModel &rig 68 G4LivermoreGammaConversionModel(const G4Liv 69 70 private: 71 void ReadData(const G4int ZZ); 72 const G4String& FindDirectoryPath(); 73 74 G4ParticleChangeForGamma* fParticleChange; 75 76 static G4PhysicsFreeVector* data[101]; // 10 77 static G4String gDataDirectory; 78 79 G4double lowEnergyLimit; 80 G4int verboseLevel; 81 G4int maxZ = 100; 82 G4bool useSpline = false; 83 G4bool isInitialised = false; 84 }; 85 86 87 #endif 88