Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4GenericBiasingPhysics Class Reference

#include <G4GenericBiasingPhysics.hh>

Inheritance diagram for G4GenericBiasingPhysics:
Collaboration diagram for G4GenericBiasingPhysics:

Public Member Functions

 G4GenericBiasingPhysics (const G4String &name="BiasingP")
 
virtual ~G4GenericBiasingPhysics ()
 
void PhysicsBias (const G4String &particleName)
 
void PhysicsBias (const G4String &particleName, const std::vector< G4String > &processToBiasNames)
 
void NonPhysicsBias (const G4String &particleName)
 
void Bias (const G4String &particleName)
 
void Bias (const G4String &particleName, const std::vector< G4String > &processToBiasNames)
 
void PhysicsBiasAddPDGRange (G4int PDGlow, G4int PDGhigh, G4bool includeAntiParticle=true)
 
void NonPhysicsBiasAddPDGRange (G4int PDGlow, G4int PDGhigh, G4bool includeAntiParticle=true)
 
void BiasAddPDGRange (G4int PDGlow, G4int PDGhigh, G4bool includeAntiParticle=true)
 
void PhysicsBiasAllCharged (G4bool includeShortLived=false)
 
void NonPhysicsBiasAllCharged (G4bool includeShortLived=false)
 
void BiasAllCharged (G4bool includeShortLived=false)
 
void PhysicsBiasAllNeutral (G4bool includeShortLived=false)
 
void NonPhysicsBiasAllNeutral (G4bool includeShortLived=false)
 
void BiasAllNeutral (G4bool includeShortLived=false)
 
void AddParallelGeometry (const G4String &particleName, const G4String &parallelGeometryName)
 
void AddParallelGeometry (const G4String &particleName, const std::vector< G4String > &parallelGeometryNames)
 
void AddParallelGeometry (G4int PDGlow, G4int PDGhigh, const G4String &parallelGeometryName, G4bool includeAntiParticle=true)
 
void AddParallelGeometry (G4int PDGlow, G4int PDGhigh, const std::vector< G4String > &parallelGeometryNames, G4bool includeAntiParticle=true)
 
void AddParallelGeometryAllCharged (const G4String &parallelGeometryName, G4bool includeShortLived=false)
 
void AddParallelGeometryAllCharged (const std::vector< G4String > &parallelGeometryNames, G4bool includeShortLived=false)
 
void AddParallelGeometryAllNeutral (const G4String &parallelGeometryName, G4bool includeShortLived=false)
 
void AddParallelGeometryAllNeutral (const std::vector< G4String > &parallelGeometryNames, G4bool includeShortLived=false)
 
void BeVerbose ()
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 42 of file G4GenericBiasingPhysics.hh.

Constructor & Destructor Documentation

G4GenericBiasingPhysics::G4GenericBiasingPhysics ( const G4String name = "BiasingP")

Definition at line 60 of file G4GenericBiasingPhysics.cc.

61 : G4VPhysicsConstructor(name),
62  fPhysBiasAllCharged(false), fNonPhysBiasAllCharged(false),
63  fPhysBiasAllChargedISL(false), fNonPhysBiasAllChargedISL(false),
64  fPhysBiasAllNeutral(false), fNonPhysBiasAllNeutral(false),
65  fPhysBiasAllNeutralISL(false), fNonPhysBiasAllNeutralISL(false),
66  fVerbose(false)
67 {;}
G4VPhysicsConstructor(const G4String &="")
G4GenericBiasingPhysics::~G4GenericBiasingPhysics ( )
virtual

Definition at line 71 of file G4GenericBiasingPhysics.cc.

72 {;}

Member Function Documentation

void G4GenericBiasingPhysics::AddParallelGeometry ( const G4String particleName,
const G4String parallelGeometryName 
)

Definition at line 188 of file G4GenericBiasingPhysics.cc.

189 {
190  // -- add particle, caring of possible duplication:
191  G4bool isKnown = false;
192  for ( G4String knownParticle : fParticlesWithParallelGeometries )
193  {
194  if ( knownParticle == particleName )
195  {
196  isKnown = true;
197  break;
198  }
199  }
200 
201  // -- add the geometry, caring for possible duplication of this geometry, for this particle:
202  if ( !isKnown ) fParticlesWithParallelGeometries.push_back( particleName );
203  std::vector< G4String >& geometries = fParallelGeometriesForParticle[particleName];
204 
205  isKnown = false;
206  for ( G4String knownGeometry : geometries )
207  {
208  if ( knownGeometry == parallelGeometryName )
209  {
210  isKnown = true;
211  break;
212  }
213  }
214  if ( !isKnown ) geometries.push_back( parallelGeometryName );
215 
216 }
bool G4bool
Definition: G4Types.hh:79

Here is the caller graph for this function:

void G4GenericBiasingPhysics::AddParallelGeometry ( const G4String particleName,
const std::vector< G4String > &  parallelGeometryNames 
)

Definition at line 218 of file G4GenericBiasingPhysics.cc.

219 {
220  for ( G4String geometry : parallelGeometryNames ) AddParallelGeometry( particleName, geometry );
221 }
void AddParallelGeometry(const G4String &particleName, const G4String &parallelGeometryName)

Here is the call graph for this function:

void G4GenericBiasingPhysics::AddParallelGeometry ( G4int  PDGlow,
G4int  PDGhigh,
const G4String parallelGeometryName,
G4bool  includeAntiParticle = true 
)

Definition at line 223 of file G4GenericBiasingPhysics.cc.

224 {
225  if ( PDGlow > PDGhigh )
226  {
227  G4cout << "G4GenericBiasingPhysics::AddParallelGeometry( G4int PDGlow, G4int PDGhigh, const G4String& parallelGeometryName , G4bool includeAntiParticle = true ), PDGlow > PDGhigh : call ignored" << G4endl;
228  return;
229  }
230 
231  fPDGlowParallelGeometries .push_back( PDGlow );
232  fPDGhighParallelGeometries.push_back( PDGhigh );
233  G4int rangeIndex = fPDGlowParallelGeometries.size() - 1;
234  fPDGrangeParallelGeometries[rangeIndex].push_back( parallelGeometryName );
235 
236  if ( includeAntiParticle )
237  {
238  fPDGlowParallelGeometries .push_back( -PDGhigh );
239  fPDGhighParallelGeometries.push_back( -PDGlow );
240  rangeIndex = fPDGlowParallelGeometries.size() - 1;
241  fPDGrangeParallelGeometries[rangeIndex].push_back( parallelGeometryName );
242  }
243 
244 }
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void G4GenericBiasingPhysics::AddParallelGeometry ( G4int  PDGlow,
G4int  PDGhigh,
const std::vector< G4String > &  parallelGeometryNames,
G4bool  includeAntiParticle = true 
)

Definition at line 246 of file G4GenericBiasingPhysics.cc.

247 {
248  if ( PDGlow > PDGhigh )
249  {
250  G4cout << "G4GenericBiasingPhysics::AddParallelGeometry( G4int PDGlow, G4int PDGhigh, const std::vector< G4String >& parallelGeometryNames, G4bool includeAntiParticle = true ), PDGlow > PDGhigh : call ignored" << G4endl;
251  return;
252  }
253 
254  for ( G4String geometry : parallelGeometryNames ) AddParallelGeometry( PDGlow, PDGhigh, geometry, includeAntiParticle );
255 }
void AddParallelGeometry(const G4String &particleName, const G4String &parallelGeometryName)
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

void G4GenericBiasingPhysics::AddParallelGeometryAllCharged ( const G4String parallelGeometryName,
G4bool  includeShortLived = false 
)

Definition at line 257 of file G4GenericBiasingPhysics.cc.

258 {
259  G4bool isKnown = false;
260  for ( G4String geometry : fParallelGeometriesForCharged )
261  {
262  if ( geometry == parallelGeometryName )
263  {
264  isKnown = true;
265  break;
266  }
267  }
268  if ( !isKnown )
269  {
270  fParallelGeometriesForCharged .push_back( parallelGeometryName );
271  fAllChargedParallelGeometriesISL.push_back( includeShortLived );
272  }
273 }
bool G4bool
Definition: G4Types.hh:79

Here is the caller graph for this function:

void G4GenericBiasingPhysics::AddParallelGeometryAllCharged ( const std::vector< G4String > &  parallelGeometryNames,
G4bool  includeShortLived = false 
)

