// This code implementation is the intellectual property of // the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // // // // --------------------------------------------------------------- // GEANT 4 class inlined methods file // // For information related to this code contact: // CERN, IT Division, ASD group // ------------ G4PAIonisation physics process ------------ // by Laszlo Urban, 30 May 1997 // *************************************************************** // It is the first implementation of the NEW IONISATION PROCESS. // It calculates the ionisation of charged hadrons. // *************************************************************** // corrected by L.Urban on 24/09/97 // 06.01.00 V.Grichine, modifications in GetConstraints and GetMenaFreePath // // //////////////////////////////////////////////////////////////////// // // inline G4double G4PAIonisation::GetConstraints(const G4DynamicParticle *aParticle, G4Material *aMaterial ) { G4int index = aMaterial->GetIndex() ; // G4cout<<"G4PAIonisation::GetConstraints is called"<GetState() == kStateGas) { return 100*mm ; } else { return 0.1*mm ; } } } ////////////////////////////////////////////////////////////////////////// // // inline G4double G4PAIonisation::GetContinuousStepLimit( const G4Track& track , G4double , G4double currentMinimumStep , G4double& ) { G4double Step = GetConstraints(track.GetDynamicParticle(),track.GetMaterial()) ; if( (Step > 0.0) && (Step < currentMinimumStep) ) currentMinimumStep = Step ; return Step ; } ///////////////////////////////////////////////////////////////////////// // // inline G4double G4PAIonisation::GetMeanFreePath( const G4Track& trackData, G4double previousStepSize, G4ForceCondition* condition) { // G4cout<<"G4PAIonisation::GetMeanFreePath is called"<GetIndex() != fMatIndex ) { return DBL_MAX; } else { return DBL_MAX ; // 1*mm ; } } ////////////////////////////////////////////////////////////////////// // // inline G4bool G4PAIonisation::IsApplicable( const G4ParticleDefinition& particle) { return(particle.GetPDGCharge() != 0.); } ////////////////////////////////////////////////////////////////////////// // // inline G4double G4PAIonisation::GetSandiaPhotoAbsCof(G4int i, G4int j) const { if(i < 0 || i >= fSandiaIntervalNumber || j < 0 || j > 4) { G4Exception("Invalid arguments in G4Material::GetSandiaPhotoAbsCof") ; } return fSandiaPhotoAbsCof[i][j] ; } // // /////////////////////////////////////////////////////////////////////////