- Timestamp:
- Apr 6, 2009, 12:21:12 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/standard/include/G4ionIonisation.hh
r819 r961 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4ionIonisation.hh,v 1.5 0 2007/11/09 11:45:45vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-0 1-patch-02 $26 // $Id: G4ionIonisation.hh,v 1.57 2009/02/20 12:06:37 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 57 57 // 22-07-06 Remove obsolete method (V.Ivantchenko) 58 58 // 07-11-07 Moved CorrectionsAlongStep to cc (V.Ivantchenko) 59 // 12-09-08 Removed InitialiseMassCharge and CorrectionsAlongStep (VI) 59 60 // 60 61 // Class Description: … … 72 73 73 74 #include "G4VEnergyLossProcess.hh" 74 #include "G4ionEffectiveCharge.hh"75 #include "G4VEmModel.hh"76 #include "G4EmCorrections.hh"77 75 78 76 class G4Material; 79 class G4PhysicsVector; 80 class G4BraggIonModel; 77 class G4EmCorrections; 81 78 82 79 class G4ionIonisation : public G4VEnergyLossProcess … … 88 85 virtual ~G4ionIonisation(); 89 86 90 inlineG4bool IsApplicable(const G4ParticleDefinition& p);87 virtual G4bool IsApplicable(const G4ParticleDefinition& p); 91 88 92 89 // Print out of the class parameters … … 94 91 95 92 void AddStoppingData(G4int Z, G4int A, const G4String& materialName, 96 G4PhysicsVector &dVector);93 G4PhysicsVector* dVector); 97 94 98 95 void ActivateStoppingData(G4bool); … … 105 102 const G4ParticleDefinition*); 106 103 107 virtual void CorrectionsAlongStep(const G4MaterialCutsCouple*, 108 const G4DynamicParticle*, 109 G4double& eloss, 110 G4double& length); 111 112 inline void InitialiseMassCharge(const G4Track&); 113 114 inline G4double MinPrimaryEnergy(const G4ParticleDefinition* p, 104 virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, 115 105 const G4Material*, G4double cut); 116 106 … … 118 108 119 109 inline G4bool NuclearStoppingFlag(); 120 121 // protected pointers122 G4ionEffectiveCharge* effCharge;123 G4EmCorrections* corr;124 110 125 111 private: … … 129 115 G4ionIonisation(const G4ionIonisation&); 130 116 131 // cash 132 const G4Material* curMaterial; 133 const G4ParticleDefinition* curParticle; 117 G4EmCorrections* corr; 118 134 119 const G4ParticleDefinition* theParticle; 135 const G4ParticleDefinition* theBaseParticle;136 120 137 G4double preKinEnergy;121 G4double eth; 138 122 139 G4double eth; 140 G4double baseMass; 141 G4double massRatio; 142 G4double massFactor; 143 G4double charge2; 144 145 G4bool isInitialised; 146 G4bool stopDataActive; 147 G4bool nuclearStopping; 123 G4bool isInitialised; 124 G4bool stopDataActive; 125 G4bool nuclearStopping; 148 126 }; 149 127 150 128 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 151 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....152 153 inline G4bool G4ionIonisation::IsApplicable(const G4ParticleDefinition& p)154 {155 return (p.GetPDGCharge() != 0.0 && !p.IsShortLived() &&156 p.GetParticleType() == "nucleus");157 }158 159 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....160 161 inline G4double G4ionIonisation::MinPrimaryEnergy(162 const G4ParticleDefinition*, const G4Material*, G4double cut)163 {164 G4double x = 0.5*cut/electron_mass_c2;165 G4double g = std::sqrt(1. + x);166 return proton_mass_c2*(g - 1.0);167 }168 169 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....170 171 inline void G4ionIonisation::InitialiseMassCharge(const G4Track& track)172 {173 preKinEnergy = track.GetKineticEnergy();174 massRatio = baseMass/track.GetDynamicParticle()->GetMass();175 charge2 = effCharge->EffectiveChargeSquareRatio(track.GetDefinition(),176 track.GetMaterial(),177 preKinEnergy);178 SetDynamicMassCharge(massRatio, charge2);179 }180 181 129 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 182 130
Note: See TracChangeset
for help on using the changeset viewer.