ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/utils/include/G4EmBiasingManager.hh>
Private Member Functions | |
void | ApplyRangeCut (std::vector< G4DynamicParticle * > &vd, const G4Track &track, G4double &eloss, G4double safety) |
G4double | ApplySplitting (std::vector< G4DynamicParticle * > &vd, const G4Track &track, G4VEmModel *currentModel, G4int index, G4double tcut) |
G4double | ApplyDirectionalSplitting (std::vector< G4DynamicParticle * > &vd, const G4Track &track, G4VEmModel *currentModel, G4int index, G4double tcut, G4ParticleChangeForGamma *partChange) |
G4double | ApplyDirectionalSplitting (std::vector< G4DynamicParticle * > &vd, const G4Track &track, G4VEmModel *currentModel, G4int index, G4double tcut) |
G4double | ApplyRussianRoulette (std::vector< G4DynamicParticle * > &vd, G4int index) |
G4EmBiasingManager (G4EmBiasingManager &)=delete | |
G4EmBiasingManager & | operator= (const G4EmBiasingManager &right)=delete |
Private Attributes | |
G4int | nForcedRegions |
G4int | nSecBiasedRegions |
std::vector< const G4Region * > | forcedRegions |
std::vector< G4double > | lengthForRegion |
std::vector< const G4Region * > | secBiasedRegions |
std::vector< G4double > | secBiasedWeight |
std::vector< G4double > | secBiasedEnegryLimit |
std::vector< G4int > | nBremSplitting |
std::vector< G4int > | idxForcedCouple |
std::vector< G4int > | idxSecBiasedCouple |
std::vector< G4DynamicParticle * > | tmpSecondaries |
G4VEnergyLossProcess * | eIonisation |
const G4ParticleDefinition * | theElectron |
const G4ParticleDefinition * | theGamma |
G4double | fSafetyMin |
G4double | currentStepLimit |
G4bool | startTracking |
G4bool | fDirectionalSplitting |
G4ThreeVector | fDirectionalSplittingTarget |
G4double | fDirectionalSplittingRadius |
std::vector< G4double > | fDirectionalSplittingWeights |
Definition at line 66 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 66 of file G4EmBiasingManager.hh
G4EmBiasingManager::G4EmBiasingManager | ( | ) |
Definition at line 67 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 67 of file G4EmBiasingManager.cc
References G4Electron::Electron(), fDirectionalSplitting, fDirectionalSplittingRadius, fDirectionalSplittingTarget, fDirectionalSplittingWeights, fSafetyMin, G4Gamma::Gamma(), mm, theElectron, and theGamma.
G4EmBiasingManager::~G4EmBiasingManager | ( | ) |
Definition at line 83 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 83 of file G4EmBiasingManager.cc
|
privatedelete |
void G4EmBiasingManager::ActivateForcedInteraction | ( | G4double | length = 0.0 , |
const G4String & | r = "" |
||
) |
Definition at line 169 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 169 of file G4EmBiasingManager.cc
References forcedRegions, G4cout, G4endl, G4RegionStore::GetInstance(), G4RegionStore::GetRegion(), lengthForRegion, nForcedRegions, and reg.
Referenced by G4VEmProcess::ActivateForcedInteraction(), and G4VEnergyLossProcess::ActivateForcedInteraction().
void G4EmBiasingManager::ActivateSecondaryBiasing | ( | const G4String & | region, |
G4double | factor, | ||
G4double | energyLimit | ||
) |
Definition at line 210 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 210 of file G4EmBiasingManager.cc
References G4cout, G4endl, G4lrint(), G4RegionStore::GetInstance(), G4RegionStore::GetRegion(), nBremSplitting, nSecBiasedRegions, reg, secBiasedEnegryLimit, secBiasedRegions, secBiasedWeight, and w.
Referenced by G4VEmProcess::ActivateSecondaryBiasing(), and G4VEnergyLossProcess::ActivateSecondaryBiasing().
|
private |
Definition at line 521 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 521 of file G4EmBiasingManager.cc
References CheckDirection(), fDirectionalSplittingWeights, G4UniformRand, G4Track::GetDynamicParticle(), G4Track::GetMaterialCutsCouple(), G4Track::GetPosition(), G4ParticleChangeForGamma::GetProposedKineticEnergy(), G4ParticleChangeForGamma::GetProposedMomentumDirection(), G4Track::GetWeight(), k, nBremSplitting, pos(), G4ParticleChangeForGamma::ProposeMomentumDirection(), G4VParticleChange::ProposeWeight(), G4VEmModel::SampleSecondaries(), secBiasedWeight, G4ParticleChangeForGamma::SetProposedKineticEnergy(), theGamma, tmpSecondaries, w, and weight.
Referenced by ApplySecondaryBiasing().
|
private |
Definition at line 650 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 650 of file G4EmBiasingManager.cc
References CheckDirection(), fDirectionalSplittingWeights, G4UniformRand, G4Track::GetDynamicParticle(), G4Track::GetMaterialCutsCouple(), G4Track::GetPosition(), G4Track::GetWeight(), k, nBremSplitting, pos(), G4VEmModel::SampleSecondaries(), secBiasedWeight, tmpSecondaries, w, and weight.
|
private |
Definition at line 436 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 436 of file G4EmBiasingManager.cc
References e, eIonisation, G4DynamicParticle::GetDefinition(), G4LossTableManager::GetEnergyLossProcess(), G4DynamicParticle::GetKineticEnergy(), G4Track::GetMaterialCutsCouple(), G4VEnergyLossProcess::GetRangeForLoss(), G4LossTableManager::Instance(), k, n, and theElectron.
Referenced by ApplySecondaryBiasing().
|
inlineprivate |
Definition at line 223 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 223 of file G4EmBiasingManager.hh
References G4UniformRand, k, n, secBiasedWeight, and weight.
Referenced by ApplySecondaryBiasing().
G4double G4EmBiasingManager::ApplySecondaryBiasing | ( | std::vector< G4DynamicParticle * > & | vd, |
const G4Track & | track, | ||
G4VEmModel * | currentModel, | ||
G4ParticleChangeForGamma * | pParticleChange, | ||
G4double & | eloss, | ||
G4int | coupleIdx, | ||
G4double | tcut, | ||
G4double | safety = 0.0 |
||
) |
Definition at line 348 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 348 of file G4EmBiasingManager.cc
References ApplyDirectionalSplitting(), ApplyRangeCut(), ApplyRussianRoulette(), ApplySplitting(), fDirectionalSplitting, fSafetyMin, G4ParticleChangeForGamma::GetProposedKineticEnergy(), G4ParticleChangeForGamma::GetProposedMomentumDirection(), idxSecBiasedCouple, n, nBremSplitting, G4ParticleChangeForGamma::ProposeMomentumDirection(), secBiasedEnegryLimit, G4ParticleChangeForGamma::SetProposedKineticEnergy(), and weight.
Referenced by G4eplusAnnihilation::AtRestDoIt(), G4VEnergyLossProcess::FillSecondariesAlongStep(), G4VEmProcess::PostStepDoIt(), and G4VEnergyLossProcess::PostStepDoIt().
G4double G4EmBiasingManager::ApplySecondaryBiasing | ( | std::vector< G4DynamicParticle * > & | vd, |
const G4Track & | track, | ||
G4VEmModel * | currentModel, | ||
G4ParticleChangeForLoss * | pParticleChange, | ||
G4double & | eloss, | ||
G4int | coupleIdx, | ||
G4double | tcut, | ||
G4double | safety = 0.0 |
||
) |
Definition at line 295 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 295 of file G4EmBiasingManager.cc
References ApplyDirectionalSplitting(), ApplyRangeCut(), ApplyRussianRoulette(), ApplySplitting(), fDirectionalSplitting, fSafetyMin, G4ParticleChangeForLoss::GetProposedKineticEnergy(), G4ParticleChangeForLoss::GetProposedMomentumDirection(), idxSecBiasedCouple, n, nBremSplitting, G4ParticleChangeForLoss::ProposeMomentumDirection(), secBiasedEnegryLimit, G4ParticleChangeForLoss::SetProposedKineticEnergy(), and weight.
G4double G4EmBiasingManager::ApplySecondaryBiasing | ( | std::vector< G4Track * > & | track, |
G4int | coupleIdx | ||
) |
Definition at line 402 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 402 of file G4EmBiasingManager.cc
References G4UniformRand, idxSecBiasedCouple, k, n, nBremSplitting, secBiasedEnegryLimit, secBiasedWeight, t, and weight.
|
private |
Definition at line 478 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 478 of file G4EmBiasingManager.cc
References G4Track::GetDynamicParticle(), G4Track::GetMaterialCutsCouple(), G4Track::GetWeight(), k, n, nBremSplitting, G4VEmModel::SampleSecondaries(), secBiasedWeight, tmpSecondaries, w, and weight.
Referenced by ApplySecondaryBiasing().
G4bool G4EmBiasingManager::CheckDirection | ( | G4ThreeVector | pos, |
G4ThreeVector | momdir | ||
) | const |
Definition at line 463 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 463 of file G4EmBiasingManager.cc
References angle, CLHEP::Hep3Vector::angle(), CLHEP::Hep3Vector::cross(), Acts::Test::delta, fDirectionalSplittingRadius, fDirectionalSplittingTarget, halfpi, CLHEP::Hep3Vector::mag(), and pos().
Referenced by ApplyDirectionalSplitting().
Definition at line 206 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 206 of file G4EmBiasingManager.hh
References idxForcedCouple, and nForcedRegions.
Referenced by G4VEmProcess::PostStepDoIt(), G4VEnergyLossProcess::PostStepDoIt(), G4VEmProcess::PostStepGetPhysicalInteractionLength(), and G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength().
|
inline |
Definition at line 125 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 125 of file G4EmBiasingManager.hh
References fDirectionalSplitting.
Definition at line 273 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 273 of file G4EmBiasingManager.cc
References currentStepLimit, DBL_MAX, G4UniformRand, idxForcedCouple, lengthForRegion, and startTracking.
Referenced by G4VEmProcess::PostStepGetPhysicalInteractionLength(), and G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength().
Definition at line 636 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 636 of file G4EmBiasingManager.cc
References fDirectionalSplittingWeights, int(), and w.
Referenced by G4eplusAnnihilation::AtRestDoIt(), G4VEmProcess::PostStepDoIt(), and G4VEnergyLossProcess::PostStepDoIt().
void G4EmBiasingManager::Initialise | ( | const G4ParticleDefinition & | part, |
const G4String & | procName, | ||
G4int | verbose | ||
) |
Definition at line 88 of file G4EmBiasingManager.cc.
View newest version in sPHENIX GitHub at line 88 of file G4EmBiasingManager.cc
References cm, fDirectionalSplitting, fDirectionalSplittingRadius, fDirectionalSplittingTarget, forcedRegions, G4cout, G4endl, G4EmParameters::GetDirectionalSplitting(), G4EmParameters::GetDirectionalSplittingRadius(), G4EmParameters::GetDirectionalSplittingTarget(), G4ProductionCutsTable::GetMaterialCutsCouple(), G4Region::GetName(), G4ParticleDefinition::GetParticleName(), G4MaterialCutsCouple::GetProductionCuts(), G4ProductionCutsTable::GetProductionCutsTable(), G4ProductionCutsTable::GetTableSize(), idxForcedCouple, idxSecBiasedCouple, G4EmParameters::Instance(), nForcedRegions, nSecBiasedRegions, r, secBiasedRegions, secBiasedWeight, SetDirectionalSplitting(), SetDirectionalSplittingRadius(), and SetDirectionalSplittingTarget().
Referenced by G4VEmProcess::PreparePhysicsTable(), and G4VEnergyLossProcess::PreparePhysicsTable().
|
privatedelete |
|
inline |
Definition at line 215 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 215 of file G4EmBiasingManager.hh
References startTracking.
Referenced by G4VEmProcess::StartTracking(), and G4VEnergyLossProcess::StartTracking().
Definition at line 197 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 197 of file G4EmBiasingManager.hh
References idxSecBiasedCouple, and nSecBiasedRegions.
Referenced by G4eplusAnnihilation::AtRestDoIt(), G4VEnergyLossProcess::FillSecondariesAlongStep(), G4VEmProcess::PostStepDoIt(), and G4VEnergyLossProcess::PostStepDoIt().
Definition at line 126 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 126 of file G4EmBiasingManager.hh
References fDirectionalSplitting, and v.
Referenced by Initialise().
Definition at line 130 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 130 of file G4EmBiasingManager.hh
References fDirectionalSplittingRadius, and r.
Referenced by Initialise().
|
inline |
Definition at line 128 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 128 of file G4EmBiasingManager.hh
References fDirectionalSplittingTarget, and v.
Referenced by Initialise().
|
private |
Definition at line 187 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 187 of file G4EmBiasingManager.hh
Referenced by GetStepLimit().
|
private |
Definition at line 181 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 181 of file G4EmBiasingManager.hh
Referenced by ApplyRangeCut().
|
private |
Definition at line 190 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 190 of file G4EmBiasingManager.hh
Referenced by ApplySecondaryBiasing(), G4EmBiasingManager(), GetDirectionalSplitting(), Initialise(), and SetDirectionalSplitting().
|
private |
Definition at line 192 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 192 of file G4EmBiasingManager.hh
Referenced by CheckDirection(), G4EmBiasingManager(), Initialise(), and SetDirectionalSplittingRadius().
|
private |
Definition at line 191 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 191 of file G4EmBiasingManager.hh
Referenced by CheckDirection(), G4EmBiasingManager(), Initialise(), and SetDirectionalSplittingTarget().
|
private |
Definition at line 193 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 193 of file G4EmBiasingManager.hh
Referenced by ApplyDirectionalSplitting(), G4EmBiasingManager(), and GetWeight().
|
private |
Definition at line 169 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 169 of file G4EmBiasingManager.hh
Referenced by ActivateForcedInteraction(), and Initialise().
|
private |
Definition at line 186 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 186 of file G4EmBiasingManager.hh
Referenced by ApplySecondaryBiasing(), and G4EmBiasingManager().
|
private |
Definition at line 176 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 176 of file G4EmBiasingManager.hh
Referenced by ForcedInteractionRegion(), GetStepLimit(), and Initialise().
|
private |
Definition at line 177 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 177 of file G4EmBiasingManager.hh
Referenced by ApplySecondaryBiasing(), Initialise(), and SecondaryBiasingRegion().
|
private |
Definition at line 170 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 170 of file G4EmBiasingManager.hh
Referenced by ActivateForcedInteraction(), and GetStepLimit().
|
private |
Definition at line 174 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 174 of file G4EmBiasingManager.hh
Referenced by ActivateSecondaryBiasing(), ApplyDirectionalSplitting(), ApplySecondaryBiasing(), and ApplySplitting().
|
private |
Definition at line 167 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 167 of file G4EmBiasingManager.hh
Referenced by ActivateForcedInteraction(), ForcedInteractionRegion(), and Initialise().
|
private |
Definition at line 168 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 168 of file G4EmBiasingManager.hh
Referenced by ActivateSecondaryBiasing(), Initialise(), and SecondaryBiasingRegion().
|
private |
Definition at line 173 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 173 of file G4EmBiasingManager.hh
Referenced by ActivateSecondaryBiasing(), and ApplySecondaryBiasing().
|
private |
Definition at line 171 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 171 of file G4EmBiasingManager.hh
Referenced by ActivateSecondaryBiasing(), and Initialise().
|
private |
Definition at line 172 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 172 of file G4EmBiasingManager.hh
Referenced by ActivateSecondaryBiasing(), ApplyDirectionalSplitting(), ApplyRussianRoulette(), ApplySecondaryBiasing(), ApplySplitting(), and Initialise().
|
private |
Definition at line 188 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 188 of file G4EmBiasingManager.hh
Referenced by GetStepLimit(), and ResetForcedInteraction().
|
private |
Definition at line 183 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 183 of file G4EmBiasingManager.hh
Referenced by ApplyRangeCut(), and G4EmBiasingManager().
|
private |
Definition at line 184 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 184 of file G4EmBiasingManager.hh
Referenced by ApplyDirectionalSplitting(), and G4EmBiasingManager().
|
private |
Definition at line 179 of file G4EmBiasingManager.hh.
View newest version in sPHENIX GitHub at line 179 of file G4EmBiasingManager.hh
Referenced by ApplyDirectionalSplitting(), and ApplySplitting().