Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4GenericBiasingPhysics Class Reference

#include <G4GenericBiasingPhysics.hh>

Inheritance 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
G4int GetInstanceID () const
virtual void TerminateWorker ()
void SetVerboseLevel (G4int value)
G4int GetVerboseLevel () const

Additional Inherited Members

Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
PhysicsBuilder_V GetBuilders () const
void AddBuilder (G4PhysicsBuilderInterface *bld)
Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel = 0
G4String namePhysics = ""
G4int typePhysics = 0
G4ParticleTabletheParticleTable = nullptr
G4int g4vpcInstanceID = 0
Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager

Detailed Description

Definition at line 41 of file G4GenericBiasingPhysics.hh.

Constructor & Destructor Documentation

◆ G4GenericBiasingPhysics()

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

Definition at line 60 of file G4GenericBiasingPhysics.cc.

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::~G4GenericBiasingPhysics ( )
virtual

Definition at line 71 of file G4GenericBiasingPhysics.cc.

72{;}

Member Function Documentation

◆ AddParallelGeometry() [1/4]

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

Definition at line 193 of file G4GenericBiasingPhysics.cc.

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

Referenced by AddParallelGeometry(), and AddParallelGeometry().

◆ AddParallelGeometry() [2/4]

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

Definition at line 223 of file G4GenericBiasingPhysics.cc.

224{
225 for ( G4String geometry : parallelGeometryNames ) AddParallelGeometry( particleName, geometry );
226}
void AddParallelGeometry(const G4String &particleName, const G4String &parallelGeometryName)

◆ AddParallelGeometry() [3/4]

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

Definition at line 228 of file G4GenericBiasingPhysics.cc.

229{
230 if ( PDGlow > PDGhigh )
231 {
232 G4cout << "G4GenericBiasingPhysics::AddParallelGeometry( G4int PDGlow, G4int PDGhigh, const G4String& parallelGeometryName , G4bool includeAntiParticle = true ), PDGlow > PDGhigh : call ignored" << G4endl;
233 return;
234 }
235
236 fPDGlowParallelGeometries .push_back( PDGlow );
237 fPDGhighParallelGeometries.push_back( PDGhigh );
238 G4int rangeIndex = G4int(fPDGlowParallelGeometries.size() - 1);
239 fPDGrangeParallelGeometries[rangeIndex].push_back( parallelGeometryName );
240
241 if ( includeAntiParticle )
242 {
243 fPDGlowParallelGeometries .push_back( -PDGhigh );
244 fPDGhighParallelGeometries.push_back( -PDGlow );
245 rangeIndex = G4int(fPDGlowParallelGeometries.size() - 1);
246 fPDGrangeParallelGeometries[rangeIndex].push_back( parallelGeometryName );
247 }
248
249}
int G4int
Definition G4Types.hh:85
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout

◆ AddParallelGeometry() [4/4]

void G4GenericBiasingPhysics::AddParallelGeometry ( G4int PDGlow,
G4int PDGhigh,
const std::vector< G4String > & parallelGeometryNames,
G4bool includeAntiParticle = true )

Definition at line 251 of file G4GenericBiasingPhysics.cc.

252{
253 if ( PDGlow > PDGhigh )
254 {
255 G4cout << "G4GenericBiasingPhysics::AddParallelGeometry( G4int PDGlow, G4int PDGhigh, const std::vector< G4String >& parallelGeometryNames, G4bool includeAntiParticle = true ), PDGlow > PDGhigh : call ignored" << G4endl;
256 return;
257 }
258
259 for ( G4String geometry : parallelGeometryNames ) AddParallelGeometry( PDGlow, PDGhigh, geometry, includeAntiParticle );
260}

◆ AddParallelGeometryAllCharged() [1/2]

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

Definition at line 262 of file G4GenericBiasingPhysics.cc.

263{
264 G4bool isKnown = false;
265 for ( G4String geometry : fParallelGeometriesForCharged )
266 {
267 if ( geometry == parallelGeometryName )
268 {
269 isKnown = true;
270 break;
271 }
272 }
273 if ( !isKnown )
274 {
275 fParallelGeometriesForCharged .push_back( parallelGeometryName );
276 fAllChargedParallelGeometriesISL.push_back( includeShortLived );
277 }
278}

