Geant4
10.01.p01
|
#include <ExExChProcessChanneling.hh>
Protected Member Functions | |
virtual G4double | GetMeanFreePath (const G4Track &, G4double, G4ForceCondition *) |
Protected Member Functions inherited from G4VProcess | |
void | SubtractNumberOfInteractionLengthLeft (G4double previousStepSize) |
void | ClearNumberOfInteractionLengthLeft () |
Additional Inherited Members | |
Static Public Member Functions inherited from G4VProcess | |
static const G4String & | GetProcessTypeName (G4ProcessType) |
Protected Attributes inherited from G4VProcess | |
const G4ProcessManager * | aProcessManager |
G4VParticleChange * | pParticleChange |
G4ParticleChange | aParticleChange |
G4double | theNumberOfInteractionLengthLeft |
G4double | currentInteractionLength |
G4double | theInitialNumberOfInteractionLength |
G4String | theProcessName |
G4String | thePhysicsTableFileName |
G4ProcessType | theProcessType |
G4int | theProcessSubType |
G4double | thePILfactor |
G4bool | enableAtRestDoIt |
G4bool | enableAlongStepDoIt |
G4bool | enablePostStepDoIt |
G4int | verboseLevel |
Definition at line 43 of file ExExChProcessChanneling.hh.
ExExChProcessChanneling::ExExChProcessChanneling | ( | const G4String & | processName = "ExExChProcessChanneling" | ) |
Definition at line 59 of file ExExChProcessChanneling.cc.
References fFileCharacteristicsName, fLatticeManager, G4cout, G4endl, G4GeometryTolerance::GetInstance(), G4VProcess::GetProcessName(), G4GeometryTolerance::GetSurfaceTolerance(), XLatticeManager3::GetXLatticeManager(), mm, and G4VProcess::verboseLevel.
|
virtual |
Definition at line 77 of file ExExChProcessChanneling.cc.
|
private |
Definition at line 83 of file ExExChProcessChanneling.cc.
|
virtual |
Reimplemented from G4VProcess.
Definition at line 982 of file ExExChProcessChanneling.cc.
|
private |
Definition at line 509 of file ExExChProcessChanneling.cc.
References fGeomBoundary, fLatticeManager, G4StepPoint::GetPhysicalVolume(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetStepStatus(), and XLatticeManager3::HasLattice().
Referenced by ComputePositionInTheCrystal().
|
private |
Definition at line 477 of file ExExChProcessChanneling.cc.
References fGeomBoundary, fLatticeManager, G4StepPoint::GetPhysicalVolume(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetStepStatus(), and XLatticeManager3::HasLattice().
Referenced by ComputePositionInTheCrystal().
|
private |
Definition at line 773 of file ExExChProcessChanneling.cc.
References G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPhysicalLattice().
Referenced by IsUnderCoherentEffect().
|
private |
Definition at line 815 of file ExExChProcessChanneling.cc.
References G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPhysicalLattice().
Referenced by ComputeVolumeReflectionOutgoingMomentum(), and UpdateDensity().
|
private |
Definition at line 310 of file ExExChProcessChanneling.cc.
References XPhysicalLattice::ComputeInterplanarPeriod(), ComputePositionInTheCrystal(), ComputePotentialEnergy(), ComputeTransverseEnergy(), G4UniformRand, GetInfo(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), GetXPhysicalLattice(), and ExExChParticleUserInfo::SetPositionChanneledInitial().
Referenced by PostStepDoIt().
Definition at line 889 of file ExExChProcessChanneling.cc.
References ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetTotalEnergy().
Referenced by ComputeOscillationPeriod(), and ComputeVolumeReflectionOutgoingMomentum().
Definition at line 839 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetMaximum(), XVCrystalCharacteristic::GetMinimum(), GetParticleDefinition(), GetXPhysicalLattice(), and ParticleIsNegative().
Referenced by ComputeCriticalAngle(), ComputePotentialWellCentre(), ComputeVolumeReflectionOutgoingMomentum(), and IsUnderCoherentEffect().
Definition at line 864 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetMaximum(), XVCrystalCharacteristic::GetMinimum(), GetParticleDefinition(), GetXPhysicalLattice(), and ParticleIsNegative().
Referenced by ComputeCriticalAngle(), ComputePotentialWellCentre(), and ComputeVolumeReflectionOutgoingMomentum().
Definition at line 923 of file ExExChProcessChanneling.cc.
References fElectricField, XVCrystalCharacteristic::GetMaximum(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPhysicalLattice().
|
private |
Definition at line 1157 of file ExExChProcessChanneling.cc.
References fElectricField, fFileCharacteristicsName, fIntegratedDensity, fPotentialEnergy, GetXPhysicalLattice(), XVCrystalCharacteristic::InitializePhysicalLattice(), XCrystalIntegratedDensityHub::InitializeTables(), XVCrystalCharacteristic::ReadFromECHARM(), XCrystalIntegratedDensityHub::ReadFromFiles(), and XCrystalIntegratedDensityHub::SetXPhysicalLattice().
Referenced by UpdateParameters().
|
private |
Definition at line 454 of file ExExChProcessChanneling.cc.
References ComputePositionInTheCrystal(), XPhysicalLattice::GetCurvatureRadius(), G4StepPoint::GetMomentum(), G4Step::GetPreStepPoint(), G4Track::GetStep(), and GetXPhysicalLattice().
Referenced by GetChannelingMeanFreePath().
|
private |
Definition at line 732 of file ExExChProcessChanneling.cc.
References GetInfo(), ExExChParticleUserInfo::GetMomentumChanneled(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetTotalEnergy().
Referenced by ComputeTransverseEnergy().
|
private |
Definition at line 796 of file ExExChProcessChanneling.cc.
References ComputePositionInTheCrystal(), G4Track::GetMomentum(), and GetXPhysicalLattice().
Referenced by UpdateMomentum().
Definition at line 907 of file ExExChProcessChanneling.cc.
References ComputeCriticalAngle(), XPhysicalLattice::ComputeInterplanarPeriod(), GetXPhysicalLattice(), and G4INCL::Math::pi.
Referenced by GetChannelingMeanFreePath().
|
private |
Definition at line 422 of file ExExChProcessChanneling.cc.
References CheckStepPointLatticeForPosition(), CheckStepPointLatticeForVolume(), G4TouchableHistory::GetHistory(), G4VPhysicalVolume::GetLogicalVolume(), G4StepPoint::GetPhysicalVolume(), G4StepPoint::GetPosition(), G4LogicalVolume::GetSolid(), G4Tubs::GetStartPhiAngle(), G4NavigationHistory::GetTopTransform(), G4StepPoint::GetTouchable(), G4Box::GetXHalfLength(), GetXPhysicalLattice(), G4Box::GetYHalfLength(), G4Box::GetZHalfLength(), and G4AffineTransform::TransformPoint().
Referenced by ComputeChannelingOutgoingMomentum(), ComputeDistanceWhereParticleTangentToBentPlane(), ComputeMomentum(), ParticleIsTangentToBentPlane(), PostStepDoIt(), and UpdatePosition().
|
private |
Definition at line 754 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetEC(), GetInfo(), GetParticleDefinition(), G4ParticleDefinition::GetPDGCharge(), and GetXPhysicalLattice().
Referenced by ComputeChannelingOutgoingMomentum(), and ComputeTransverseEnergy().
|
private |
Definition at line 938 of file ExExChProcessChanneling.cc.
References ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), XPhysicalLattice::ComputeInterplanarPeriod(), XPhysicalLattice::GetCurvatureRadius(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPhysicalLattice().
|
private |
Definition at line 719 of file ExExChProcessChanneling.cc.
References ComputeKineticEnergy(), and ComputePotentialEnergy().
Referenced by ComputeChannelingOutgoingMomentum(), IsUnderCoherentEffect(), and UpdateDensity().
|
private |
|
private |
Definition at line 362 of file ExExChProcessChanneling.cc.
References ComputeCentrifugalEnergyMaximumVariation(), ComputeCriticalAngle(), ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), G4UniformRand, GetInfo(), XPhysicalLattice::GetLatticeAngles(), G4Track::GetMomentum(), ExExChParticleUserInfo::GetMomentumChanneled(), G4Step::GetPostStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), GetXPhysicalLattice(), and ParticleIsNegative().
Referenced by PostStepDoIt().
Definition at line 595 of file ExExChProcessChanneling.cc.
References ComputeDistanceWhereParticleTangentToBentPlane(), ComputeOscillationPeriod(), GetInfo(), ExExChParticleUserInfo::GetNucleiDensity(), GetNucleiDensity(), and GetXPhysicalLattice().
Referenced by GetMeanFreePath().
XVCrystalCharacteristic * ExExChProcessChanneling::GetElectricField | ( | ) |
Definition at line 103 of file ExExChProcessChanneling.cc.
References fElectricField.
XVCrystalCharacteristic * ExExChProcessChanneling::GetElectronDensity | ( | ) |
Definition at line 143 of file ExExChProcessChanneling.cc.
References fElectronDensity.
|
inline |
Definition at line 90 of file ExExChProcessChanneling.hh.
References fFileCharacteristicsName.
|
private |
Definition at line 1143 of file ExExChProcessChanneling.cc.
References G4Track::GetUserInformation().
Referenced by ComputeChannelingOutgoingMomentum(), ComputeKineticEnergy(), ComputePotentialEnergy(), ComputeVolumeReflectionOutgoingMomentum(), GetChannelingMeanFreePath(), IsUnderCoherentEffect(), PostStepDoIt(), ResetDensity(), UpdateDensity(), UpdateMomentum(), and UpdatePosition().
XCrystalIntegratedDensityHub * ExExChProcessChanneling::GetIntegratedDensity | ( | ) |
Definition at line 117 of file ExExChProcessChanneling.cc.
References fIntegratedDensity.
|
protectedvirtual |
Implements G4VDiscreteProcess.
Definition at line 624 of file ExExChProcessChanneling.cc.
References DBL_MAX, Forced, GetChannelingMeanFreePath(), and HasLattice().
XVCrystalCharacteristic * ExExChProcessChanneling::GetNucleiDensity | ( | ) |
Definition at line 130 of file ExExChProcessChanneling.cc.
References fNucleiDensity.
Referenced by GetChannelingMeanFreePath().
|
private |
Definition at line 1150 of file ExExChProcessChanneling.cc.
References G4Track::GetParticleDefinition().
Referenced by ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputePotentialEnergy(), ParticleIsNegative(), and UpdateDensity().
XVCrystalCharacteristic * ExExChProcessChanneling::GetPotential | ( | ) |
Definition at line 90 of file ExExChProcessChanneling.cc.
References fPotentialEnergy.
|
private |
|
private |
Definition at line 989 of file ExExChProcessChanneling.cc.
References fGeomBoundary, fLatticeManager, G4cout, G4endl, G4StepPoint::GetPhysicalVolume(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetStepStatus(), XLatticeManager3::GetXPhysicalLattice(), and XLatticeManager3::HasLattice().
Referenced by ComputeCentrifugalEnergy(), ComputeCentrifugalEnergyMaximumVariation(), ComputeChannelingOutgoingMomentum(), ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputeCriticalRadius(), ComputeCrystalCharacteristic(), ComputeDistanceWhereParticleTangentToBentPlane(), ComputeMomentum(), ComputeOscillationPeriod(), ComputePositionInTheCrystal(), ComputePotentialEnergy(), ComputePotentialWellCentre(), ComputeVolumeReflectionOutgoingMomentum(), GetChannelingMeanFreePath(), IsUnderCoherentEffect(), ParticleIsTangentToBentPlane(), PostStepDoIt(), UpdateDensity(), UpdateParameters(), and UpdatePosition().
Definition at line 1010 of file ExExChProcessChanneling.cc.
References fLatticeManager, G4StepPoint::GetPhysicalVolume(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and XLatticeManager3::HasLattice().
Referenced by GetMeanFreePath(), and PostStepDoIt().
Definition at line 1023 of file ExExChProcessChanneling.cc.
References HasLatticeOnBoundaryPost(), and HasLatticeOnBoundaryPre().
Definition at line 1049 of file ExExChProcessChanneling.cc.
References fGeomBoundary, fLatticeManager, G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetStepStatus(), and XLatticeManager3::HasLattice().
Referenced by HasLatticeOnBoundary(), and UpdatePosition().
Definition at line 1035 of file ExExChProcessChanneling.cc.
References fGeomBoundary, fLatticeManager, G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetStepStatus(), and XLatticeManager3::HasLattice().
Referenced by HasLatticeOnBoundary(), and PostStepDoIt().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 975 of file ExExChProcessChanneling.cc.
References G4ParticleDefinition::GetPDGCharge().
Definition at line 543 of file ExExChProcessChanneling.cc.
References ComputeCentrifugalEnergy(), ComputeCriticalEnergyMaximum(), ComputeTransverseEnergy(), GetInfo(), ExExChParticleUserInfo::GetPositionChanneled(), ExExChParticleUserInfo::GetPositionChanneledInitial(), GetXPhysicalLattice(), ParticleIsNotOnBoundary(), ParticleIsTangentToBentPlane(), ExExChParticleUserInfo::SetCoherentEffect(), and UpdateParameters().
Referenced by PostStepDoIt().
|
private |
Definition at line 1062 of file ExExChProcessChanneling.cc.
References GetParticleDefinition().
Referenced by ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputeVolumeReflectionOutgoingMomentum(), and UpdateDensity().
Definition at line 1130 of file ExExChProcessChanneling.cc.
References ParticleIsNotOnBoundaryPost(), and ParticleIsNotOnBoundaryPre().
Referenced by IsUnderCoherentEffect().
Definition at line 1118 of file ExExChProcessChanneling.cc.
References fGeomBoundary, G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetStepStatus().
Referenced by ParticleIsNotOnBoundary(), and PostStepDoIt().
Definition at line 1106 of file ExExChProcessChanneling.cc.
References fGeomBoundary, G4Step::GetPreStepPoint(), G4Track::GetStep(), and G4StepPoint::GetStepStatus().
Referenced by ParticleIsNotOnBoundary().
Definition at line 1074 of file ExExChProcessChanneling.cc.
References ComputePositionInTheCrystal(), XPhysicalLattice::GetCurvatureRadius(), G4Step::GetPreStepPoint(), G4Track::GetStep(), and GetXPhysicalLattice().
Referenced by IsUnderCoherentEffect().
|
virtual |
Reimplemented from G4VDiscreteProcess.
Definition at line 647 of file ExExChProcessChanneling.cc.
References G4VProcess::aParticleChange, ComputeChannelingOutgoingMomentum(), ComputePositionInTheCrystal(), ComputeVolumeReflectionOutgoingMomentum(), GetInfo(), G4Step::GetPostStepPoint(), G4Track::GetStep(), GetXPhysicalLattice(), HasLattice(), HasLatticeOnBoundaryPre(), G4ParticleChange::Initialize(), IsUnderCoherentEffect(), ParticleIsNotOnBoundaryPost(), G4ParticleChange::ProposeMomentumDirection(), ResetDensity(), ExExChParticleUserInfo::SetCoherentEffect(), and ExExChParticleUserInfo::StoreDensityPreviousStep().
void ExExChProcessChanneling::ReadFromFileCharacteristics | ( | G4bool | ) |
|
private |
Definition at line 300 of file ExExChProcessChanneling.cc.
References GetInfo(), ExExChParticleUserInfo::SetElectronDensity(), and ExExChParticleUserInfo::SetNucleiDensity().
Referenced by PostStepDoIt(), and UpdateDensity().
void ExExChProcessChanneling::SetElectricField | ( | XVCrystalCharacteristic * | vElectricField | ) |
Definition at line 110 of file ExExChProcessChanneling.cc.
References fElectricField.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetElectronDensity | ( | XVCrystalCharacteristic * | vElectronDensity | ) |
Definition at line 150 of file ExExChProcessChanneling.cc.
References fElectronDensity.
Referenced by ExExChPhysicsList::AddChanneling().
|
inline |
Definition at line 88 of file ExExChProcessChanneling.hh.
References fFileCharacteristicsName.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetIntegratedDensity | ( | XCrystalIntegratedDensityHub * | vIntegratedDensity | ) |
Definition at line 124 of file ExExChProcessChanneling.cc.
References fIntegratedDensity.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetNucleiDensity | ( | XVCrystalCharacteristic * | vNucleiDensity | ) |
Definition at line 137 of file ExExChProcessChanneling.cc.
References fNucleiDensity.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetPotential | ( | XVCrystalCharacteristic * | vPotential | ) |
Definition at line 97 of file ExExChProcessChanneling.cc.
References fPotentialEnergy.
Referenced by ExExChPhysicsList::AddChanneling().
|
private |
Definition at line 244 of file ExExChProcessChanneling.cc.
References ComputeCentrifugalEnergyMaximumVariation(), ComputeTransverseEnergy(), fIntegratedDensity, GetInfo(), XCrystalIntegratedDensityHub::GetIntegratedDensityElectron(), XCrystalIntegratedDensityHub::GetIntegratedDensityNuclei(), GetParticleDefinition(), G4ParticleDefinition::GetPDGCharge(), GetXPhysicalLattice(), ParticleIsNegative(), ResetDensity(), ExExChParticleUserInfo::SetElectronDensity(), and ExExChParticleUserInfo::SetNucleiDensity().
Referenced by UpdateParameters().
|
private |
Definition at line 217 of file ExExChProcessChanneling.cc.
References ComputeMomentum(), DBL_MAX, GetInfo(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4Track::GetStep(), ExExChParticleUserInfo::SetMomentumChanneled(), and ExExChParticleUserInfo::SetMomentumChanneledInitial().
Referenced by UpdateParameters().
|
private |
Definition at line 156 of file ExExChProcessChanneling.cc.
References ComputeCrystalCharacteristic(), fIntegratedDensity, G4cout, G4endl, GetXPhysicalLattice(), XCrystalIntegratedDensityHub::HasBeenInitialized(), UpdateDensity(), UpdateMomentum(), and UpdatePosition().
Referenced by IsUnderCoherentEffect().
|
private |
Definition at line 172 of file ExExChProcessChanneling.cc.
References XPhysicalLattice::ComputeInterplanarPeriod(), ComputePositionInTheCrystal(), DBL_MAX, G4UniformRand, GetInfo(), ExExChParticleUserInfo::GetPositionChanneled(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4Track::GetStep(), GetXPhysicalLattice(), HasLatticeOnBoundaryPost(), ExExChParticleUserInfo::SetPositionChanneled(), and ExExChParticleUserInfo::SetPositionChanneledInitial().
Referenced by UpdateParameters().
|
private |
Definition at line 156 of file ExExChProcessChanneling.hh.
Referenced by ComputeCriticalRadius(), ComputeCrystalCharacteristic(), GetElectricField(), and SetElectricField().
|
private |
Definition at line 160 of file ExExChProcessChanneling.hh.
Referenced by GetElectronDensity(), and SetElectronDensity().
|
private |
Definition at line 162 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), ExExChProcessChanneling(), GetFileCharacteristicsName(), and SetFileCharacteristicsName().
|
private |
Definition at line 157 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), GetIntegratedDensity(), SetIntegratedDensity(), UpdateDensity(), and UpdateParameters().
|
private |
Definition at line 153 of file ExExChProcessChanneling.hh.
Referenced by CheckStepPointLatticeForPosition(), CheckStepPointLatticeForVolume(), ExExChProcessChanneling(), GetXPhysicalLattice(), HasLattice(), HasLatticeOnBoundaryPost(), and HasLatticeOnBoundaryPre().
|
private |
Definition at line 159 of file ExExChProcessChanneling.hh.
Referenced by GetNucleiDensity(), and SetNucleiDensity().
|
private |
Definition at line 155 of file ExExChProcessChanneling.hh.
Referenced by ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputeCrystalCharacteristic(), ComputePotentialEnergy(), GetPotential(), and SetPotential().