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.5 2001/03/12 17:48:47 maire Exp $ >> 9 // GEANT4 tag $Name: geant4-03-01 $ 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 // >> 17 >> 18 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... >> 19 31 // 09.03.01: copy constructor and assignement 20 // 09.03.01: copy constructor and assignement operator in public (mma) 32 // 09.07.98: data moved from G4Element (mma) << 21 // 09.07.98: data moved from G4Element (mma) >> 22 >> 23 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... 33 24 34 #ifndef G4IonisParamElm_HH 25 #ifndef G4IonisParamElm_HH 35 #define G4IonisParamElm_HH 26 #define G4IonisParamElm_HH 36 27 37 #include "G4ios.hh" 28 #include "G4ios.hh" 38 #include "globals.hh" 29 #include "globals.hh" 39 30 >> 31 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... >> 32 40 class G4IonisParamElm 33 class G4IonisParamElm 41 { 34 { 42 public: // with description << 35 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 << 68 // parameters for the low energy ion.loss << 69 G4double GetAlow() const { return fAlow; } << 70 G4double GetBlow() const { return fBlow; } << 71 G4double GetClow() const { return fClow; } << 72 << 73 // ICRU'37 report << 74 G4double GetMeanExcitationEnergy() const { r << 75 36 76 G4double GetFermiVelocity() const { return f << 37 G4IonisParamElm(G4double Z); 77 G4double GetLFactor() const { return fLFacto << 38 virtual ~G4IonisParamElm(); 78 39 79 // shell correction coefficients << 40 // retrieval methods 80 G4double* GetShellCorrectionVector() const { << 41 >> 42 G4double GetZ() const {return fZ;}; // atomic number Z >> 43 G4double GetZ3() const {return fZ3;}; // pow (Z,1/3) >> 44 G4double GetZZ3() const {return fZZ3;}; // pow (Z(Z+1),1/3) >> 45 G4double GetlogZ3() const {return flogZ3;}; // log(Z)/3 >> 46 >> 47 G4double GetTau0() const {return fTau0;}; >> 48 // 0.1*pow(Z,1/3)*MeV/proton_mass_c2 >> 49 >> 50 G4double GetTaul() const {return fTaul;}; // 2*MeV/proton mass >> 51 >> 52 G4double GetAlow() const {return fAlow;}; >> 53 G4double GetBlow() const {return fBlow;}; >> 54 G4double GetClow() const {return fClow;}; >> 55 // parameters for the low energy ion.loss >> 56 >> 57 G4double GetMeanExcitationEnergy() const {return fMeanExcitationEnergy;}; >> 58 // 16*pow(Z,0.9)*eV >> 59 >> 60 G4double* GetShellCorrectionVector() const {return fShellCorrectionVector;}; >> 61 // shell correction coefficients >> 62 >> 63 public: // without description >> 64 >> 65 G4IonisParamElm(G4IonisParamElm&); >> 66 const G4IonisParamElm& operator=(const G4IonisParamElm&); >> 67 G4int operator==(const G4IonisParamElm&) const; >> 68 G4int operator!=(const G4IonisParamElm&) const; >> 69 81 70 82 G4bool operator==(const G4IonisParamElm&) co << 71 private: 83 G4bool operator!=(const G4IonisParamElm&) co << 84 72 85 private: << 86 // 73 // 87 // data members 74 // data members 88 // 75 // 89 G4double fZ; // effective Z << 76 G4double fZ; // effective Z 90 G4double fZ3; // std::pow (Z,1/3) << 77 G4double fZ3; // pow (Z,1/3) 91 G4double fZZ3; // std::pow (Z(Z+1),1/3) << 78 G4double fZZ3; // pow (Z(Z+1),1/3) 92 G4double flogZ3; // std::log(Z)/3 << 79 G4double flogZ3; // log(Z)/3 93 << 80 94 // ------ ionisation loss ----------------- << 81 // ------ ionisation loss --------------------------------- 95 << 82 96 G4double fTau0; // 0.1*std::pow(Z,1/3)*MeV/ << 83 G4double fTau0 ; // 0.1*pow(Z,1/3)*MeV/proton_mass_c2 97 G4double fTaul; // 2*MeV/proton mass << 84 G4double fTaul ; // 2*MeV/proton mass 98 G4double fBetheBlochLow; // Bethe-Bloch at << 85 G4double fBetheBlochLow; // Bethe-Bloch at fTaul*particle mass 99 G4double fAlow, fBlow, fClow; // parameters << 86 G4double fAlow,fBlow,fClow; // parameters for the low energy ion.loss 100 G4double fMeanExcitationEnergy; // << 87 G4double fMeanExcitationEnergy; // 101 G4double* fShellCorrectionVector; // shell << 88 G4double* fShellCorrectionVector; // shell correction coefficients 102 << 103 // parameters for ion corrections computatio << 104 G4double fVFermi; << 105 G4double fLFactor; << 106 }; 89 }; 107 90 108 #endif 91 #endif 109 92