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