Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. 1 // 3 // 2 // ******************************************* << 4 // By copying, distributing or modifying the Program (or any work 3 // * License and Disclaimer << 5 // based on the Program) you indicate your acceptance of this statement, 4 // * << 6 // and all its terms. 5 // * The Geant4 software is copyright of th << 7 // 6 // * the Geant4 Collaboration. It is provided << 8 // $Id: G4IonisParamElm.hh,v 1.2.8.1 1999/12/07 20:49:16 gunter Exp $ 7 // * conditions of the Geant4 Software License << 9 // GEANT4 tag $Name: geant4-01-01 $ 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 // class description << 27 // 10 // 28 // The class contains few (physical) quantitie << 29 // process, for the Element defined by its ato << 30 // 11 // 31 // 09.03.01: copy constructor and assignement << 12 // ------------------- class G4IonisParamElm ------------------- 32 // 09.07.98: data moved from G4Element (mma) << 13 // >> 14 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... >> 15 >> 16 // 09-07-98, data moved from G4Element. M.Maire >> 17 >> 18 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... 33 19 34 #ifndef G4IonisParamElm_HH 20 #ifndef G4IonisParamElm_HH 35 #define G4IonisParamElm_HH 21 #define G4IonisParamElm_HH 36 22 37 #include "G4ios.hh" 23 #include "G4ios.hh" 38 #include "globals.hh" 24 #include "globals.hh" 39 25 >> 26 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... >> 27 40 class G4IonisParamElm 28 class G4IonisParamElm 41 { 29 { 42 public: // with description << 30 public: 43 G4IonisParamElm(G4double Z); << 44 ~G4IonisParamElm(); << 45 G4IonisParamElm& operator=(const G4IonisPara << 46 G4IonisParamElm(G4IonisParamElm&) = delete; << 47 << 48 // retrieval methods << 49 << 50 // atomic number Z << 51 G4double GetZ() const { return fZ; } << 52 << 53 // std::pow (Z,1/3) << 54 G4double GetZ3() const { return fZ3; } << 55 << 56 // std::pow (Z(Z+1),1/3) << 57 G4double GetZZ3() const { return fZZ3; } << 58 << 59 // std::log(Z)/3 << 60 G4double GetlogZ3() const { return flogZ3; } << 61 << 62 // 0.1*std::pow(Z,1/3)*MeV/proton_mass_c2 << 63 G4double GetTau0() const { return fTau0; }; << 64 << 65 // 2*MeV/proton mass << 66 G4double GetTaul() const { return fTaul; } << 67 31 68 // parameters for the low energy ion.loss << 32 G4IonisParamElm(G4double Z); 69 G4double GetAlow() const { return fAlow; } << 33 ~G4IonisParamElm(); 70 G4double GetBlow() const { return fBlow; } << 71 G4double GetClow() const { return fClow; } << 72 34 73 // ICRU'37 report << 35 // retrieval methods 74 G4double GetMeanExcitationEnergy() const { r << 36 >> 37 G4double GetZ() const {return fZ;}; >> 38 G4double GetZ3() const {return fZ3;}; >> 39 G4double GetZZ3() const {return fZZ3;}; >> 40 G4double GetlogZ3() const {return flogZ3;}; >> 41 >> 42 G4double GetTau0() const {return fTau0;}; >> 43 G4double GetTaul() const {return fTaul;}; >> 44 G4double GetAlow() const {return fAlow;}; >> 45 G4double GetBlow() const {return fBlow;}; >> 46 G4double GetClow() const {return fClow;}; >> 47 G4double GetMeanExcitationEnergy() const {return fMeanExcitationEnergy;}; >> 48 G4double* GetShellCorrectionVector() const {return fShellCorrectionVector;}; >> 49 >> 50 G4int operator==(const G4IonisParamElm&) const; >> 51 G4int operator!=(const G4IonisParamElm&) const; >> 52 >> 53 private: 75 54 76 G4double GetFermiVelocity() const { return f << 55 G4IonisParamElm(G4IonisParamElm&); 77 G4double GetLFactor() const { return fLFacto << 56 const G4IonisParamElm& operator=(const G4IonisParamElm&); 78 57 79 // shell correction coefficients << 80 G4double* GetShellCorrectionVector() const { << 81 58 82 G4bool operator==(const G4IonisParamElm&) co << 59 private: 83 G4bool operator!=(const G4IonisParamElm&) co << 84 60 85 private: << 86 // 61 // 87 // data members 62 // data members 88 // 63 // 89 G4double fZ; // effective Z << 64 G4double fZ; // effective Z 90 G4double fZ3; // std::pow (Z,1/3) << 65 G4double fZ3; // pow (Z,1/3) 91 G4double fZZ3; // std::pow (Z(Z+1),1/3) << 66 G4double fZZ3; // pow (Z(Z+1),1/3) 92 G4double flogZ3; // std::log(Z)/3 << 67 G4double flogZ3; // log(Z)/3 93 << 68 94 // ------ ionisation loss ----------------- << 69 // ------ ionisation loss --------------------------------- 95 << 70 96 G4double fTau0; // 0.1*std::pow(Z,1/3)*MeV/ << 71 G4double fTau0 ; // 0.1*pow(Z,1/3)*MeV/proton_mass_c2 97 G4double fTaul; // 2*MeV/proton mass << 72 G4double fTaul ; // 2*MeV/proton mass 98 G4double fBetheBlochLow; // Bethe-Bloch at << 73 G4double fBetheBlochLow; // Bethe-Bloch at fTaul*particle mass 99 G4double fAlow, fBlow, fClow; // parameters << 74 G4double fAlow,fBlow,fClow; // parameters for the low energy ion.loss 100 G4double fMeanExcitationEnergy; // << 75 G4double fMeanExcitationEnergy; // 16*pow(Z,0.9)*eV 101 G4double* fShellCorrectionVector; // shell << 76 G4double* fShellCorrectionVector; // shell correction coefficients 102 << 103 // parameters for ion corrections computatio << 104 G4double fVFermi; << 105 G4double fLFactor; << 106 }; 77 }; 107 78 108 #endif 79 #endif 109 80