Geant4
10.03
|
#include <ExExChProcessChanneling.hh>
Protected Member Functions | |
virtual G4double | GetMeanFreePath (const G4Track &, G4double, G4ForceCondition *) |
![]() | |
void | SubtractNumberOfInteractionLengthLeft (G4double previousStepSize) |
void | ClearNumberOfInteractionLengthLeft () |
Additional Inherited Members | |
![]() | |
static const G4String & | GetProcessTypeName (G4ProcessType) |
![]() | |
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 46 of file ExExChProcessChanneling.hh.
ExExChProcessChanneling::ExExChProcessChanneling | ( | const G4String & | processName = "ExExChProcessChanneling" | ) |
Definition at line 62 of file ExExChProcessChanneling.cc.
References angstrom, fFileCharacteristicsName, fLatticeManager, fPointYPost, fPointYPre, fTimeStepMax, fTimeStepMin, fTransverseVariationMax, G4cout, G4endl, G4GeometryTolerance::GetInstance(), G4VProcess::GetProcessName(), G4GeometryTolerance::GetSurfaceTolerance(), XLatticeManager3::GetXLatticeManager(), kCarTolerance, mm, and G4VProcess::verboseLevel.
|
virtual |
Definition at line 86 of file ExExChProcessChanneling.cc.
|
private |
Definition at line 92 of file ExExChProcessChanneling.cc.
|
virtual |
Reimplemented from G4VProcess.
Definition at line 852 of file ExExChProcessChanneling.cc.
|
private |
Definition at line 408 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 376 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 629 of file ExExChProcessChanneling.cc.
References XPhysicalLattice::ComputeInterplanarPeriod(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), GetXPL(), and ParticleIsNegative().
|
private |
Definition at line 678 of file ExExChProcessChanneling.cc.
References G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPL().
Definition at line 755 of file ExExChProcessChanneling.cc.
References ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetTotalEnergy().
Referenced by ComputeOscillationPeriod().
Definition at line 705 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetMaximum(), XVCrystalCharacteristic::GetMinimum(), GetParticleDefinition(), GetXPL(), and ParticleIsNegative().
Referenced by ComputeCriticalAngle(), and ComputePotentialWellCentre().
Definition at line 730 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetMaximum(), XVCrystalCharacteristic::GetMinimum(), GetParticleDefinition(), GetXPL(), and ParticleIsNegative().
Referenced by ComputeCriticalAngle(), and ComputePotentialWellCentre().
Definition at line 789 of file ExExChProcessChanneling.cc.
References fElectricField, XVCrystalCharacteristic::GetMaximum(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPL().
|
private |
Definition at line 997 of file ExExChProcessChanneling.cc.
References eV, fElectricField, fElectronDensity, fFileCharacteristicsName, fIntegratedDensity, fNucleiDensity, fPotentialEnergy, G4cout, G4endl, GetXPL(), XVCrystalCharacteristic::InitializePhysicalLattice(), XCrystalIntegratedDensityHub::InitializeTables(), m, XVCrystalCharacteristic::PrintOnFile(), XVCrystalCharacteristic::ReadFromECHARM(), XCrystalIntegratedDensityHub::ReadFromFiles(), and XCrystalIntegratedDensityHub::SetXPhysicalLattice().
Referenced by UpdateParameters().
|
private |
Definition at line 588 of file ExExChProcessChanneling.cc.
References GetInfo(), ExExChParticleUserInfo::GetMomentumChanneled(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetTotalEnergy().
Referenced by ComputeTransverseEnergy().
|
private |
Definition at line 659 of file ExExChProcessChanneling.cc.
References ComputePositionInTheCrystal(), G4Track::GetMomentum(), and GetXPL().
Referenced by UpdateInitialParameters(), and UpdateParameters().
Definition at line 773 of file ExExChProcessChanneling.cc.
References ComputeCriticalAngle(), XPhysicalLattice::ComputeInterplanarPeriod(), GetXPL(), and pi.
Referenced by GetChannelingMeanFreePath().
|
private |
Definition at line 344 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(), GetXPL(), G4Box::GetYHalfLength(), G4Box::GetZHalfLength(), and G4AffineTransform::TransformPoint().
Referenced by ComputeMomentum(), PostStepDoIt(), and UpdateParameters().
|
private |
Definition at line 610 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetEC(), GetInfo(), GetParticleDefinition(), G4ParticleDefinition::GetPDGCharge(), and GetXPL().
Referenced by ComputeTransverseEnergy().
|
private |
Definition at line 808 of file ExExChProcessChanneling.cc.
References ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), XPhysicalLattice::ComputeInterplanarPeriod(), XPhysicalLattice::GetCurvatureRadius(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPL().
|
private |
Definition at line 575 of file ExExChProcessChanneling.cc.
References ComputeKineticEnergy(), and ComputePotentialEnergy().
|
private |
Definition at line 478 of file ExExChProcessChanneling.cc.
References ComputeOscillationPeriod(), and HasLatticeOnBoundaryPre().
Referenced by GetMeanFreePath().
XVCrystalCharacteristic * ExExChProcessChanneling::GetElectricField | ( | ) |
Definition at line 112 of file ExExChProcessChanneling.cc.
References fElectricField.
Referenced by UpdateParameters().
XVCrystalCharacteristic * ExExChProcessChanneling::GetElectronDensity | ( | ) |
Definition at line 152 of file ExExChProcessChanneling.cc.
References fElectronDensity.
Referenced by UpdateParameters().
|
inline |
Definition at line 102 of file ExExChProcessChanneling.hh.
References fFileCharacteristicsName.
|
private |
Definition at line 983 of file ExExChProcessChanneling.cc.
References G4Track::GetUserInformation().
Referenced by ComputeKineticEnergy(), ComputePotentialEnergy(), GetMeanFreePath(), PostStepDoIt(), ResetDensity(), UpdateInitialParameters(), and UpdateParameters().
XCrystalIntegratedDensityHub * ExExChProcessChanneling::GetIntegratedDensity | ( | ) |
Definition at line 126 of file ExExChProcessChanneling.cc.
References fIntegratedDensity.
|
protectedvirtual |
Implements G4VDiscreteProcess.
Definition at line 496 of file ExExChProcessChanneling.cc.
References DBL_MAX, Forced, GetChannelingMeanFreePath(), GetInfo(), HasLattice(), and ExExChParticleUserInfo::SetInTheCrystal().
XVCrystalCharacteristic * ExExChProcessChanneling::GetNucleiDensity | ( | ) |
Definition at line 139 of file ExExChProcessChanneling.cc.
References fNucleiDensity.
Referenced by UpdateParameters().
|
private |
Definition at line 990 of file ExExChProcessChanneling.cc.
References G4Track::GetParticleDefinition().
Referenced by ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputePotentialEnergy(), ParticleIsNegative(), and UpdateParameters().
XVCrystalCharacteristic * ExExChProcessChanneling::GetPotential | ( | ) |
Definition at line 99 of file ExExChProcessChanneling.cc.
References fPotentialEnergy.
|
inline |
Definition at line 95 of file ExExChProcessChanneling.hh.
References fTimeStepMin.
|
inline |
Definition at line 87 of file ExExChProcessChanneling.hh.
References fTransverseVariationMax.
|
private |
|
private |
Definition at line 859 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(), ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputeCriticalRadius(), ComputeCrystalCharacteristic(), ComputeMomentum(), ComputeOscillationPeriod(), ComputePositionInTheCrystal(), ComputePotentialEnergy(), ComputePotentialWellCentre(), PostStepDoIt(), UpdateInitialParameters(), UpdateIntegrationStep(), and UpdateParameters().
Definition at line 880 of file ExExChProcessChanneling.cc.
References fLatticeManager, G4StepPoint::GetPhysicalVolume(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and XLatticeManager3::HasLattice().
Referenced by GetMeanFreePath(), and PostStepDoIt().
Definition at line 893 of file ExExChProcessChanneling.cc.
References HasLatticeOnBoundaryPost(), and HasLatticeOnBoundaryPre().
Definition at line 919 of file ExExChProcessChanneling.cc.
References fGeomBoundary, fLatticeManager, G4Step::GetPostStepPoint(), G4Track::GetStep(), G4StepPoint::GetStepStatus(), and XLatticeManager3::HasLattice().
Referenced by HasLatticeOnBoundary(), and PostStepDoIt().
Definition at line 905 of file ExExChProcessChanneling.cc.
References fGeomBoundary, fLatticeManager, G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetStepStatus(), and XLatticeManager3::HasLattice().
Referenced by GetChannelingMeanFreePath(), and HasLatticeOnBoundary().
|
virtual |
Reimplemented from G4VProcess.
Definition at line 845 of file ExExChProcessChanneling.cc.
References G4ParticleDefinition::GetPDGCharge().
|
private |
Definition at line 932 of file ExExChProcessChanneling.cc.
References GetParticleDefinition().
Referenced by ComputeCentrifugalEnergy(), ComputeCriticalEnergyMaximum(), and ComputeCriticalEnergyMinimum().
Definition at line 970 of file ExExChProcessChanneling.cc.
References ParticleIsNotOnBoundaryPost(), and ParticleIsNotOnBoundaryPre().
Definition at line 958 of file ExExChProcessChanneling.cc.
References fGeomBoundary, G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetStepStatus().
Referenced by ParticleIsNotOnBoundary().
Definition at line 946 of file ExExChProcessChanneling.cc.
References fGeomBoundary, G4Step::GetPreStepPoint(), G4Track::GetStep(), and G4StepPoint::GetStepStatus().
Referenced by ParticleIsNotOnBoundary().
|
virtual |
Reimplemented from G4VDiscreteProcess.
Definition at line 521 of file ExExChProcessChanneling.cc.
References G4VProcess::aParticleChange, ComputePositionInTheCrystal(), DBL_MAX, GetInfo(), ExExChParticleUserInfo::GetMomentumChanneled(), G4Step::GetPostStepPoint(), G4Track::GetStep(), GetXPL(), HasLattice(), HasLatticeOnBoundaryPost(), G4ParticleChange::Initialize(), XPhysicalLattice::ProjectMomentumVectorFromLatticeToWorld(), G4ParticleChange::ProposeMomentumDirection(), ResetDensity(), ExExChParticleUserInfo::SetMomentumChanneled(), ExExChParticleUserInfo::SetPositionChanneled(), ExExChParticleUserInfo::StoreDensityPreviousStep(), and UpdateParameters().
void ExExChProcessChanneling::ReadFromFileCharacteristics | ( | G4bool | ) |
|
private |
Definition at line 333 of file ExExChProcessChanneling.cc.
References GetInfo(), ExExChParticleUserInfo::SetElectronDensity(), and ExExChParticleUserInfo::SetNucleiDensity().
Referenced by PostStepDoIt(), and UpdateParameters().
void ExExChProcessChanneling::SetElectricField | ( | XVCrystalCharacteristic * | vElectricField | ) |
Definition at line 119 of file ExExChProcessChanneling.cc.
References fElectricField.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetElectronDensity | ( | XVCrystalCharacteristic * | vElectronDensity | ) |
Definition at line 159 of file ExExChProcessChanneling.cc.
References fElectronDensity.
Referenced by ExExChPhysicsList::AddChanneling().
|
inline |
Definition at line 100 of file ExExChProcessChanneling.hh.
References fFileCharacteristicsName.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetIntegratedDensity | ( | XCrystalIntegratedDensityHub * | vIntegratedDensity | ) |
Definition at line 133 of file ExExChProcessChanneling.cc.
References fIntegratedDensity.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetNucleiDensity | ( | XVCrystalCharacteristic * | vNucleiDensity | ) |
Definition at line 146 of file ExExChProcessChanneling.cc.
References fNucleiDensity.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetPotential | ( | XVCrystalCharacteristic * | vPotential | ) |
Definition at line 106 of file ExExChProcessChanneling.cc.
References fPotentialEnergy.
Referenced by ExExChPhysicsList::AddChanneling().
|
inline |
Definition at line 96 of file ExExChProcessChanneling.hh.
References fTimeStepMin.
Referenced by ExExChPhysicsList::AddChanneling().
|
inline |
Definition at line 91 of file ExExChProcessChanneling.hh.
References fTransverseVariationMax.
Referenced by ExExChPhysicsList::AddChanneling().
Definition at line 165 of file ExExChProcessChanneling.cc.
References XPhysicalLattice::ComputeInterplanarPeriod(), ComputeMomentum(), DBL_MAX, G4UniformRand, GetInfo(), G4Step::GetPostStepPoint(), G4Track::GetStep(), GetXPL(), ExExChParticleUserInfo::SetMomentumChanneled(), ExExChParticleUserInfo::SetMomentumChanneledInitial(), ExExChParticleUserInfo::SetPositionChanneled(), and ExExChParticleUserInfo::SetPositionChanneledInitial().
Referenced by UpdateParameters().
|
private |
Definition at line 440 of file ExExChProcessChanneling.cc.
References fElectricField, fIntegrationPeriod, fTimeStep, fTimeStepMax, fTimeStepMin, fTimeStepTotal, fTransverseVariationMax, XVCrystalCharacteristic::GetMaximum(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPL().
Referenced by UpdateParameters().
|
private |
Definition at line 199 of file ExExChProcessChanneling.cc.
References ComputeCrystalCharacteristic(), ComputeMomentum(), ComputePositionInTheCrystal(), fHasToComputeTrajectory, fIntegratedDensity, fIntegrationPeriod, fPointYPost, fPointYPre, fTimeStep, fTimeStepTotal, G4cout, G4endl, XPhysicalLattice::GetCurvatureRadius(), XVCrystalCharacteristic::GetEC(), GetElectricField(), GetElectronDensity(), GetInfo(), ExExChParticleUserInfo::GetMomentumChanneled(), GetNucleiDensity(), GetParticleDefinition(), G4ParticleDefinition::GetPDGCharge(), ExExChParticleUserInfo::GetPositionChanneled(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4Track::GetVelocity(), GetXPL(), XCrystalIntegratedDensityHub::HasBeenInitialized(), XPhysicalLattice::IsBent(), ResetDensity(), ExExChParticleUserInfo::SetElectronDensity(), ExExChParticleUserInfo::SetMomentumChanneled(), ExExChParticleUserInfo::SetNucleiDensity(), ExExChParticleUserInfo::SetPositionChanneled(), UpdateInitialParameters(), and UpdateIntegrationStep().
Referenced by PostStepDoIt().
|
private |
Definition at line 161 of file ExExChProcessChanneling.hh.
Referenced by ComputeCriticalRadius(), ComputeCrystalCharacteristic(), GetElectricField(), SetElectricField(), and UpdateIntegrationStep().
|
private |
Definition at line 165 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), GetElectronDensity(), and SetElectronDensity().
|
private |
Definition at line 167 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), ExExChProcessChanneling(), GetFileCharacteristicsName(), and SetFileCharacteristicsName().
|
private |
Definition at line 176 of file ExExChProcessChanneling.hh.
Referenced by UpdateParameters().
|
private |
Definition at line 162 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), GetIntegratedDensity(), SetIntegratedDensity(), and UpdateParameters().
|
private |
Definition at line 181 of file ExExChProcessChanneling.hh.
Referenced by UpdateIntegrationStep(), and UpdateParameters().
|
private |
Definition at line 158 of file ExExChProcessChanneling.hh.
Referenced by CheckStepPointLatticeForPosition(), CheckStepPointLatticeForVolume(), ExExChProcessChanneling(), GetXPL(), HasLattice(), HasLatticeOnBoundaryPost(), and HasLatticeOnBoundaryPre().
|
private |
Definition at line 164 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), GetNucleiDensity(), and SetNucleiDensity().
|
private |
Definition at line 177 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), and UpdateParameters().
|
private |
Definition at line 178 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), and UpdateParameters().
|
private |
Definition at line 160 of file ExExChProcessChanneling.hh.
Referenced by ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputeCrystalCharacteristic(), ComputePotentialEnergy(), GetPotential(), and SetPotential().
|
private |
Definition at line 171 of file ExExChProcessChanneling.hh.
Referenced by UpdateIntegrationStep(), and UpdateParameters().
|
private |
Definition at line 173 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), and UpdateIntegrationStep().
|
private |
Definition at line 172 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), GetTimeStepMin(), SetTimeStepMin(), and UpdateIntegrationStep().
|
private |
Definition at line 174 of file ExExChProcessChanneling.hh.
Referenced by UpdateIntegrationStep(), and UpdateParameters().
|
private |
Definition at line 180 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), GetTransverseVariationMax(), SetTransverseVariationMax(), and UpdateIntegrationStep().