48 #ifndef G4EmBiasingManager_h 
   49 #define G4EmBiasingManager_h 1 
  126   void ApplyRangeCut(std::vector<G4DynamicParticle*>& vd,
 
  131   G4double ApplySplitting(std::vector<G4DynamicParticle*>& vd,
 
  137   inline G4double ApplyRussianRoulette(std::vector<G4DynamicParticle*>& vd,
 
  144   G4int                        nForcedRegions;
 
  145   G4int                        nSecBiasedRegions;
 
  146   std::vector<const G4Region*> forcedRegions;
 
  147   std::vector<G4double>        lengthForRegion;
 
  148   std::vector<const G4Region*> secBiasedRegions;
 
  149   std::vector<G4double>        secBiasedWeight;
 
  150   std::vector<G4double>        secBiasedEnegryLimit;
 
  151   std::vector<G4int>           nBremSplitting;
 
  153   std::vector<G4int>           idxForcedCouple;
 
  154   std::vector<G4int>           idxSecBiasedCouple;
 
  156   std::vector<G4DynamicParticle*> tmpSecondaries;
 
  171   if(nSecBiasedRegions > 0) {
 
  172     if(idxSecBiasedCouple[coupleIdx] >= 0) { res = 
true; }
 
  180   if(nForcedRegions > 0) {
 
  181     if(idxForcedCouple[coupleIdx] >= 0) { res = 
true; }
 
  188   startTracking = 
true;
 
  194 G4EmBiasingManager::ApplyRussianRoulette(std::vector<G4DynamicParticle*>& vd,
 
  197   size_t n = vd.size();
 
  199   for(
size_t k=0; k<
n; ++k) {
 
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)
 
G4bool SecondaryBiasingRegion(G4int coupleIdx)
 
G4bool ForcedInteractionRegion(G4int coupleIdx)
 
void ResetForcedInteraction()
 
void Initialise(const G4ParticleDefinition &part, const G4String &procName, G4int verbose)
 
G4double GetStepLimit(G4int coupleIdx, G4double previousStep)
 
void ActivateSecondaryBiasing(const G4String ®ion, G4double factor, G4double energyLimit)