Referenced by AddParallelGeometryAllCharged().

◆ AddParallelGeometryAllCharged() [2/2]

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

Definition at line 280 of file G4GenericBiasingPhysics.cc.

281{
282 for ( G4String geometry : parallelGeometryNames ) AddParallelGeometryAllCharged( geometry, includeShortLived );
283}
void AddParallelGeometryAllCharged(const G4String &parallelGeometryName, G4bool includeShortLived=false)

◆ AddParallelGeometryAllNeutral() [1/2]

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

Definition at line 285 of file G4GenericBiasingPhysics.cc.

286{
287 G4bool isKnown = false;
288 for ( G4String geometry : fParallelGeometriesForNeutral )
289 {
290 if ( geometry == parallelGeometryName )
291 {
292 isKnown = true;
293 break;
294 }
295 }
296 if ( !isKnown )
297 {
298 fParallelGeometriesForNeutral .push_back( parallelGeometryName );
299 fAllNeutralParallelGeometriesISL.push_back( includeShortLived );
300 }
301}

Referenced by AddParallelGeometryAllNeutral().

◆ AddParallelGeometryAllNeutral() [2/2]

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

Definition at line 303 of file G4GenericBiasingPhysics.cc.

304{
305 for ( G4String geometry : parallelGeometryNames ) AddParallelGeometryAllNeutral( geometry, includeShortLived );
306}
void AddParallelGeometryAllNeutral(const G4String &parallelGeometryName, G4bool includeShortLived=false)

◆ BeVerbose()

void G4GenericBiasingPhysics::BeVerbose ( )
inline

Definition at line 106 of file G4GenericBiasingPhysics.hh.

106{ fVerbose = true; }

◆ Bias() [1/2]

void G4GenericBiasingPhysics::Bias ( const G4String & particleName)

Definition at line 102 of file G4GenericBiasingPhysics.cc.

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

◆ Bias() [2/2]

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

Definition at line 110 of file G4GenericBiasingPhysics.cc.

111{
112 PhysicsBias(particleName, processNames);
113 NonPhysicsBias(particleName);
114}

◆ BiasAddPDGRange()

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

Definition at line 147 of file G4GenericBiasingPhysics.cc.

148{
149 if ( PDGlow > PDGhigh ) {
150 G4cout << " G4GenericBiasingPhysics::BiasAddPDGRange(...) : PDGlow > PDGhigh, call ignored." << G4endl;
151 return;
152 }
153 PhysicsBiasAddPDGRange ( PDGlow, PDGhigh, includeAntiParticle );
154 NonPhysicsBiasAddPDGRange( PDGlow, PDGhigh, includeAntiParticle );
155}
void NonPhysicsBiasAddPDGRange(G4int PDGlow, G4int PDGhigh, G4bool includeAntiParticle=true)
void PhysicsBiasAddPDGRange(G4int PDGlow, G4int PDGhigh, G4bool includeAntiParticle=true)

◆ BiasAllCharged()

void G4GenericBiasingPhysics::BiasAllCharged ( G4bool includeShortLived = false)

Definition at line 167 of file G4GenericBiasingPhysics.cc.

168{
169 fPhysBiasAllCharged = true;
170 fNonPhysBiasAllCharged = true;
171 fPhysBiasAllChargedISL = includeShortLived;
172 fNonPhysBiasAllChargedISL = includeShortLived;
173}

◆ BiasAllNeutral()

void G4GenericBiasingPhysics::BiasAllNeutral ( G4bool includeShortLived = false)

Definition at line 184 of file G4GenericBiasingPhysics.cc.

185{
186 fPhysBiasAllNeutral = true;
187 fNonPhysBiasAllNeutral = true;
188 fPhysBiasAllNeutralISL = includeShortLived;
189 fNonPhysBiasAllNeutralISL = includeShortLived;
190}

◆ ConstructParticle()

void G4GenericBiasingPhysics::ConstructParticle ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 312 of file G4GenericBiasingPhysics.cc.

313{;}

◆ ConstructProcess()

