BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Private Member Functions | Private Attributes
BDSBOptrMultiParticleChangeCrossSection Class Reference

Multi-particle cross-section changer. More...

#include <BDSBOptrMultiParticleChangeCrossSection.hh>

Inheritance diagram for BDSBOptrMultiParticleChangeCrossSection:
Inheritance graph
Collaboration diagram for BDSBOptrMultiParticleChangeCrossSection:
Collaboration graph

Public Member Functions

void AddParticle (const G4String &particleName)
 
void SetBias (const G4String &biasObjectName, const G4String &particleName, const G4String &process, G4double dBias, G4int iPrimary)
 
void StartTracking (const G4Track *track) override
 

Private Member Functions

virtual G4VBiasingOperation * ProposeOccurenceBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess) override
 
virtual G4VBiasingOperation * ProposeFinalStateBiasingOperation (const G4Track *, const G4BiasingProcessInterface *) override
 
virtual G4VBiasingOperation * ProposeNonPhysicsBiasingOperation (const G4Track *, const G4BiasingProcessInterface *) override
 
virtual void OperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *occurenceOperationApplied, G4double weightForOccurenceInteraction, G4VBiasingOperation *finalStateOperationApplied, const G4VParticleChange *particleChangeProduced) override
 

Private Attributes

std::map< const G4ParticleDefinition *, BDSBOptrChangeCrossSection * > fBOptrForParticle
 
std::vector< const G4ParticleDefinition * > fParticlesToBias
 
BDSBOptrChangeCrossSectionfCurrentOperator
 
G4int fnInteractions
 Count number of biased interations for current track. More...
 
G4bool debug
 

Detailed Description

Multi-particle cross-section changer.

This class uses classes from Geant4 10.0 and is dependent on BDSBOptChangeCrossSection which needs 10.1.

Largely based on the Geant4 example of this feature.

Author
Stewar Boogert

Definition at line 42 of file BDSBOptrMultiParticleChangeCrossSection.hh.

Constructor & Destructor Documentation

◆ BDSBOptrMultiParticleChangeCrossSection()

BDSBOptrMultiParticleChangeCrossSection::BDSBOptrMultiParticleChangeCrossSection ( )

Definition at line 36 of file BDSBOptrMultiParticleChangeCrossSection.cc.

◆ ~BDSBOptrMultiParticleChangeCrossSection()

BDSBOptrMultiParticleChangeCrossSection::~BDSBOptrMultiParticleChangeCrossSection ( )
virtual

Definition at line 48 of file BDSBOptrMultiParticleChangeCrossSection.cc.

Member Function Documentation

◆ AddParticle()

void BDSBOptrMultiParticleChangeCrossSection::AddParticle ( const G4String &  particleName)

Definition at line 51 of file BDSBOptrMultiParticleChangeCrossSection.cc.

◆ OperationApplied()

void BDSBOptrMultiParticleChangeCrossSection::OperationApplied ( const G4BiasingProcessInterface *  callingProcess,
G4BiasingAppliedCase  biasingCase,
G4VBiasingOperation *  occurenceOperationApplied,
G4double  weightForOccurenceInteraction,
G4VBiasingOperation *  finalStateOperationApplied,
const G4VParticleChange *  particleChangeProduced 
)
overrideprivatevirtual

Definition at line 142 of file BDSBOptrMultiParticleChangeCrossSection.cc.

◆ ProposeFinalStateBiasingOperation()

virtual G4VBiasingOperation * BDSBOptrMultiParticleChangeCrossSection::ProposeFinalStateBiasingOperation ( const G4Track *  ,
const G4BiasingProcessInterface *   
)
inlineoverrideprivatevirtual

Definition at line 60 of file BDSBOptrMultiParticleChangeCrossSection.hh.

◆ ProposeNonPhysicsBiasingOperation()

virtual G4VBiasingOperation * BDSBOptrMultiParticleChangeCrossSection::ProposeNonPhysicsBiasingOperation ( const G4Track *  ,
const G4BiasingProcessInterface *   
)
inlineoverrideprivatevirtual

Definition at line 62 of file BDSBOptrMultiParticleChangeCrossSection.hh.

◆ ProposeOccurenceBiasingOperation()

G4VBiasingOperation * BDSBOptrMultiParticleChangeCrossSection::ProposeOccurenceBiasingOperation ( const G4Track *  track,
const G4BiasingProcessInterface *  callingProcess 
)
overrideprivatevirtual

Definition at line 104 of file BDSBOptrMultiParticleChangeCrossSection.cc.

◆ SetBias()

void BDSBOptrMultiParticleChangeCrossSection::SetBias ( const G4String &  biasObjectName,
const G4String &  particleName,
const G4String &  process,
G4double  dBias,
G4int  iPrimary 
)

Definition at line 64 of file BDSBOptrMultiParticleChangeCrossSection.cc.

◆ StartTracking()

void BDSBOptrMultiParticleChangeCrossSection::StartTracking ( const G4Track *  track)
override

Definition at line 121 of file BDSBOptrMultiParticleChangeCrossSection.cc.

Field Documentation

◆ debug

G4bool BDSBOptrMultiParticleChangeCrossSection::debug
private

Definition at line 78 of file BDSBOptrMultiParticleChangeCrossSection.hh.

◆ fBOptrForParticle

std::map<const G4ParticleDefinition*, BDSBOptrChangeCrossSection*> BDSBOptrMultiParticleChangeCrossSection::fBOptrForParticle
private

Definition at line 73 of file BDSBOptrMultiParticleChangeCrossSection.hh.

◆ fCurrentOperator

BDSBOptrChangeCrossSection* BDSBOptrMultiParticleChangeCrossSection::fCurrentOperator
private

Definition at line 75 of file BDSBOptrMultiParticleChangeCrossSection.hh.

◆ fnInteractions

G4int BDSBOptrMultiParticleChangeCrossSection::fnInteractions
private

Count number of biased interations for current track.

Definition at line 77 of file BDSBOptrMultiParticleChangeCrossSection.hh.

◆ fParticlesToBias

std::vector<const G4ParticleDefinition*> BDSBOptrMultiParticleChangeCrossSection::fParticlesToBias
private

Definition at line 74 of file BDSBOptrMultiParticleChangeCrossSection.hh.


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