50#define G4VMscModel_h 1
277 if(ionisation) { x = ionisation->
GetDEDX(kinEnergy, couple); }
296 localtkin = kinEnergy;
311 if(localrange > range) {
338 x = (*xSectionTable)[(*theDensityIdx)[idx]]->Value(ekin)
339 *(*theDensityFactor)[idx]/(ekin*ekin);
const G4Material * GetMaterial() const
G4double GetDensity() const
G4double GetPDGCharge() const
G4double ComputeSafety(const G4ThreeVector &pGlobalPoint, G4double maxRadius=DBL_MAX)
G4double CheckNextStep(const G4ThreeVector &position, const G4ThreeVector &direction, const G4double currentMaxStep, G4double &newSafety)
G4VPhysicalVolume * GetWorldVolume()
const G4ThreeVector & GetPosition() const
G4StepPoint * GetPreStepPoint() const
G4VPhysicalVolume * GetVolume() const
const G4ThreeVector & GetMomentumDirection() const
const G4Step * GetStep() const
G4PhysicsTable * xSectionTable
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
const G4MaterialCutsCouple * CurrentCouple() const
G4double GetRangeForLoss(G4double &kineticEnergy, const G4MaterialCutsCouple *)
G4double GetKineticEnergy(G4double &range, const G4MaterialCutsCouple *)
G4double GetDEDX(G4double &kineticEnergy, const G4MaterialCutsCouple *)
virtual G4ThreeVector & SampleScattering(const G4DynamicParticle *, G4double safety)
G4double GetDEDX(const G4ParticleDefinition *part, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
void SetRangeFactor(G4double)
G4double ComputeGeomLimit(const G4Track &, G4double &presafety, G4double limit)
void SetIonisation(G4VEnergyLossProcess *, const G4ParticleDefinition *part)
virtual G4double ComputeGeomPathLength(G4double truePathLength)
G4double GetTransportMeanFreePath(const G4ParticleDefinition *part, G4double kinEnergy)
void SetLateralDisplasmentFlag(G4bool val)
G4VEnergyLossProcess * GetIonisation() const
G4double GetEnergy(const G4ParticleDefinition *part, G4double range, const G4MaterialCutsCouple *couple)
G4double GetRange(const G4ParticleDefinition *part, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
G4double ComputeSafety(const G4ThreeVector &position, G4double limit)
G4MscStepLimitType steppingAlgorithm
G4ParticleChangeForMSC * GetParticleChangeForMSC(const G4ParticleDefinition *p=0)
void SetGeomFactor(G4double)
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double tmax)
virtual G4double ComputeTrueStepLength(G4double geomPathLength)
G4double ConvertTrueToGeom(G4double &tLength, G4double &gLength)
virtual G4double ComputeTruePathLengthLimit(const G4Track &track, G4double &stepLimit)
G4ThreeVector fDisplacement
void SetStepLimitType(G4MscStepLimitType)