void G4GenericBiasingPhysics::ConstructProcess ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 317 of file G4GenericBiasingPhysics.cc.

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

◆ NonPhysicsBias()

void G4GenericBiasingPhysics::NonPhysicsBias ( const G4String & particleName)

Definition at line 95 of file G4GenericBiasingPhysics.cc.

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

Referenced by Bias(), and Bias().

◆ NonPhysicsBiasAddPDGRange()

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

Definition at line 130 of file G4GenericBiasingPhysics.cc.

131{
132 if ( PDGlow > PDGhigh ) {
133 G4cout << " G4GenericBiasingPhysics::NonPhysicsBiasAddPDGRange(...) : PDGlow > PDGhigh, call ignored." << G4endl;
134 return;
135 }
136 fNonPhysBiasByPDGRangeLow .push_back( PDGlow );
137 fNonPhysBiasByPDGRangeHigh.push_back( PDGhigh );
138 if ( includeAntiParticle )
139 {
140 fNonPhysBiasByPDGRangeLow .push_back( -PDGhigh );
141 fNonPhysBiasByPDGRangeHigh.push_back( -PDGlow );
142 }
143}

Referenced by BiasAddPDGRange().

◆ NonPhysicsBiasAllCharged()

void G4GenericBiasingPhysics::NonPhysicsBiasAllCharged ( G4bool includeShortLived = false)

Definition at line 162 of file G4GenericBiasingPhysics.cc.

163{
164 fNonPhysBiasAllCharged = true;
165 fNonPhysBiasAllChargedISL = includeShortLived;
166}

◆ NonPhysicsBiasAllNeutral()

void G4GenericBiasingPhysics::NonPhysicsBiasAllNeutral ( G4bool includeShortLived = false)

Definition at line 179 of file G4GenericBiasingPhysics.cc.

180{
181 fNonPhysBiasAllNeutral = true;
182 fNonPhysBiasAllNeutralISL = includeShortLived;
183}

◆ PhysicsBias() [1/2]

void G4GenericBiasingPhysics::PhysicsBias ( const G4String & particleName)

Definition at line 77 of file G4GenericBiasingPhysics.cc.

78{
79 fBiasedParticles.push_back(particleName);
80 fBiasedProcesses.emplace_back();
81 fBiasAllProcesses.push_back(true);
82}

Referenced by Bias(), and Bias().

◆ PhysicsBias() [2/2]

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

Definition at line 86 of file G4GenericBiasingPhysics.cc.

87{
88 fBiasedParticles.push_back(particleName);
89 fBiasedProcesses.push_back(processNames);
90 fBiasAllProcesses.push_back(false);
91}

◆ PhysicsBiasAddPDGRange()

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

Definition at line 117 of file G4GenericBiasingPhysics.cc.

118{
119 if ( PDGlow > PDGhigh ) G4cout << " G4GenericBiasingPhysics::PhysicsBiasAddPDGRange(...) : PDGlow > PDGhigh, call ignored." << G4endl;
120 fPhysBiasByPDGRangeLow .push_back( PDGlow );
121 fPhysBiasByPDGRangeHigh.push_back( PDGhigh );
122 if ( includeAntiParticle )
123 {
124 fPhysBiasByPDGRangeLow .push_back( -PDGhigh );
125 fPhysBiasByPDGRangeHigh.push_back( -PDGlow );
126 }
127}

Referenced by BiasAddPDGRange().

◆ PhysicsBiasAllCharged()

void G4GenericBiasingPhysics::PhysicsBiasAllCharged ( G4bool includeShortLived = false)

Definition at line 157 of file G4GenericBiasingPhysics.cc.

158{
159 fPhysBiasAllCharged = true;
160 fPhysBiasAllChargedISL = includeShortLived;
161}

◆ PhysicsBiasAllNeutral()

void G4GenericBiasingPhysics::PhysicsBiasAllNeutral ( G4bool includeShortLived = false)

Definition at line 174 of file G4GenericBiasingPhysics.cc.

175{
176 fPhysBiasAllNeutral = true;
177 fPhysBiasAllNeutralISL = includeShortLived;
178}

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