Geant4
10.01.p02
|
#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 94 of file G4VMultipleScattering.cc.
References actFacRange, actLatDisp, actStepLimit, 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 134 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 148 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(), 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 477 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 410 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 287 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 637 of file G4VMultipleScattering.cc.
References GetContinuousStepLimit().
G4VMscModel * G4VMultipleScattering::EmModel | ( | G4int | index = 1 | ) | const |
Definition at line 167 of file G4VMultipleScattering.cc.
References mscModels.
Referenced by G4MuMultipleScattering::InitialiseProcess(), G4eMultipleScattering::InitialiseProcess(), and G4hMultipleScattering::InitialiseProcess().
|
inline |
Definition at line 406 of file G4VMultipleScattering.hh.
References firstParticle.
|
inline |
Definition at line 359 of file G4VMultipleScattering.hh.
References G4EmParameters::MscGeomFactor(), and theParameters.
Referenced by G4AdjointhMultipleScattering::InitialiseProcess(), G4eMultipleScattering::PrintInfo(), and G4hMultipleScattering::PrintInfo().
|
protectedvirtual |
Implements G4VContinuousDiscreteProcess.
Definition at line 621 of file G4VMultipleScattering.cc.
References AlongStepGetPhysicalInteractionLength(), and NotCandidateForSelection.
Referenced by ContinuousStepLimit().
|
protectedvirtual |
Implements G4VContinuousDiscreteProcess.
Definition at line 649 of file G4VMultipleScattering.cc.
G4VEmModel * G4VMultipleScattering::GetModelByIndex | ( | G4int | idx = 0 , |
G4bool | ver = false |
||
) | const |
Definition at line 177 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 313 of file G4VMultipleScattering.hh.
References latDisplacement.
Referenced by G4AdjointhMultipleScattering::InitialiseProcess(), G4eMultipleScattering::PrintInfo(), G4MuMultipleScattering::PrintInfo(), G4hMultipleScattering::PrintInfo(), and G4AdjointhMultipleScattering::PrintInfo().
|
inline |
Definition at line 392 of file G4VMultipleScattering.hh.
References lowestKinEnergy.
|
private |
|
inline |
Definition at line 366 of file G4VMultipleScattering.hh.
References G4EmParameters::MscThetaLimit(), and theParameters.
Referenced by G4MuMultipleScattering::PrintInfo().
|
virtual |
Reimplemented from G4VContinuousDiscreteProcess.
Definition at line 607 of file G4VMultipleScattering.cc.
References fNewPosition, fParticleChange, fPositionChanged, G4ParticleChangeForMSC::Initialize(), G4ParticleChangeForMSC::ProposePosition(), G4SafetyHelper::ReLocateWithinVolume(), and safetyHelper.
|
virtual |
Reimplemented from G4VContinuousDiscreteProcess.
Definition at line 466 of file G4VMultipleScattering.cc.
|
virtual |
Reimplemented from G4VProcess.
Definition at line 185 of file G4VMultipleScattering.cc.
References actFacRange, actLatDisp, actStepLimit, currentModel, currParticle, G4Electron::Electron(), 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::MscRangeFactor(), G4EmParameters::MscSkin(), G4EmParameters::MscStepLimitType(), G4EmParameters::MscThetaLimit(), G4EmParameters::MuHadLateralDisplacement(), n, G4EmModelManager::NumberOfModels(), numberOfModels, G4LossTableManager::PreparePhysicsTable(), safetyHelper, G4VMscModel::SetGeomFactor(), G4VEmModel::SetHighEnergyLimit(), G4VMscModel::SetIonisation(), G4VMscModel::SetLateralDisplasmentFlag(), SetLateralDisplasmentFlag(), G4VEmModel::SetMasterThread(), G4VEmModel::SetPolarAngleLimit(), G4VMscModel::SetRangeFactor(), SetRangeFactor(), G4VMscModel::SetSkin(), G4VMscModel::SetStepLimitType(), 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 363 of file G4VMultipleScattering.cc.
References G4EmModelManager::DumpModelList(), firstParticle, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4VProcess::GetProcessSubType(), modelManager, PrintInfo(), and G4VProcess::verboseLevel.
|
inline |
Definition at line 342 of file G4VMultipleScattering.hh.
References facrange.
Referenced by G4AdjointhMultipleScattering::InitialiseProcess(), G4eMultipleScattering::PrintInfo(), G4MuMultipleScattering::PrintInfo(), G4hMultipleScattering::PrintInfo(), and G4AdjointhMultipleScattering::PrintInfo().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 703 of file G4VMultipleScattering.cc.
|
inline |
Definition at line 306 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 158 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 712 of file G4VMultipleScattering.cc.
References firstParticle, GetModelByIndex(), numberOfModels, and G4VMscModel::SetIonisation().
|
inline |
Definition at line 320 of file G4VMultipleScattering.hh.
References actLatDisp, and latDisplacement.
Referenced by G4AdjointhMultipleScattering::InitialiseProcess(), and PreparePhysicsTable().
|
inline |
Definition at line 399 of file G4VMultipleScattering.hh.
References lowestKinEnergy.
|
inline |
Definition at line 349 of file G4VMultipleScattering.hh.
References actFacRange, and facrange.
Referenced by G4EmLowEPPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), and PreparePhysicsTable().
|
inline |
Definition at line 335 of file G4VMultipleScattering.hh.
References G4EmParameters::SetMscSkin(), and theParameters.
|
inline |
Definition at line 380 of file G4VMultipleScattering.hh.
References actFacRange, actStepLimit, facrange, fMinimal, and stepLimit.
Referenced by DMXPhysicsList::ConstructEM(), G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), G4EmDNAPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4AdjointhMultipleScattering::G4AdjointhMultipleScattering(), G4hMultipleScattering::G4hMultipleScattering(), G4MuMultipleScattering::G4MuMultipleScattering(), G4AdjointhMultipleScattering::InitialiseProcess(), and PreparePhysicsTable().
|
inline |
Definition at line 328 of file G4VMultipleScattering.hh.
References G4EmParameters::MscSkin(), and theParameters.
Referenced by G4AdjointhMultipleScattering::InitialiseProcess(), G4eMultipleScattering::PrintInfo(), G4hMultipleScattering::PrintInfo(), and G4AdjointhMultipleScattering::PrintInfo().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 377 of file G4VMultipleScattering.cc.
References currentModel, currParticle, emManager, fIonisation, G4LossTableManager::GetEnergyLossProcess(), GetModelByIndex(), G4Track::GetParticleDefinition(), numberOfModels, G4VMscModel::SetIonisation(), and G4VEmModel::StartTracking().
|
inline |
Definition at line 373 of file G4VMultipleScattering.hh.
References stepLimit.
Referenced by G4AdjointhMultipleScattering::InitialiseProcess(), G4eMultipleScattering::PrintInfo(), G4MuMultipleScattering::PrintInfo(), G4hMultipleScattering::PrintInfo(), and G4AdjointhMultipleScattering::PrintInfo().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 659 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 275 of file G4VMultipleScattering.hh.
Referenced by G4VMultipleScattering(), PreparePhysicsTable(), SetRangeFactor(), and SetStepLimitType().
|
private |
Definition at line 276 of file G4VMultipleScattering.hh.
Referenced by G4VMultipleScattering(), PreparePhysicsTable(), and SetLateralDisplasmentFlag().
|
private |
Definition at line 274 of file G4VMultipleScattering.hh.
Referenced by G4VMultipleScattering(), PreparePhysicsTable(), and SetStepLimitType().
|
private |
Definition at line 287 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(), SetRangeFactor(), and SetStepLimitType().
|
private |
Definition at line 297 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), and PreparePhysicsTable().
|
private |
Definition at line 288 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 295 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt().
|
private |
Definition at line 294 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), and PostStepDoIt().
|
protected |
Definition at line 282 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), G4VMultipleScattering(), and PostStepDoIt().
|
private |
Definition at line 296 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), G4VMultipleScattering(), and PostStepDoIt().
|
private |
Definition at line 292 of file G4VMultipleScattering.hh.
Referenced by AlongStepGetPhysicalInteractionLength(), and G4VMultipleScattering().
|
private |
Definition at line 298 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 290 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(), SetSkin(), and Skin().
|
private |
Definition at line 291 of file G4VMultipleScattering.hh.
Referenced by AlongStepDoIt(), AlongStepGetPhysicalInteractionLength(), and G4VMultipleScattering().