Geant4
10.02.p02
|
#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 angstrom, bPointYPost, bPointYPre, fFileCharacteristicsName, fLatticeManager, fTimeStepMax, fTimeStepMin, fTransverseVariationMax, G4cout, G4endl, G4GeometryTolerance::GetInstance(), G4VProcess::GetProcessName(), G4GeometryTolerance::GetSurfaceTolerance(), XLatticeManager3::GetXLatticeManager(), mm, and G4VProcess::verboseLevel.
|
virtual |
Definition at line 83 of file ExExChProcessChanneling.cc.
|
private |
Definition at line 89 of file ExExChProcessChanneling.cc.
|
virtual |
Reimplemented from G4VProcess.
Definition at line 849 of file ExExChProcessChanneling.cc.
|
private |
Definition at line 405 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 373 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 626 of file ExExChProcessChanneling.cc.
References XPhysicalLattice::ComputeInterplanarPeriod(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), GetXPL(), ParticleIsNegative(), and x.
|
private |
Definition at line 675 of file ExExChProcessChanneling.cc.
References G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), GetXPL(), and x.
Definition at line 752 of file ExExChProcessChanneling.cc.
References ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetTotalEnergy().
Referenced by ComputeOscillationPeriod().
Definition at line 702 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetMaximum(), XVCrystalCharacteristic::GetMinimum(), GetParticleDefinition(), GetXPL(), and ParticleIsNegative().
Referenced by ComputeCriticalAngle(), and ComputePotentialWellCentre().
Definition at line 727 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetMaximum(), XVCrystalCharacteristic::GetMinimum(), GetParticleDefinition(), GetXPL(), and ParticleIsNegative().
Referenced by ComputeCriticalAngle(), and ComputePotentialWellCentre().
Definition at line 786 of file ExExChProcessChanneling.cc.
References fElectricField, XVCrystalCharacteristic::GetMaximum(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPL().
|
private |
Definition at line 994 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 585 of file ExExChProcessChanneling.cc.
References GetInfo(), ExExChParticleUserInfo::GetMomentumChanneled(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetTotalEnergy().
Referenced by ComputeTransverseEnergy().
|
private |
Definition at line 656 of file ExExChProcessChanneling.cc.
References ComputePositionInTheCrystal(), G4Track::GetMomentum(), and GetXPL().
Referenced by UpdateInitialParameters(), and UpdateParameters().
Definition at line 770 of file ExExChProcessChanneling.cc.
References ComputeCriticalAngle(), XPhysicalLattice::ComputeInterplanarPeriod(), GetXPL(), and pi.
Referenced by GetChannelingMeanFreePath().
|
private |
Definition at line 341 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 607 of file ExExChProcessChanneling.cc.
References fPotentialEnergy, XVCrystalCharacteristic::GetEC(), GetInfo(), GetParticleDefinition(), G4ParticleDefinition::GetPDGCharge(), and GetXPL().
Referenced by ComputeTransverseEnergy().
|
private |
Definition at line 805 of file ExExChProcessChanneling.cc.
References ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), XPhysicalLattice::ComputeInterplanarPeriod(), XPhysicalLattice::GetCurvatureRadius(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4StepPoint::GetTotalEnergy(), and GetXPL().
|
private |
Definition at line 572 of file ExExChProcessChanneling.cc.
References ComputeKineticEnergy(), and ComputePotentialEnergy().
|
private |
Definition at line 475 of file ExExChProcessChanneling.cc.
References ComputeOscillationPeriod(), and HasLatticeOnBoundaryPre().
Referenced by GetMeanFreePath().
XVCrystalCharacteristic * ExExChProcessChanneling::GetElectricField | ( | ) |
Definition at line 109 of file ExExChProcessChanneling.cc.
References fElectricField.
Referenced by UpdateParameters().
XVCrystalCharacteristic * ExExChProcessChanneling::GetElectronDensity | ( | ) |
Definition at line 149 of file ExExChProcessChanneling.cc.
References fElectronDensity.
Referenced by UpdateParameters().
|
inline |
Definition at line 99 of file ExExChProcessChanneling.hh.
References fFileCharacteristicsName.
|
private |
Definition at line 980 of file ExExChProcessChanneling.cc.
References G4Track::GetUserInformation().
Referenced by ComputeKineticEnergy(), ComputePotentialEnergy(), GetMeanFreePath(), PostStepDoIt(), ResetDensity(), UpdateInitialParameters(), and UpdateParameters().
XCrystalIntegratedDensityHub * ExExChProcessChanneling::GetIntegratedDensity | ( | ) |
Definition at line 123 of file ExExChProcessChanneling.cc.
References fIntegratedDensity.
|
protectedvirtual |
Implements G4VDiscreteProcess.
Definition at line 493 of file ExExChProcessChanneling.cc.
References DBL_MAX, Forced, GetChannelingMeanFreePath(), GetInfo(), HasLattice(), and ExExChParticleUserInfo::SetInTheCrystal().
XVCrystalCharacteristic * ExExChProcessChanneling::GetNucleiDensity | ( | ) |
Definition at line 136 of file ExExChProcessChanneling.cc.
References fNucleiDensity.
Referenced by UpdateParameters().
|
private |
Definition at line 987 of file ExExChProcessChanneling.cc.
References G4Track::GetParticleDefinition().
Referenced by ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputePotentialEnergy(), ParticleIsNegative(), and UpdateParameters().
XVCrystalCharacteristic * ExExChProcessChanneling::GetPotential | ( | ) |
Definition at line 96 of file ExExChProcessChanneling.cc.
References fPotentialEnergy.
|
inline |
Definition at line 92 of file ExExChProcessChanneling.hh.
References fTimeStepMin.
|
inline |
Definition at line 84 of file ExExChProcessChanneling.hh.
References fTransverseVariationMax.
|
private |
|
private |
Definition at line 856 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 877 of file ExExChProcessChanneling.cc.
References fLatticeManager, G4StepPoint::GetPhysicalVolume(), G4Step::GetPostStepPoint(), G4Track::GetStep(), and XLatticeManager3::HasLattice().
Referenced by GetMeanFreePath(), and PostStepDoIt().
Definition at line 890 of file ExExChProcessChanneling.cc.
References HasLatticeOnBoundaryPost(), and HasLatticeOnBoundaryPre().
Definition at line 916 of file ExExChProcessChanneling.cc.
References fGeomBoundary, fLatticeManager, G4Step::GetPostStepPoint(), G4Track::GetStep(), G4StepPoint::GetStepStatus(), and XLatticeManager3::HasLattice().
Referenced by HasLatticeOnBoundary(), and PostStepDoIt().
Definition at line 902 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 842 of file ExExChProcessChanneling.cc.
References G4ParticleDefinition::GetPDGCharge().
|
private |
Definition at line 929 of file ExExChProcessChanneling.cc.
References GetParticleDefinition().
Referenced by ComputeCentrifugalEnergy(), ComputeCriticalEnergyMaximum(), and ComputeCriticalEnergyMinimum().
Definition at line 967 of file ExExChProcessChanneling.cc.
References ParticleIsNotOnBoundaryPost(), and ParticleIsNotOnBoundaryPre().
Definition at line 955 of file ExExChProcessChanneling.cc.
References fGeomBoundary, G4Step::GetPostStepPoint(), G4Track::GetStep(), and G4StepPoint::GetStepStatus().
Referenced by ParticleIsNotOnBoundary().
Definition at line 943 of file ExExChProcessChanneling.cc.
References fGeomBoundary, G4Step::GetPreStepPoint(), G4Track::GetStep(), and G4StepPoint::GetStepStatus().
Referenced by ParticleIsNotOnBoundary().
|
virtual |
Reimplemented from G4VDiscreteProcess.
Definition at line 518 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 330 of file ExExChProcessChanneling.cc.
References GetInfo(), ExExChParticleUserInfo::SetElectronDensity(), and ExExChParticleUserInfo::SetNucleiDensity().
Referenced by PostStepDoIt(), and UpdateParameters().
void ExExChProcessChanneling::SetElectricField | ( | XVCrystalCharacteristic * | vElectricField | ) |
Definition at line 116 of file ExExChProcessChanneling.cc.
References fElectricField.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetElectronDensity | ( | XVCrystalCharacteristic * | vElectronDensity | ) |
Definition at line 156 of file ExExChProcessChanneling.cc.
References fElectronDensity.
Referenced by ExExChPhysicsList::AddChanneling().
|
inline |
Definition at line 97 of file ExExChProcessChanneling.hh.
References fFileCharacteristicsName.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetIntegratedDensity | ( | XCrystalIntegratedDensityHub * | vIntegratedDensity | ) |
Definition at line 130 of file ExExChProcessChanneling.cc.
References fIntegratedDensity.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetNucleiDensity | ( | XVCrystalCharacteristic * | vNucleiDensity | ) |
Definition at line 143 of file ExExChProcessChanneling.cc.
References fNucleiDensity.
Referenced by ExExChPhysicsList::AddChanneling().
void ExExChProcessChanneling::SetPotential | ( | XVCrystalCharacteristic * | vPotential | ) |
Definition at line 103 of file ExExChProcessChanneling.cc.
References fPotentialEnergy.
Referenced by ExExChPhysicsList::AddChanneling().
|
inline |
Definition at line 93 of file ExExChProcessChanneling.hh.
References fTimeStepMin.
Referenced by ExExChPhysicsList::AddChanneling().
|
inline |
Definition at line 88 of file ExExChProcessChanneling.hh.
References fTransverseVariationMax.
Referenced by ExExChPhysicsList::AddChanneling().
Definition at line 162 of file ExExChProcessChanneling.cc.
References XPhysicalLattice::ComputeInterplanarPeriod(), ComputeMomentum(), DBL_MAX, G4UniformRand, GetInfo(), G4Step::GetPostStepPoint(), G4Track::GetStep(), GetXPL(), ExExChParticleUserInfo::SetMomentumChanneled(), ExExChParticleUserInfo::SetMomentumChanneledInitial(), ExExChParticleUserInfo::SetPositionChanneled(), ExExChParticleUserInfo::SetPositionChanneledInitial(), and x.
Referenced by UpdateParameters().
|
private |
Definition at line 437 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 196 of file ExExChProcessChanneling.cc.
References bHasToComputeTrajectory, bPointYPost, bPointYPre, ComputeCrystalCharacteristic(), ComputeMomentum(), ComputePositionInTheCrystal(), fIntegratedDensity, fIntegrationPeriod, 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(), UpdateIntegrationStep(), and x.
Referenced by PostStepDoIt().
|
private |
Definition at line 173 of file ExExChProcessChanneling.hh.
Referenced by UpdateParameters().
|
private |
Definition at line 174 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), and UpdateParameters().
|
private |
Definition at line 175 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), and UpdateParameters().
|
private |
Definition at line 158 of file ExExChProcessChanneling.hh.
Referenced by ComputeCriticalRadius(), ComputeCrystalCharacteristic(), GetElectricField(), SetElectricField(), and UpdateIntegrationStep().
|
private |
Definition at line 162 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), GetElectronDensity(), and SetElectronDensity().
|
private |
Definition at line 164 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), ExExChProcessChanneling(), GetFileCharacteristicsName(), and SetFileCharacteristicsName().
|
private |
Definition at line 159 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), GetIntegratedDensity(), SetIntegratedDensity(), and UpdateParameters().
|
private |
Definition at line 178 of file ExExChProcessChanneling.hh.
Referenced by UpdateIntegrationStep(), and UpdateParameters().
|
private |
Definition at line 155 of file ExExChProcessChanneling.hh.
Referenced by CheckStepPointLatticeForPosition(), CheckStepPointLatticeForVolume(), ExExChProcessChanneling(), GetXPL(), HasLattice(), HasLatticeOnBoundaryPost(), and HasLatticeOnBoundaryPre().
|
private |
Definition at line 161 of file ExExChProcessChanneling.hh.
Referenced by ComputeCrystalCharacteristic(), GetNucleiDensity(), and SetNucleiDensity().
|
private |
Definition at line 157 of file ExExChProcessChanneling.hh.
Referenced by ComputeCriticalEnergyMaximum(), ComputeCriticalEnergyMinimum(), ComputeCrystalCharacteristic(), ComputePotentialEnergy(), GetPotential(), and SetPotential().
|
private |
Definition at line 168 of file ExExChProcessChanneling.hh.
Referenced by UpdateIntegrationStep(), and UpdateParameters().
|
private |
Definition at line 170 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), and UpdateIntegrationStep().
|
private |
Definition at line 169 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), GetTimeStepMin(), SetTimeStepMin(), and UpdateIntegrationStep().
|
private |
Definition at line 171 of file ExExChProcessChanneling.hh.
Referenced by UpdateIntegrationStep(), and UpdateParameters().
|
private |
Definition at line 177 of file ExExChProcessChanneling.hh.
Referenced by ExExChProcessChanneling(), GetTransverseVariationMax(), SetTransverseVariationMax(), and UpdateIntegrationStep().