Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GB04BOptrBremSplitting Class Reference

#include <Doxymodules_biasing.h>

Inheritance diagram for GB04BOptrBremSplitting:
G4VBiasingOperator

Public Member Functions

 GB04BOptrBremSplitting ()
 
virtual ~GB04BOptrBremSplitting ()
 
virtual void StartRun ()
 
virtual void StartTracking (const G4Track *track)
 

Private Member Functions

virtual G4VBiasingOperationProposeNonPhysicsBiasingOperation (const G4Track *, const G4BiasingProcessInterface *)
 
virtual G4VBiasingOperationProposeOccurenceBiasingOperation (const G4Track *, const G4BiasingProcessInterface *)
 
virtual G4VBiasingOperationProposeFinalStateBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 

Private Attributes

GB04BOptnBremSplittingfBremSplittingOperation
 
G4int fSplittingFactor
 
G4bool fBiasPrimaryOnly
 
G4bool fBiasOnlyOnce
 
G4int fNInteractions
 
G4GenericMessengerfSplittingFactorMessenger
 
G4GenericMessengerfBiasPrimaryOnlyMessenger
 
G4GenericMessengerfBiasOnlyOnceMessenger
 

Detailed Description

Definition at line 110 of file Doxymodules_biasing.h.

Constructor & Destructor Documentation

◆ GB04BOptrBremSplitting()

GB04BOptrBremSplitting::GB04BOptrBremSplitting ( )

Definition at line 38 of file GB04BOptrBremSplitting.cc.

39: G4VBiasingOperator("BremSplittingOperator"),
41 fBiasPrimaryOnly(true),
42 fBiasOnlyOnce(true)
43{
44 fBremSplittingOperation = new GB04BOptnBremSplitting("BremSplittingOperation");
45
46 // -- Define messengers:
47 // -- Splitting factor:
49 new G4GenericMessenger(this, "/GB04/biasing/","Biasing control" );
50 G4GenericMessenger::Command& splittingFactorCmd =
51 fSplittingFactorMessenger->DeclareProperty("setSplittingFactor", fSplittingFactor,
52 "Define the brem. splitting factor." );
53 splittingFactorCmd.SetStates(G4State_Idle);
54 // -- Bias ony primary particle:
56 new G4GenericMessenger(this, "/GB04/biasing/","Biasing control" );
57 G4GenericMessenger::Command& biasPrimaryCmd =
58 fBiasPrimaryOnlyMessenger->DeclareProperty("biasPrimaryOnly", fBiasPrimaryOnly,
59 "Chose if brem. splitting applies to primary particles only." );
60 biasPrimaryCmd.SetStates(G4State_Idle);
61 // -- Bias ony primary particle:
63 new G4GenericMessenger(this, "/GB04/biasing/","Biasing control" );
64 G4GenericMessenger::Command& biasOnlyOnceCmd =
65 fBiasPrimaryOnlyMessenger->DeclareProperty("biasOnlyOnce", fBiasOnlyOnce,
66 "Chose if apply the brem. splitting only once for the track." );
67 biasOnlyOnceCmd.SetStates(G4State_Idle);
68
69}
G4GenericMessenger * fSplittingFactorMessenger
G4GenericMessenger * fBiasOnlyOnceMessenger
GB04BOptnBremSplitting * fBremSplittingOperation
G4GenericMessenger * fBiasPrimaryOnlyMessenger

◆ ~GB04BOptrBremSplitting()

virtual GB04BOptrBremSplitting::~GB04BOptrBremSplitting ( )
inlinevirtual

Definition at line 39 of file GB04BOptrBremSplitting.hh.

39{}

Member Function Documentation

◆ StartRun()

void GB04BOptrBremSplitting::StartRun ( )
virtual

Definition at line 73 of file GB04BOptrBremSplitting.cc.

