Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer << 3 // * DISCLAIMER * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th << 5 // * The following disclaimer summarizes all the specific disclaimers * 6 // * the Geant4 Collaboration. It is provided << 6 // * of contributors to this software. The specific disclaimers,which * 7 // * conditions of the Geant4 Software License << 7 // * govern, are listed with their locations in: * 8 // * LICENSE and available at http://cern.ch/ << 8 // * http://cern.ch/geant4/license * 9 // * include a list of copyright holders. << 10 // * 9 // * * 11 // * Neither the authors of this software syst 10 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 11 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 12 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 13 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file << 14 // * use. * 16 // * for the full disclaimer and the limitatio << 17 // * 15 // * * 18 // * This code implementation is the result << 16 // * This code implementation is the intellectual property of the * 19 // * technical work of the GEANT4 collaboratio << 17 // * GEANT4 collaboration. * 20 // * By using, copying, modifying or distri << 18 // * By copying, distributing or modifying the Program (or any work * 21 // * any work based on the software) you ag << 19 // * based on the Program) you indicate your acceptance of this * 22 // * use in resulting scientific publicati << 20 // * statement, and all its terms. * 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* 21 // ******************************************************************** >> 22 // >> 23 // >> 24 // $Id: G4IonisParamElm.hh,v 1.6 2001/07/11 10:01:25 gunter Exp $ >> 25 // GEANT4 tag $Name: geant4-04-01 $ >> 26 // 25 27 26 // class description 28 // class description 27 // 29 // 28 // The class contains few (physical) quantitie 30 // The class contains few (physical) quantities related to the Ionisation 29 // process, for the Element defined by its ato 31 // process, for the Element defined by its atomic number Z 30 // 32 // >> 33 >> 34 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... >> 35 31 // 09.03.01: copy constructor and assignement 36 // 09.03.01: copy constructor and assignement operator in public (mma) 32 // 09.07.98: data moved from G4Element (mma) << 37 // 09.07.98: data moved from G4Element (mma) >> 38 >> 39 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... 33 40 34 #ifndef G4IonisParamElm_HH 41 #ifndef G4IonisParamElm_HH 35 #define G4IonisParamElm_HH 42 #define G4IonisParamElm_HH 36 43 37 #include "G4ios.hh" 44 #include "G4ios.hh" 38 #include "globals.hh" 45 #include "globals.hh" 39 46 >> 47 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... >> 48 40 class G4IonisParamElm 49 class G4IonisParamElm 41 { 50 { 42 public: // with description << 51 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 52 76 G4double GetFermiVelocity() const { return f << 53 G4IonisParamElm(G4double Z); 77 G4double GetLFactor() const { return fLFacto << 54 virtual ~G4IonisParamElm(); 78 55 79 // shell correction coefficients << 56 // retrieval methods 80 G4double* GetShellCorrectionVector() const { << 57 >> 58 G4double GetZ() const {return fZ;}; // atomic number Z >> 59 G4double GetZ3() const {return fZ3;}; // pow (Z,1/3) >> 60 G4double GetZZ3() const {return fZZ3;}; // pow (Z(Z+1),1/3) >> 61 G4double GetlogZ3() const {return flogZ3;}; // log(Z)/3 >> 62 >> 63 G4double GetTau0() const {return fTau0;}; >> 64 // 0.1*pow(Z,1/3)*MeV/proton_mass_c2 >> 65 >> 66 G4double GetTaul() const {return fTaul;}; // 2*MeV/proton mass >> 67 >> 68 G4double GetAlow() const {return fAlow;}; >> 69 G4double GetBlow() const {return fBlow;}; >> 70 G4double GetClow() const {return fClow;}; >> 71 // parameters for the low energy ion.loss >> 72 >> 73 G4double GetMeanExcitationEnergy() const {return fMeanExcitationEnergy;}; >> 74 // 16*pow(Z,0.9)*eV >> 75 >> 76 G4double* GetShellCorrectionVector() const {return fShellCorrectionVector;}; >> 77 // shell correction coefficients >> 78 >> 79 public: // without description >> 80 >> 81 G4IonisParamElm(G4IonisParamElm&); >> 82 const G4IonisParamElm& operator=(const G4IonisParamElm&); >> 83 G4int operator==(const G4IonisParamElm&) const; >> 84 G4int operator!=(const G4IonisParamElm&) const; >> 85 81 86 82 G4bool operator==(const G4IonisParamElm&) co << 87 private: 83 G4bool operator!=(const G4IonisParamElm&) co << 84 88 85 private: << 86 // 89 // 87 // data members 90 // data members 88 // 91 // 89 G4double fZ; // effective Z << 92 G4double fZ; // effective Z 90 G4double fZ3; // std::pow (Z,1/3) << 93 G4double fZ3; // pow (Z,1/3) 91 G4double fZZ3; // std::pow (Z(Z+1),1/3) << 94 G4double fZZ3; // pow (Z(Z+1),1/3) 92 G4double flogZ3; // std::log(Z)/3 << 95 G4double flogZ3; // log(Z)/3 93 << 96 94 // ------ ionisation loss ----------------- << 97 // ------ ionisation loss --------------------------------- 95 << 98 96 G4double fTau0; // 0.1*std::pow(Z,1/3)*MeV/ << 99 G4double fTau0 ; // 0.1*pow(Z,1/3)*MeV/proton_mass_c2 97 G4double fTaul; // 2*MeV/proton mass << 100 G4double fTaul ; // 2*MeV/proton mass 98 G4double fBetheBlochLow; // Bethe-Bloch at << 101 G4double fBetheBlochLow; // Bethe-Bloch at fTaul*particle mass 99 G4double fAlow, fBlow, fClow; // parameters << 102 G4double fAlow,fBlow,fClow; // parameters for the low energy ion.loss 100 G4double fMeanExcitationEnergy; // << 103 G4double fMeanExcitationEnergy; // 101 G4double* fShellCorrectionVector; // shell << 104 G4double* fShellCorrectionVector; // shell correction coefficients 102 << 103 // parameters for ion corrections computatio << 104 G4double fVFermi; << 105 G4double fLFactor; << 106 }; 105 }; 107 106 108 #endif 107 #endif 109 108