#include <G4BOptrForceCollision.hh>
|
| G4BOptrForceCollision (G4String particleToForce, G4String name="ForceCollision") |
|
| G4BOptrForceCollision (const G4ParticleDefinition *particleToForce, G4String name="ForceCollision") |
|
| ~G4BOptrForceCollision () |
|
virtual void | Configure () final |
|
virtual void | ConfigureForWorker () final |
|
virtual void | StartRun () final |
|
virtual void | StartTracking (const G4Track *track) final |
|
virtual void | ExitBiasing (const G4Track *, const G4BiasingProcessInterface *) final |
|
virtual void | EndTracking () final |
|
void | OperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *operationApplied, const G4VParticleChange *particleChangeProduced) final |
|
void | OperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *occurenceOperationApplied, G4double weightForOccurenceInteraction, G4VBiasingOperation *finalStateOperationApplied, const G4VParticleChange *particleChangeProduced) final |
|
| G4VBiasingOperator (G4String name) |
|
virtual | ~G4VBiasingOperator () |
|
const G4String | GetName () const |
|
void | AttachTo (const G4LogicalVolume *) |
|
G4BiasingAppliedCase | GetPreviousBiasingAppliedCase () const |
|
G4VBiasingOperation * | GetProposedOccurenceBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess) |
|
G4VBiasingOperation * | GetProposedFinalStateBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess) |
|
G4VBiasingOperation * | GetProposedNonPhysicsBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess) |
|
void | ExitingBiasing (const G4Track *track, const G4BiasingProcessInterface *callingProcess) |
|
void | ReportOperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *operationApplied, const G4VParticleChange *particleChangeProduced) |
|
void | ReportOperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *occurenceOperationApplied, G4double weightForOccurenceInteraction, G4VBiasingOperation *finalStateOperationApplied, const G4VParticleChange *particleChangeProduced) |
|
const G4VBiasingOperation * | GetPreviousNonPhysicsAppliedOperation () |
|
Definition at line 58 of file G4BOptrForceCollision.hh.
◆ G4BOptrForceCollision() [1/2]
G4BOptrForceCollision::G4BOptrForceCollision |
( |
G4String | particleToForce, |
|
|
G4String | name = "ForceCollision" ) |
Definition at line 46 of file G4BOptrForceCollision.cc.
49 fCurrentTrack(nullptr),
50 fCurrentTrackData(nullptr),
51 fInitialTrackWeight(-1.0),
52 fSetup(true)
53{
57
58 if ( fParticleToBias == 0 )
59 {
61 ed <<
" Particle `" << particleName <<
"' not found !" <<
G4endl;
62 G4Exception(
" G4BOptrForceCollision::G4BOptrForceCollision(...)",
63 "BIAS.GEN.07",
65 ed);
66 }
67}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
static G4int GetModelID(const G4int modelIndex)
G4VBiasingOperator(G4String name)
◆ G4BOptrForceCollision() [2/2]
Definition at line 70 of file G4BOptrForceCollision.cc.
73 fCurrentTrack(nullptr),
74 fCurrentTrackData(nullptr),
75 fInitialTrackWeight(-1.0),
76 fSetup(true)
77{
80 fParticleToBias = particle;
81}
◆ ~G4BOptrForceCollision()
G4BOptrForceCollision::~G4BOptrForceCollision |
( |
| ) |
|
Definition at line 84 of file G4BOptrForceCollision.cc.
85{
86 for ( std::map< const G4BiasingProcessInterface*, G4BOptnForceFreeFlight* >::iterator it = fFreeFlightOperations.begin() ;
87 it != fFreeFlightOperations.end() ;
88 it++ ) delete (*it).second;
89 delete fSharedForceInteractionOperation;
90 delete fCloningOperation;
91}
◆ Configure()
void G4BOptrForceCollision::Configure |
( |
| ) |
|
|
finalvirtual |
◆ ConfigureForWorker()
void G4BOptrForceCollision::ConfigureForWorker |
( |
| ) |
|
|
finalvirtual |
Reimplemented from G4VBiasingOperator.
Definition at line 101 of file G4BOptrForceCollision.cc.
102{
103
104 if ( fSetup )
105 {
108 if ( interfaceProcessSharedData )
109
110 {
112 {
117 }
118 }
119 fSetup = false;
120 }
121}
const G4BiasingProcessSharedData * GetSharedData() const
G4VProcess * GetWrappedProcess() const
const std::vector< const G4BiasingProcessInterface * > & GetPhysicsBiasingProcessInterfaces() const
G4ProcessManager * GetProcessManager() const
const G4String & GetProcessName() const
Referenced by Configure().
◆ EndTracking()
void G4BOptrForceCollision::EndTracking |
( |
| ) |
|
|
finalvirtual |
Reimplemented from G4VBiasingOperator.
Definition at line 310 of file G4BOptrForceCollision.cc.
311{
312
313 if ( fCurrentTrackData != nullptr )
314 {
316 {
318 {
320 ed <<
"Current track deleted while under biasing by " <<
GetName() <<
". Will result in inconsistencies.";
321 G4Exception(
" G4BOptrForceCollision::EndTracking()",
322 "BIAS.GEN.18",
324 ed);
325 }
326 }
327 }
328}
@ fKillTrackAndSecondaries
G4bool IsFreeFromBiasing() const
G4TrackStatus GetTrackStatus() const
const G4String GetName() const
◆ ExitBiasing()
◆ OperationApplied() [1/2]
Reimplemented from G4VBiasingOperator.
Definition at line 401 of file G4BOptrForceCollision.cc.
404{
405
407 {
408 if ( finalStateOperationApplied != fSharedForceInteractionOperation )
409 {
411 ed <<
" Internal inconsistency : please submit bug report. " <<
G4endl;
412 G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
413 "BIAS.GEN.20.5",
415 ed);
416 }
418 }
419 else
420 {
422 ed <<
" Internal inconsistency : please submit bug report. " <<
G4endl;
423 G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
424 "BIAS.GEN.20.6",
426 ed);
427 }
428
429}
G4bool GetInteractionOccured() const
◆ OperationApplied() [2/2]
Reimplemented from G4VBiasingOperator.
Definition at line 331 of file G4BOptrForceCollision.cc.
335{
336
337 if ( fCurrentTrackData == nullptr )
338 {
340 {
342 ed <<
" Internal inconsistency : please submit bug report. " <<
G4endl;
343 G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
344 "BIAS.GEN.20.1",
346 ed);
347 }
348 return;
349 }
350
352 {
357 }
359 {
360 if ( fFreeFlightOperations[callingProcess]->OperationComplete() ) fCurrentTrackData->Reset();
361 }
363 {
364 if ( operationApplied != fSharedForceInteractionOperation )
365 {
367 ed <<
" Internal inconsistency : please submit bug report. " <<
G4endl;
368 G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
369 "BIAS.GEN.20.2",
371 ed);
372 }
374 {
375 if ( operationApplied != fSharedForceInteractionOperation )
376 {
378 ed <<
" Internal inconsistency : please submit bug report. " <<
G4endl;
379 G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
380 "BIAS.GEN.20.3",
382 ed);
383 }
384 }
385 }
386 else
387 {
389 {
391 ed <<
" Internal inconsistency : please submit bug report. " <<
G4endl;
392 G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
393 "BIAS.GEN.20.4",
395 ed);
396 }
397 }
398}
G4Track * GetCloneTrack() const
void SetAuxiliaryTrackInformation(G4int id, G4VAuxiliaryTrackInformation *info) const
◆ StartRun()
void G4BOptrForceCollision::StartRun |
( |
| ) |
|
|
finalvirtual |
◆ StartTracking()
void G4BOptrForceCollision::StartTracking |
( |
const G4Track * | track | ) |
|
|
finalvirtual |
The documentation for this class was generated from the following files: