Geant4
10.02
|
#include <G4VMultipleScattering.hh>
Protected Member Functions | |
virtual void | InitialiseProcess (const G4ParticleDefinition *)=0 |
G4double | GetMeanFreePath (const G4Track &track, G4double, G4ForceCondition *condition) |
G4double | GetContinuousStepLimit (const G4Track &track, G4double previousStepSize, G4double currentMinimalStep, G4double ¤tSafety) |
Protected Member Functions inherited from G4VContinuousDiscreteProcess | |
void | SetGPILSelection (G4GPILSelection selection) |
G4GPILSelection | GetGPILSelection () const |
Protected Member Functions inherited from G4VProcess | |
void | SubtractNumberOfInteractionLengthLeft (G4double previousStepSize) |
void | ClearNumberOfInteractionLengthLeft () |
Private Member Functions | |
G4VMultipleScattering (G4VMultipleScattering &) | |
G4VMultipleScattering & | operator= (const G4VMultipleScattering &right) |
Additional Inherited Members | |
Static Public Member Functions inherited from G4VProcess | |
static const G4String & | GetProcessTypeName (G4ProcessType) |
Definition at line 92 of file G4VMultipleScattering.hh.
G4VMultipleScattering::G4VMultipleScattering | ( | const G4String & | name = "msc" , |
G4ProcessType | type = fElectromagnetic |
||
) |
Definition at line 95 of file G4VMultipleScattering.cc.
References currentModel, emManager, eV, fIonisation, firstParticle, fMultipleScattering, fParticleChange, fPositionChanged, G4GenericIon::GenericIon(), gPathLength, G4EmParameters::Instance(), G4LossTableManager::Instance(), isActive, lowestKinEnergy, modelManager, physStepLimit, G4VProcess::pParticleChange, G4LossTableManager::Register(), safetyHelper, G4VProcess::SetProcessSubType(), G4VProcess::SetVerboseLevel(), theParameters, and tPathLength.
|
virtual |
Definition at line 132 of file G4VMultipleScattering.cc.
References G4LossTableManager::DeRegister(), emManager, and modelManager.
|
private |
void G4VMultipleScattering::AddEmModel | ( | G4int | order, |
G4VEmModel * | p, | ||
const G4Region * | region = 0 |
||
) |
Definition at line 146 of file G4VMultipleScattering.cc.
References G4EmModelManager::AddEmModel(), modelManager, G4VProcess::pParticleChange, and G4VEmModel::SetParticleChange().
Referenced by G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), PhysListEmStandardGS::ConstructProcess(), PhysListEmStandardWVI::ConstructProcess(), PhysListEmStandard_WVI::ConstructProcess(), PhysListEmStandard_GS::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysicsGS::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4eMultipleScattering::InitialiseProcess(), G4MuMultipleScattering::InitialiseProcess(), G4hMultipleScattering::InitialiseProcess(), G4AdjointhMultipleScattering::InitialiseProcess(), G4EmConfigurator::PrepareModels(), and G4EmConfigurator::SetModelForRegion().
|
virtual |
Reimplemented from G4VContinuousDiscreteProcess.
Definition at line 476 of file G4VMultipleScattering.cc.
References G4SafetyHelper::ComputeSafety(), G4VMscModel::ComputeTrueStepLength(), currentModel, currParticle, fDispBeyondSafety, fNewDirection, fNewPosition, fParticleChange, fPositionChanged, geomMin, G4Track::GetKineticEnergy(), G4Track::GetMaterialCutsCouple(), G4ParticleChangeForMSC::GetMomentumDirection(), G4StepPoint::GetMomentumDirection(), G4StepPoint::GetPosition(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4VMscModel::GetRange(), G4StepPoint::GetSafety(), G4Step::GetStepLength(), isActive, G4INCL::Math::min(), minDisplacement2, minSafety, physStepLimit, G4ParticleChangeForMSC::ProposeMomentumDirection(), G4ParticleChangeForMSC::ProposePosition(), G4VParticleChange::ProposeTrueStepLength(), G4SafetyHelper::RecheckDistanceToCurrentBoundary(), safetyHelper, G4VMscModel::SampleScattering(), and tPathLength.
|
virtual |
Reimplemented from G4VContinuousDiscreteProcess.
Definition at line 409 of file G4VMultipleScattering.cc.
References CandidateForSelection, G4VMscModel::ComputeTruePathLengthLimit(), currentModel, geomMin, G4MaterialCutsCouple::GetIndex(), G4Track::GetKineticEnergy(), G4Track::GetMaterialCutsCouple(), G4Track::GetParticleDefinition(), G4ParticleDefinition::GetPDGMass(), gPathLength, isActive, G4VEmModel::IsActive(), isIon, lowestKinEnergy, NotCandidateForSelection, numberOfModels, physStepLimit, SelectModel(), and tPathLength.
Referenced by GetContinuousStepLimit().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 286 of file G4VMultipleScattering.cc.
References G4LossTableManager::BuildPhysicsTable(), G4EmModelManager::DumpModelList(), emManager, firstParticle, G4cout, G4endl, G4VEmModel::GetCrossSectionTable(), G4VProcess::GetMasterProcess(), GetModelByIndex(), G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4VProcess::GetProcessSubType(), G4VEmModel::InitialiseLocal(), G4LossTableManager::Instance(), G4LossTableManager::IsMaster(), modelManager, G4EmModelManager::NumberOfModels(), numberOfModels, PrintInfo(), G4VEmModel::SetCrossSectionTable(), and G4VProcess::verboseLevel.
G4double G4VMultipleScattering::ContinuousStepLimit | ( | const G4Track & | track, |
G4double | previousStepSize, | ||
G4double | currentMinimalStep, | ||
G4double & | currentSafety | ||
) |
Definition at line 663 of file G4VMultipleScattering.cc.
References GetContinuousStepLimit().
G4VMscModel * G4VMultipleScattering::EmModel | ( | G4int | index = 1 | ) | const |
Definition at line 165 of file G4VMultipleScattering.cc.
References mscModels.
Referenced by G4MuMultipleScattering::InitialiseProcess(), G4eMultipleScattering::InitialiseProcess(), and G4hMultipleScattering::InitialiseProcess().
|
inline |
Definition at line 399 of file G4VMultipleScattering.hh.
References firstParticle.
|
inline |
Definition at line 355 of file G4VMultipleScattering.hh.
References G4EmParameters::MscGeomFactor(), and theParameters.
Referenced by G4eMultipleScattering::PrintInfo(), and G4hMultipleScattering::PrintInfo().
|
protectedvirtual |
Implements G4VContinuousDiscreteProcess.
Definition at line 647 of file G4VMultipleScattering.cc.
References AlongStepGetPhysicalInteractionLength(), NotCandidateForSelection, and x.
Referenced by ContinuousStepLimit().
|
protectedvirtual |
Implements G4VContinuousDiscreteProcess.
Definition at line 675 of file G4VMultipleScattering.cc.
G4VEmModel * G4VMultipleScattering::GetModelByIndex | ( | G4int | idx = 0 , |
G4bool | ver = false |
||
) | const |
Definition at line 175 of file G4VMultipleScattering.cc.
References G4EmModelManager::GetModel(), and modelManager.
Referenced by BuildPhysicsTable(), SetIonisation(), and StartTracking().
|
protectedpure virtual |
Implemented in G4AdjointhMultipleScattering, G4hMultipleScattering, G4MuMultipleScattering, and G4eMultipleScattering.
Referenced by PreparePhysicsTable().
|
pure virtual |
Reimplemented from G4VProcess.
Implemented in G4AdjointhMultipleScattering, G4hMultipleScattering, G4MuMultipleScattering, and G4eMultipleScattering.
|
inline |
Definition at line 310 of file G4VMultipleScattering.hh.
References latDisplacement.
Referenced by G4MuMultipleScattering::PrintInfo(), G4eMultipleScattering::PrintInfo(), G4hMultipleScattering::PrintInfo(), and G4AdjointhMultipleScattering::PrintInfo().
|
inline |
Definition at line 385 of file G4VMultipleScattering.hh.
References lowestKinEnergy.
|
private |
|
inline |
Definition at line 362 of file G4VMultipleScattering.hh.
References G4EmParameters::MscThetaLimit(), and theParameters.
Referenced by G4MuMultipleScattering::PrintInfo().
|
virtual |
Reimplemented from G4VContinuousDiscreteProcess.
Definition at line 633 of file G4VMultipleScattering.cc.
References fNewPosition, fParticleChange, fPositionChanged, G4ParticleChangeForMSC::Initialize(), G4ParticleChangeForMSC::ProposePosition(), G4SafetyHelper::ReLocateWithinVolume(), and safetyHelper.
|
virtual |
Reimplemented from G4VContinuousDiscreteProcess.
Definition at line 465 of file G4VMultipleScattering.cc.
|
virtual |
Reimplemented from G4VProcess.
Definition at line 183 of file G4VMultipleScattering.cc.
References currentModel, currParticle, G4Electron::Electron(), emax, emManager, facrange, fDispBeyondSafety, G4ParticleTable::FindParticle(), firstParticle, fMinimal, G4cout, G4endl, G4ProcessManager::GetAlongStepProcessVector(), G4VProcess::GetMasterProcess(), G4EmModelManager::GetModel(), G4ParticleDefinition::GetParticleName(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetParticleType(), G4ParticleDefinition::GetPDGMass(), G4ParticleDefinition::GetProcessManager(), G4VProcess::GetProcessName(), G4TransportationManager::GetSafetyHelper(), G4TransportationManager::GetTransportationManager(), G4VEmModel::HighEnergyLimit(), G4EmModelManager::Initialise(), G4SafetyHelper::InitialiseHelper(), InitialiseProcess(), isIon, latDisplacement, G4EmParameters::LatDisplacementBeyondSafety(), G4EmParameters::LateralDisplacement(), G4EmParameters::MaxKinEnergy(), MeV, G4INCL::Math::min(), modelManager, G4EmParameters::MscGeomFactor(), G4EmParameters::MscMuHadRangeFactor(), G4EmParameters::MscMuHadStepLimitType(), G4EmParameters::MscRangeFactor(), G4EmParameters::MscSkin(), G4EmParameters::MscStepLimitType(), G4EmParameters::MscThetaLimit(), G4EmParameters::MuHadLateralDisplacement(), n, G4EmModelManager::NumberOfModels(), numberOfModels, G4LossTableManager::PreparePhysicsTable(), safetyHelper, G4VMscModel::SetGeomFactor(), G4VEmModel::SetHighEnergyLimit(), G4VMscModel::SetIonisation(), G4VMscModel::SetLateralDisplasmentFlag(), G4VEmModel::SetMasterThread(), G4VEmModel::SetPolarAngleLimit(), G4VMscModel::SetRangeFactor(), G4VMscModel::SetSkin(), G4VMscModel::SetStepLimitType(), G4VProcess::SetVerboseLevel(), G4ProcessVector::size(), stepLimit, theParameters, G4EmParameters::Verbose(), G4VProcess::verboseLevel, and G4EmParameters::WorkerVerbose().
|
pure virtual |
Implemented in G4AdjointhMultipleScattering, G4hMultipleScattering, G4MuMultipleScattering, and G4eMultipleScattering.
Referenced by BuildPhysicsTable(), and PrintInfoDefinition().
void G4VMultipleScattering::PrintInfoDefinition | ( | ) |
Definition at line 362 of file G4VMultipleScattering.cc.
References G4EmModelManager::DumpModelList(), firstParticle, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4VProcess::GetProcessSubType(), modelManager, PrintInfo(), and G4VProcess::verboseLevel.
|
virtual |
Definition at line 748 of file G4VMultipleScattering.cc.
References G4endl, and G4VProcess::GetProcessName().
|
inline |
Definition at line 338 of file G4VMultipleScattering.hh.
References facrange.
Referenced by G4MuMultipleScattering::PrintInfo(), G4eMultipleScattering::PrintInfo(), G4hMultipleScattering::PrintInfo(), and G4AdjointhMultipleScattering::PrintInfo().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 729 of file G4VMultipleScattering.cc.
|
inline |
Definition at line 303 of file G4VMultipleScattering.hh.
References modelManager, and G4EmModelManager::SelectModel().
Referenced by AlongStepGetPhysicalInteractionLength(), G4EmCalculator::FindEmModel(), and G4EmCalculator::FindLambdaTable().
void G4VMultipleScattering::SetEmModel | ( | G4VMscModel * | p, |
G4int | index = 1 |
||
) |
Definition at line 156 of file G4VMultipleScattering.cc.
Referenced by G4EmLowEPPhysics::ConstructProcess(), G4EmDNAPhysics_option1::ConstructProcess(), PhysListEmStandardNR::ConstructProcess(), PhysListEmStandard_WVI::ConstructProcess(), G4EmStandardPhysicsWVI::ConstructProcess(), G4MuMultipleScattering::InitialiseProcess(), G4eMultipleScattering::InitialiseProcess(), and G4hMultipleScattering::InitialiseProcess().
void G4VMultipleScattering::SetIonisation | ( | G4VEnergyLossProcess * | p | ) |
Definition at line 738 of file G4VMultipleScattering.cc.
References firstParticle, GetModelByIndex(), numberOfModels, and G4VMscModel::SetIonisation().
|
inline |
Definition at line 317 of file G4VMultipleScattering.hh.
References latDisplacement.
|
inline |
Definition at line 392 of file G4VMultipleScattering.hh.
References lowestKinEnergy.
|
inline |
Definition at line 345 of file G4VMultipleScattering.hh.
References facrange, G4EmParameters::SetMscRangeFactor(), and theParameters.
Referenced by SetStepLimitType().
|
inline |
Definition at line 331 of file G4VMultipleScattering.hh.
References G4EmParameters::SetMscSkin(), and theParameters.
|
inline |
Definition at line 376 of file G4VMultipleScattering.hh.
References fMinimal, G4EmParameters::SetMscStepLimitType(), SetRangeFactor(), stepLimit, and theParameters.
Referenced by DMXPhysicsList::ConstructEM(), G4EmDNAPhysics_option3::ConstructProcess(), G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmDNAPhysics_option5::ConstructProcess(), G4EmDNAPhysics_option7::ConstructProcess(), G4EmDNAPhysics_option4::ConstructProcess(), G4EmDNAPhysics_option2::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), and G4EmDNAPhysics_option1::ConstructProcess().
|
inline |
Definition at line 324 of file G4VMultipleScattering.hh.
References G4EmParameters::MscSkin(), and theParameters.
Referenced by G4eMultipleScattering::PrintInfo(), G4hMultipleScattering::PrintInfo(), and G4AdjointhMultipleScattering::PrintInfo().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 376 of file G4VMultipleScattering.cc.
References currentModel, currParticle, emManager, fIonisation, G4LossTableManager::GetEnergyLossProcess(), GetModelByIndex(), G4Track::GetParticleDefinition(), numberOfModels, G4VMscModel::SetIonisation(), and G4VEmModel::StartTracking().
|
inline |
Definition at line 369 of file G4VMultipleScattering.hh.
References stepLimit.
Referenced by G4MuMultipleScattering::PrintInfo(), G4eMultipleScattering::PrintInfo(), G4hMultipleScattering::PrintInfo(), and G4AdjointhMultipleScattering::PrintInfo().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 685 of file G4VMultipleScattering.cc.
References firstParticle, G4cout, G4endl, G4VEmModel::GetCrossSectionTable(), G4VProcess::GetMasterProcess(), G4EmModelManager::GetModel(), G4ParticleDefinition::GetParticleName(), G4VProcess::GetPhysicsTableFileName(), G4VProcess::GetProcessName(), G4INCL::Math::min(), modelManager, name, G4EmModelManager::NumberOfModels(), G4PhysicsTable::StorePhysicsTable(), and G4VProcess::verboseLevel.
|
private |
Definition at line 285 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), AlongStepGetPhysicalInteractionLength(), G4VMultipleScattering(), PreparePhysicsTable(), and StartTracking().
|
private |
Definition at line 265 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), PreparePhysicsTable(), and StartTracking().
|
private |
Definition at line 254 of file G4VMultipleScattering.hh.
Referenced by BuildPhysicsTable(), G4VMultipleScattering(), PreparePhysicsTable(), StartTracking(), and ~G4VMultipleScattering().
|
private |
Definition at line 269 of file G4VMultipleScattering.hh.
Referenced by PreparePhysicsTable(), RangeFactor(), and SetRangeFactor().
|
private |
Definition at line 274 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), and PreparePhysicsTable().
|
private |
Definition at line 286 of file G4VMultipleScattering.hh.
Referenced by G4VMultipleScattering(), and StartTracking().
|
private |
Definition at line 264 of file G4VMultipleScattering.hh.
Referenced by BuildPhysicsTable(), FirstParticle(), G4VMultipleScattering(), PreparePhysicsTable(), PrintInfoDefinition(), SetIonisation(), and StorePhysicsTable().
|
private |
Definition at line 293 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt().
|
private |
Definition at line 292 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), and PostStepDoIt().
|
protected |
Definition at line 280 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), G4VMultipleScattering(), and PostStepDoIt().
|
private |
Definition at line 294 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), G4VMultipleScattering(), and PostStepDoIt().
|
private |
Definition at line 290 of file G4VMultipleScattering.hh.
Referenced by AlongStepGetPhysicalInteractionLength(), and G4VMultipleScattering().
|
private |
Definition at line 295 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), AlongStepGetPhysicalInteractionLength(), and G4VMultipleScattering().
|
private |
Definition at line 273 of file G4VMultipleScattering.hh.
Referenced by AlongStepGetPhysicalInteractionLength(), and PreparePhysicsTable().
|
private |
Definition at line 272 of file G4VMultipleScattering.hh.
Referenced by LateralDisplasmentFlag(), PreparePhysicsTable(), and SetLateralDisplasmentFlag().
|
private |
Definition at line 270 of file G4VMultipleScattering.hh.
Referenced by AlongStepGetPhysicalInteractionLength(), G4VMultipleScattering(), LowestKinEnergy(), and SetLowestKinEnergy().
|
private |
Definition at line 253 of file G4VMultipleScattering.hh.
Referenced by AddEmModel(), BuildPhysicsTable(), G4VMultipleScattering(), GetModelByIndex(), PreparePhysicsTable(), PrintInfoDefinition(), SelectModel(), StorePhysicsTable(), and ~G4VMultipleScattering().
|
private |
Definition at line 261 of file G4VMultipleScattering.hh.
Referenced by EmModel(), and SetEmModel().
|
private |
Definition at line 262 of file G4VMultipleScattering.hh.
Referenced by AlongStepGetPhysicalInteractionLength(), BuildPhysicsTable(), PreparePhysicsTable(), SetIonisation(), and StartTracking().
|
private |
Definition at line 288 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), AlongStepGetPhysicalInteractionLength(), and G4VMultipleScattering().
|
private |
Definition at line 259 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), G4VMultipleScattering(), PostStepDoIt(), and PreparePhysicsTable().
|
private |
Definition at line 267 of file G4VMultipleScattering.hh.
Referenced by PreparePhysicsTable(), SetStepLimitType(), and StepLimitType().
|
private |
Definition at line 255 of file G4VMultipleScattering.hh.
Referenced by G4VMultipleScattering(), GeomFactor(), PolarAngleLimit(), PreparePhysicsTable(), SetRangeFactor(), SetSkin(), SetStepLimitType(), and Skin().
|
private |
Definition at line 289 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), AlongStepGetPhysicalInteractionLength(), and G4VMultipleScattering().