Definition at line 275 of file G4GenericBiasingPhysics.cc.

276 {
277  for ( G4String geometry : parallelGeometryNames ) AddParallelGeometryAllCharged( geometry, includeShortLived );
278 }
void AddParallelGeometryAllCharged(const G4String &parallelGeometryName, G4bool includeShortLived=false)

Here is the call graph for this function:

void G4GenericBiasingPhysics::AddParallelGeometryAllNeutral ( const G4String parallelGeometryName,
G4bool  includeShortLived = false 
)

Definition at line 280 of file G4GenericBiasingPhysics.cc.

281 {
282  G4bool isKnown = false;
283  for ( G4String geometry : fParallelGeometriesForNeutral )
284  {
285  if ( geometry == parallelGeometryName )
286  {
287  isKnown = true;
288  break;
289  }
290  }
291  if ( !isKnown )
292  {
293  fParallelGeometriesForNeutral .push_back( parallelGeometryName );
294  fAllNeutralParallelGeometriesISL.push_back( includeShortLived );
295  }
296 }
bool G4bool
Definition: G4Types.hh:79

Here is the caller graph for this function:

void G4GenericBiasingPhysics::AddParallelGeometryAllNeutral ( const std::vector< G4String > &  parallelGeometryNames,
G4bool  includeShortLived = false 
)

Definition at line 298 of file G4GenericBiasingPhysics.cc.

299 {
300  for ( G4String geometry : parallelGeometryNames ) AddParallelGeometryAllNeutral( geometry, includeShortLived );
301 }
void AddParallelGeometryAllNeutral(const G4String &parallelGeometryName, G4bool includeShortLived=false)

Here is the call graph for this function:

void G4GenericBiasingPhysics::BeVerbose ( )
inline

Definition at line 107 of file G4GenericBiasingPhysics.hh.

107 { fVerbose = true; }
void G4GenericBiasingPhysics::Bias ( const G4String particleName)

Definition at line 103 of file G4GenericBiasingPhysics.cc.

104 {
105  PhysicsBias(particleName);
106  NonPhysicsBias(particleName);
107 }
void PhysicsBias(const G4String &particleName)
void NonPhysicsBias(const G4String &particleName)

Here is the call graph for this function:

void G4GenericBiasingPhysics::Bias ( const G4String particleName,
const std::vector< G4String > &  processToBiasNames 
)

Definition at line 111 of file G4GenericBiasingPhysics.cc.

112 {
113  PhysicsBias(particleName, processNames);
114  NonPhysicsBias(particleName);
115 }
void PhysicsBias(const G4String &particleName)
void NonPhysicsBias(const G4String &particleName)

Here is the call graph for this function:

void G4GenericBiasingPhysics::BiasAddPDGRange ( G4int  PDGlow,
G4int  PDGhigh,
G4bool  includeAntiParticle = true 
)

Definition at line 145 of file G4GenericBiasingPhysics.cc.

146 {
147  if ( PDGlow > PDGhigh ) G4cout << " G4GenericBiasingPhysics::BiasAddPDGRange(...) : PDGlow > PDGhigh, call ignored." << G4endl;
148  PhysicsBiasAddPDGRange ( PDGlow, PDGhigh, includeAntiParticle );
149  NonPhysicsBiasAddPDGRange( PDGlow, PDGhigh, includeAntiParticle );
150 }
void NonPhysicsBiasAddPDGRange(G4int PDGlow, G4int PDGhigh, G4bool includeAntiParticle=true)
G4GLOB_DLL std::ostream G4cout
void PhysicsBiasAddPDGRange(G4int PDGlow, G4int PDGhigh, G4bool includeAntiParticle=true)
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

void G4GenericBiasingPhysics::BiasAllCharged ( G4bool  includeShortLived = false)

Definition at line 162 of file G4GenericBiasingPhysics.cc.

163 {
164  fPhysBiasAllCharged = true;
165  fNonPhysBiasAllCharged = true;
166  fPhysBiasAllChargedISL = includeShortLived;
167  fNonPhysBiasAllChargedISL = includeShortLived;
168 }
void G4GenericBiasingPhysics::BiasAllNeutral ( G4bool  includeShortLived = false)

