66   : nForcedRegions(0),nSecBiasedRegions(0),eIonisation(nullptr),
 
   67     currentStepLimit(0.0),startTracking(true)
 
   94   for (
size_t j=0; j<numOfCouples; ++j) {
 
  120     G4cout << 
" Forced Interaction is activated for " 
  123            << 
" inside G4Regions: " << 
G4endl;
 
  130     G4cout << 
" Secondary biasing is activated for "  
  133            << 
" inside G4Regions: " << 
G4endl;
 
  151   if(name == 
"" || name == 
"world" || name == 
"World") {
 
  152     name = 
"DefaultRegionForTheWorld";
 
  156     G4cout << 
"### G4EmBiasingManager::ForcedInteraction WARNING: " 
  158            << rname << 
"> is unknown" << 
G4endl;
 
  172     G4cout << 
"### G4EmBiasingManager::ForcedInteraction WARNING: " 
  173            << val << 
" < 0.0, so no activation for the G4Region <" 
  174            << rname << 
">" << 
G4endl;
 
  196   if(name == 
"" || name == 
"world" || name == 
"World") {
 
  197     name = 
"DefaultRegionForTheWorld";
 
  201     G4cout << 
"### G4EmBiasingManager::ActivateBremsstrahlungSplitting " 
  202            << 
"WARNING: G4Region <" 
  203            << rname << 
"> is unknown" << 
G4endl;
 
  217   } 
else if(0.0 < factor) { 
 
  273                     std::vector<G4DynamicParticle*>& vd,
 
  285     size_t n = vd.size();
 
  321                   std::vector<G4DynamicParticle*>& vd,
 
  333     size_t n = vd.size();
 
  347       } 
else if(1 == nsplit) { 
 
  374     size_t n = track.size();
 
  386         for(
size_t k=0; k<
n; ++k) {
 
  406   size_t n = vd.size();
 
  412     for(
size_t k=0; k<
n; ++k) {
 
  439   size_t n = vd.size();
 
  442   if(1 != n || 1.0 <= w) { 
return weight; }
 
  450   if(1 < nsplit && trackWeight>w) {
 
  458     for(
G4int k=1; k<nsplit; ++k) {  
 
void ProposeMomentumDirection(G4double Px, G4double Py, G4double Pz)
 
G4VEnergyLossProcess * eIonisation
 
G4Region * GetRegion(const G4String &name, G4bool verbose=true) const 
 
const G4String & GetName() const 
 
static G4LossTableManager * Instance()
 
void ActivateForcedInteraction(G4double length=0.0, const G4String &r="")
 
G4double ApplySecondaryBiasing(std::vector< G4DynamicParticle * > &, const G4Track &track, G4VEmModel *currentModel, G4ParticleChangeForGamma *pParticleChange, G4double &eloss, G4int coupleIdx, G4double tcut, G4double safety=0.0)
 
G4double ApplyRussianRoulette(std::vector< G4DynamicParticle * > &vd, G4int index)
 
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double tmax=DBL_MAX)=0
 
G4double GetKineticEnergy() const 
 
CLHEP::Hep3Vector G4ThreeVector
 
std::vector< G4double > secBiasedWeight
 
const G4DynamicParticle * GetDynamicParticle() const 
 
G4double currentStepLimit
 
std::vector< const G4Region * > forcedRegions
 
G4double GetRangeForLoss(G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
const G4MaterialCutsCouple * GetMaterialCutsCouple() const 
 
const G4double w[NPOINTSGL]
 
const G4ThreeVector & GetProposedMomentumDirection() const 
 
G4ParticleDefinition * GetDefinition() const 
 
G4double GetProposedKineticEnergy() const 
 
void ProposeMomentumDirection(G4double Px, G4double Py, G4double Pz)
 
const G4ParticleDefinition * theElectron
 
const G4String & GetParticleName() const 
 
std::vector< G4int > idxSecBiasedCouple
 
static const G4double reg
 
void Initialise(const G4ParticleDefinition &part, const G4String &procName, G4int verbose)
 
static G4RegionStore * GetInstance()
 
G4GLOB_DLL std::ostream G4cout
 
std::vector< const G4Region * > secBiasedRegions
 
size_t GetTableSize() const 
 
G4double GetStepLimit(G4int coupleIdx, G4double previousStep)
 
void SetProposedKineticEnergy(G4double proposedKinEnergy)
 
std::vector< G4double > secBiasedEnegryLimit
 
std::vector< G4int > idxForcedCouple
 
void ActivateSecondaryBiasing(const G4String ®ion, G4double factor, G4double energyLimit)
 
G4VEnergyLossProcess * GetEnergyLossProcess(const G4ParticleDefinition *)
 
static G4ProductionCutsTable * GetProductionCutsTable()
 
static const G4double factor
 
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const 
 
G4double GetProposedKineticEnergy() const 
 
G4double ApplySplitting(std::vector< G4DynamicParticle * > &vd, const G4Track &track, G4VEmModel *currentModel, G4int index, G4double tcut)
 
std::vector< G4int > nBremSplitting
 
void ApplyRangeCut(std::vector< G4DynamicParticle * > &vd, const G4Track &track, G4double &eloss, G4double safety)
 
G4double GetWeight() const 
 
static G4Electron * Electron()
 
void SetProposedKineticEnergy(G4double proposedKinEnergy)
 
std::vector< G4DynamicParticle * > tmpSecondaries
 
G4ProductionCuts * GetProductionCuts() const 
 
const G4ThreeVector & GetProposedMomentumDirection() const 
 
std::vector< G4double > lengthForRegion