74{
76 G4cout << GetName() << " : starting run with brem. splitting factor = "
78 if ( fBiasPrimaryOnly ) G4cout << ", biasing only primaries ";
79 else G4cout << ", biasing primary and secondary tracks ";
80 if ( fBiasOnlyOnce ) G4cout << ", biasing only once per track ";
81 else G4cout << ", biasing several times per track ";
82 G4cout << " . " << G4endl;
83}
void SetSplittingFactor(G4int splittingFactor)

◆ StartTracking()

void GB04BOptrBremSplitting::StartTracking ( const G4Track track)
virtual

Definition at line 87 of file GB04BOptrBremSplitting.cc.

88{
89 // -- reset the number of times the brem. splitting was applied:
91}

◆ ProposeNonPhysicsBiasingOperation()

virtual G4VBiasingOperation * GB04BOptrBremSplitting::ProposeNonPhysicsBiasingOperation ( const G4Track ,
const G4BiasingProcessInterface  
)
inlineprivatevirtual

Definition at line 56 of file GB04BOptrBremSplitting.hh.

58 { return 0; }

◆ ProposeOccurenceBiasingOperation()

virtual G4VBiasingOperation * GB04BOptrBremSplitting::ProposeOccurenceBiasingOperation ( const G4Track ,
const G4BiasingProcessInterface  
)
inlineprivatevirtual

Definition at line 60 of file GB04BOptrBremSplitting.hh.

62 { return 0; }

◆ ProposeFinalStateBiasingOperation()

G4VBiasingOperation * GB04BOptrBremSplitting::ProposeFinalStateBiasingOperation ( const G4Track track,
const G4BiasingProcessInterface callingProcess 
)
privatevirtual

Definition at line 96 of file GB04BOptrBremSplitting.cc.

99{
100 // -- Check if biasing of primary particle only is requested. If so, and
101 // -- if particle is not a primary one, don't ask for biasing:
102 if ( fBiasPrimaryOnly && ( track->GetParentID() !=0 ) ) return 0;
103 // -- Check if brem. splitting should be applied only once to the track,
104 // -- and if so, and if brem. splitting already occured, don't ask for biasing:
105 if ( fBiasOnlyOnce && ( fNInteractions > 0 ) ) return 0;
106
107 // -- Count the number of times the brem. splitting is applied:
109 // -- Return the brem. splitting operation:
111}

Member Data Documentation

◆ fBremSplittingOperation

GB04BOptnBremSplitting* GB04BOptrBremSplitting::fBremSplittingOperation
private

Definition at line 74 of file GB04BOptrBremSplitting.hh.

◆ fSplittingFactor

G4int GB04BOptrBremSplitting::fSplittingFactor
private

Definition at line 75 of file GB04BOptrBremSplitting.hh.

◆ fBiasPrimaryOnly

G4bool GB04BOptrBremSplitting::fBiasPrimaryOnly
private

Definition at line 76 of file GB04BOptrBremSplitting.hh.

◆ fBiasOnlyOnce

G4bool GB04BOptrBremSplitting::fBiasOnlyOnce
private

Definition at line 77 of file GB04BOptrBremSplitting.hh.

◆ fNInteractions

G4int GB04BOptrBremSplitting::fNInteractions
private

Definition at line 78 of file GB04BOptrBremSplitting.hh.

◆ fSplittingFactorMessenger

G4GenericMessenger* GB04BOptrBremSplitting::fSplittingFactorMessenger
private

Definition at line 80 of file GB04BOptrBremSplitting.hh.

◆ fBiasPrimaryOnlyMessenger

G4GenericMessenger* GB04BOptrBremSplitting::fBiasPrimaryOnlyMessenger
private

Definition at line 81 of file GB04BOptrBremSplitting.hh.

◆ fBiasOnlyOnceMessenger

G4GenericMessenger* GB04BOptrBremSplitting::fBiasOnlyOnceMessenger
private

Definition at line 82 of file GB04BOptrBremSplitting.hh.


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

Applications | User Support | Publications | Collaboration