Definition at line 179 of file G4GenericBiasingPhysics.cc.

180 {
181  fPhysBiasAllNeutral = true;
182  fNonPhysBiasAllNeutral = true;
183  fPhysBiasAllNeutralISL = includeShortLived;
184  fNonPhysBiasAllNeutralISL = includeShortLived;
185 }
void G4GenericBiasingPhysics::ConstructParticle ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 307 of file G4GenericBiasingPhysics.cc.

308 {;}
void G4GenericBiasingPhysics::ConstructProcess ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 312 of file G4GenericBiasingPhysics.cc.

313 {
314 
315  // -- bias setup per individual particle name:
317  particleIterator->reset();
318 
319  while( (*particleIterator)() )
320  {
321  G4ParticleDefinition* particle = particleIterator->value();
322  G4String particleName = particle->GetParticleName();
323  G4ProcessManager* pmanager = particle->GetProcessManager();
324 
325  // -- include non physics process interface for biasing:
326  if ( std::find(fNonPhysBiasedParticles.begin(),
327  fNonPhysBiasedParticles.end(),
328  particleName ) != fNonPhysBiasedParticles.end() )
329  {
331  }
332 
333  // -- wrap biased physics processes, all processes or only user selected:
334  std::vector< G4String >::const_iterator particleIt =
335  std::find(fBiasedParticles.begin(),
336  fBiasedParticles.end(),
337  particleName );
338  if ( particleIt == fBiasedParticles.end() ) continue;
339 
340  std::vector < G4String >& biasedProcesses = fBiasedProcesses [ particleIt - fBiasedParticles.begin() ];
341  G4bool biasAll = fBiasAllProcesses[ particleIt - fBiasedParticles.begin() ];
342 
343  if ( biasAll )
344  {
345  G4ProcessVector* vprocess = pmanager->GetProcessList();
346  for (G4int ip = 0 ; ip < vprocess->size() ; ip++)
347  {
348  G4VProcess* process = (*vprocess)[ip];
349  biasedProcesses.push_back( process->GetProcessName() );
350  }
351  }
352 
353  G4bool restartLoop(true);
354  while ( restartLoop )
355  {
356  for (std::size_t ip = 0 ; ip < biasedProcesses.size() ; ip++)
357  {
358  G4bool activ = G4BiasingHelper::ActivatePhysicsBiasing(pmanager, biasedProcesses[ip] );
359  restartLoop = activ;
360  if ( restartLoop ) break;
361  }
362  }
363 
364  }
365 
366 
367  // -- bias setup per group:
368  particleIterator->reset();
369 
370  while( (*particleIterator)() )
371  {
372  G4ParticleDefinition* particle = particleIterator->value();
373  G4String particleName = particle->GetParticleName();
374  G4ProcessManager* pmanager = particle->GetProcessManager();
375 
376  // -- exclude particles invidually specified by name:
377  if ( std::find( fNonPhysBiasedParticles.begin(),
378  fNonPhysBiasedParticles.end(),
379  particleName ) != fNonPhysBiasedParticles.end() ) continue;
380 
381  if ( std::find( fBiasedParticles.begin(),
382  fBiasedParticles.end(),
383  particleName ) != fBiasedParticles.end() ) continue;
384 
385 
386  G4bool physBias(false), nonPhysBias(false);
387 
388  auto PDG = particle->GetPDGEncoding();
389 
390  // -- include particle if in right PDG range:
391  for ( size_t i = 0 ; i < fPhysBiasByPDGRangeLow.size() ; i++ )
392  if ( ( PDG >= fPhysBiasByPDGRangeLow[i] ) && ( PDG <= fPhysBiasByPDGRangeHigh[i] ) )
393  {
394  physBias = true;
395  break;
396  }
397  for ( size_t i = 0 ; i < fNonPhysBiasByPDGRangeLow.size() ; i++ )
398  if ( ( PDG >= fNonPhysBiasByPDGRangeLow[i] ) && ( PDG <= fNonPhysBiasByPDGRangeHigh[i] ) )
399  {
400  nonPhysBias = true;
401  break;
402  }
403 
404  // -- if particle has not yet any biasing, include it on charge criteria:
405  if ( ( physBias == false ) && ( nonPhysBias == false ) )
406  {
407  if ( std::abs( particle->GetPDGCharge() ) > DBL_MIN )
408  {
409  if ( fPhysBiasAllCharged ) if ( fPhysBiasAllChargedISL || !particle->IsShortLived() ) physBias = true;
410  if ( fNonPhysBiasAllCharged ) if ( fNonPhysBiasAllChargedISL || !particle->IsShortLived() ) nonPhysBias = true;
411  }
412  else
413  {
414  if ( fPhysBiasAllNeutral ) if ( fPhysBiasAllNeutralISL || !particle->IsShortLived() ) physBias = true;
415  if ( fNonPhysBiasAllNeutral ) if ( fNonPhysBiasAllNeutralISL || !particle->IsShortLived() ) nonPhysBias = true;
416  }
417  }
418 
419 
420  if ( nonPhysBias ) G4BiasingHelper::ActivateNonPhysicsBiasing(pmanager);
421 
422  if ( physBias )
423  {
424  std::vector < G4String > biasedProcesses;
425  G4ProcessVector* vprocess = pmanager->GetProcessList();
426  for (G4int ip = 0 ; ip < vprocess->size() ; ip++)
427  {
428  G4VProcess* process = (*vprocess)[ip];
429  biasedProcesses.push_back( process->GetProcessName() );
430  }
431 
432  G4bool restartLoop(true);
433  while ( restartLoop )
434  {
435  for (std::size_t ip = 0 ; ip < biasedProcesses.size() ; ip++)
436  {
437  G4bool activ = G4BiasingHelper::ActivatePhysicsBiasing(pmanager, biasedProcesses[ip] );
438  restartLoop = activ;
439  if ( restartLoop ) break;
440  }
441  }
442  }
443 
444  }
445 
446 
447 
448  // -- Associate parallel geometries:
449  AssociateParallelGeometries();
450 
451 
452  // -- tells what is done:
453  if ( fVerbose )
454  {
455  // -- print:
456  particleIterator->reset();
457 
458  while( (*particleIterator)() )
459  {
460  G4ParticleDefinition* particle = particleIterator->value();
461  G4String particleName = particle->GetParticleName();
462  G4ProcessManager* pmanager = particle->GetProcessManager();
463 
464  G4bool isBiased(false);
465  G4String processNames;
466  G4int icount(0);
467 
468  G4ProcessVector* vprocess = pmanager->GetProcessList();
469  for (G4int ip = 0 ; ip < vprocess->size() ; ip++)
470  {
471  G4VProcess* process = (*vprocess)[ip];
472  G4BiasingProcessInterface* pb = dynamic_cast< G4BiasingProcessInterface* >(process);
473  if ( pb != nullptr )
474  {
475  isBiased = true;
476  if ( icount < 3 )
477  {
478  processNames += pb->GetProcessName();
479  processNames += " ";
480  }
481  else
482  {
483  processNames += "\n ";
484  processNames += pb->GetProcessName();
485  processNames += " ";
486  icount = 0;
487  }
488  icount++;
489  }
490  }
491  if ( isBiased )
492  {
493  if ( particle->IsShortLived() )
494  G4cout << std::setw(14) << particleName << " **** : " << processNames << G4endl;
495  else
496  G4cout << std::setw(18) << particleName << " : " << processNames << G4endl;
497  }
498  }
499  }
500 }
static void ActivateNonPhysicsBiasing(G4ProcessManager *pmanager, G4String nonPhysicsProcessName="")
int G4int
Definition: G4Types.hh:78
const G4String & GetParticleName() const
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
G4GLOB_DLL std::ostream G4cout
bool G4bool
Definition: G4Types.hh:79
static G4bool ActivatePhysicsBiasing(G4ProcessManager *pmanager, G4String physicsProcessToBias, G4String wrappedName="")
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
G4int size() const
G4ProcessManager * GetProcessManager() const
#define DBL_MIN
Definition: templates.hh:75
std::vector< G4InuclElementaryParticle >::iterator particleIterator
Definition: G4BigBanger.cc:65
#define G4endl
Definition: G4ios.hh:61
G4double GetPDGCharge() const
G4ProcessVector * GetProcessList() const

Here is the call graph for this function:

void G4GenericBiasingPhysics::NonPhysicsBias ( const G4String particleName)

Definition at line 96 of file G4GenericBiasingPhysics.cc.

97 {
98  fNonPhysBiasedParticles.push_back(particleName);
99 }

Here is the caller graph for this function:

void G4GenericBiasingPhysics::NonPhysicsBiasAddPDGRange ( G4int  PDGlow,
G4int  PDGhigh,
G4bool  includeAntiParticle = true 
)

Definition at line 131 of file G4GenericBiasingPhysics.cc.

132 {
133  if ( PDGlow > PDGhigh ) G4cout << " G4GenericBiasingPhysics::NonPhysicsBiasAddPDGRange(...) : PDGlow > PDGhigh, call ignored." << G4endl;
134  fNonPhysBiasByPDGRangeLow .push_back( PDGlow );
135  fNonPhysBiasByPDGRangeHigh.push_back( PDGhigh );
136  if ( includeAntiParticle )
137  {
138  fNonPhysBiasByPDGRangeLow .push_back( -PDGhigh );
139  fNonPhysBiasByPDGRangeHigh.push_back( -PDGlow );
140  }
141 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Here is the caller graph for this function:

void G4GenericBiasingPhysics::NonPhysicsBiasAllCharged ( G4bool  includeShortLived = false)

Definition at line 157 of file G4GenericBiasingPhysics.cc.

158 {
159  fNonPhysBiasAllCharged = true;
160  fNonPhysBiasAllChargedISL = includeShortLived;
161 }
void G4GenericBiasingPhysics::NonPhysicsBiasAllNeutral ( G4bool  includeShortLived = false)

Definition at line 174 of file G4GenericBiasingPhysics.cc.

175 {
176  fNonPhysBiasAllNeutral = true;
177  fNonPhysBiasAllNeutralISL = includeShortLived;
178 }
void G4GenericBiasingPhysics::PhysicsBias ( const G4String particleName)

Definition at line 77 of file G4GenericBiasingPhysics.cc.

78 {
79  fBiasedParticles.push_back(particleName);
80  std::vector< G4String > dummy;
81  fBiasedProcesses.push_back(dummy);
82  fBiasAllProcesses.push_back(true);
83 }

Here is the caller graph for this function:

void G4GenericBiasingPhysics::PhysicsBias ( const G4String particleName,
const std::vector< G4String > &  processToBiasNames 
)

Definition at line 87 of file G4GenericBiasingPhysics.cc.

88 {
89  fBiasedParticles.push_back(particleName);
90  fBiasedProcesses.push_back(processNames);
91  fBiasAllProcesses.push_back(false);
92 }
void G4GenericBiasingPhysics::PhysicsBiasAddPDGRange ( G4int  PDGlow,
G4int  PDGhigh,
G4bool  includeAntiParticle = true 
)

Definition at line 118 of file G4GenericBiasingPhysics.cc.

119 {
120  if ( PDGlow > PDGhigh ) G4cout << " G4GenericBiasingPhysics::PhysicsBiasAddPDGRange(...) : PDGlow > PDGhigh, call ignored." << G4endl;
121  fPhysBiasByPDGRangeLow .push_back( PDGlow );
122  fPhysBiasByPDGRangeHigh.push_back( PDGhigh );
123  if ( includeAntiParticle )
124  {
125  fPhysBiasByPDGRangeLow .push_back( -PDGhigh );
126  fPhysBiasByPDGRangeHigh.push_back( -PDGlow );
127  }
128 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Here is the caller graph for this function:

void G4GenericBiasingPhysics::PhysicsBiasAllCharged ( G4bool  includeShortLived = false)

Definition at line 152 of file G4GenericBiasingPhysics.cc.

153 {
154  fPhysBiasAllCharged = true;
155  fPhysBiasAllChargedISL = includeShortLived;
156 }
void G4GenericBiasingPhysics::PhysicsBiasAllNeutral ( G4bool  includeShortLived = false)

Definition at line 169 of file G4GenericBiasingPhysics.cc.

170 {
171  fPhysBiasAllNeutral = true;
172  fPhysBiasAllNeutralISL = includeShortLived;
173 }

The documentation for this class was generated from the following files: