Class name:
G4ProcessManager
Category: PhysicsProcess
Documentation:
It collects all physics a particle can undertake as
four aggregated vectors. One is for processes at rest,
one is for discrete processes, one for semi-continuous
processes and one for continuous processes.
The Tracking will message the
GetPhysicalInteractionLength() of the different types
of processes in order to limit the step and select the
occurence of processes. It will message the DoIt() to
apply the selected processes.
GetPhysicalInteractionLength() is called at every step
for every kind of process except for processes at rest
(for which GetPhysicalInteractionLength() is called
only if the stop signal is set). In addition, the
Tracking will limit the step and select the occurence
of the processes according to the shortest physical
interaction length computed (except for processes at
rest, for which the Tracking will select the occurence
of the process which returns the shortest mean
life-time from the GetPhysicalInteractionLength()).
DoIt() is called at every step for the processes of
type continuous, semi-continuous, and for any other
user-defined.
For discrete processes and processes at rest, DoIt() is
called only for the selected process.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
AddContinuousProcess (G4VProcess)
AddDiscreteProcess (G4VProcess)
AddRestProcess (G4VProcess)
AddSemiContinuousProcess (G4VProcess)
GetContinuousProcessVector ( )
GetDiscreteProcessVector ( )
GetProcessTypeVector ( )
GetRestProcessVector ( )
GetSemiContinuousProcessVector ( )
RemoveProcess (G4VProcess)
Private Interface:
Has-A Relationships:
G4ProcessTypeVector theProcessTypeVector
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
AddContinuousProcess
Public member of: G4ProcessManager
Return Class: void
Arguments:
G4VProcess *aContinuousProcess
Documentation:
Adds a process in the continuous-process vector pointed
by the fourth element of theProcessTypeVector.
Concurrency: Sequential
Operation name:
AddDiscreteProcess
Public member of: G4ProcessManager
Return Class: void
Arguments:
G4VProcess *aDiscreteProcess
Documentation:
Adds a process to the discrete process vector pointed
by the second element of theProcessTypeVector.
Concurrency: Sequential
Operation name:
AddRestProcess
Public member of: G4ProcessManager
Return Class: void
Arguments:
G4VProcess *aProcess
Documentation:
Adds a process to the vector of processes at rest
pointed by the first element of theProcessTypeVector.
Concurrency: Sequential
Operation name:
AddSemiContinuousProcess
Public member of: G4ProcessManager
Return Class: void
Arguments:
G4VProcess *aSemiContinuousProcess
Documentation:
Adds a process to the semi-continuous process vector
pointed by the third element of theProcessTypeVector.
Concurrency: Sequential
Operation name:
GetContinuousProcessVector
Public member of: G4ProcessManager
Return Class: G4ProcessVector*
Documentation:
Returns the address of the continuous-process vector.
Qualification: const
Concurrency: Sequential
Operation name:
GetDiscreteProcessVector
Public member of: G4ProcessManager
Return Class: G4ProcessVector*
Documentation:
Returns the address of the discrete process vector.
Qualification: const
Concurrency: Sequential
Operation name:
GetProcessTypeVector
Public member of: G4ProcessManager
Return Class: G4ProcessTypeVector*
Documentation:
Returns the address of theProcessTypeVector.
Qualification: static
Concurrency: Sequential
Operation name:
GetRestProcessVector
Public member of: G4ProcessManager
Return Class: G4ProcessVector*
Documentation:
Returns the address of the vector of processes at rest.
Qualification: const
Concurrency: Sequential
Operation name:
GetSemiContinuousProcessVector
Public member of: G4ProcessManager
Return Class: G4ProcessVector*
Documentation:
Returns the address of the semi-continuous process
vector.
Qualification: const
Concurrency: Sequential
Operation name:
RemoveProcess
Public member of: G4ProcessManager
Return Class: void
Arguments:
G4VProcess *aProcess
Documentation:
Removes a process from the relative vector.
Concurrency: Sequential
Class name:
G4VProcess
Category: PhysicsProcess
Documentation:
An abstract class for physics process objects. It
defines public methods which describe the behavior of a
physics process.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Uses:
G4DynamicParticle
G4Material
G4PhysicsVector
Public Interface:
Operations:
BuildPhysicsTable (const G4ParticleDefinition)
DoIt (G4DynamicParticle, G4Material, G4double)
GetPhysicalInteractionLength (G4DynamicParticle, G4Material, G4double)
GetPhysicsTable ( )
GetProcessName ( )
Protected Interface:
Has-A Relationships:
G4ParticleChange aParticleChange
The G4ParticleChange object which is
modified and returned by address by the
DoIt() method.
G4double theKineticEnergyCuts
The vector of cuts in kinetic energy (a
value per material). It is allocated,
computed and deallocated in the specific
process' SetCut() method.
G4PhysicsTable thePhysicsTable
A Physics Table can be either a
cross-sections table or an energy table
(or can be used for other specific
purposes).
Private Interface:
Has-A Relationships:
G4double theCutInMaxInteractionLength
For charged particles this is coincident
with cutting in the stopping range.
G4String theProcessName
The name of the process
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
BuildPhysicsTable
Public member of: G4VProcess
Return Class: void
Arguments:
const G4ParticleDefinition &aDefinition
Documentation:
Messaged by the Particle definition (via the process
manager) whenever cross section tables have to be
rebuilt (i.e. if new materials have been defined).
It is overloaded by individual processes when they need
physics tables.
Qualification: virtual
Concurrency: Sequential
Operation name:
DoIt
Public member of: G4VProcess
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Documentation:
A virtual base class function that has to be overridden
by any subclass. The DoIt method actually performs the
physics process and determines either
momentum change of the production of secondaries etc.
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetPhysicalInteractionLength
Public member of: G4VProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double numberOfInteractionLengthLeft=0
Documentation:
Returns the step-size which is allowed by "this"
process.
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetPhysicsTable
Public member of: G4VProcess
Return Class: const G4PhysicsTable*
Documentation:
Returns the address of the physics table.
Qualification: const
Concurrency: Sequential
Operation name:
GetProcessName
Public member of: G4VProcess
Return Class: G4String
Documentation:
Returns the name of the process.
Qualification: const
Concurrency: Sequential
Class name:
G4VDiscreteProcess
Category: PhysicsProcess
Documentation:
Abstract class which defines the public behavior of
discrete physics interactions.
Export Control: Public
Cardinality: 1
Hierarchy:
Superclasses: G4VProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetPhysicalInteractionLength (G4DynamicParticle, G4Material, G4double)
Protected Interface:
Operations:
GetMeanFreePath (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4VDiscreteProcess
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetMeanFreePath
Protected member of: G4VDiscreteProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Documentation:
Calculates from the macroscopic cross section a mean
free path, the value is returned in units of distance.
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetPhysicalInteractionLength
Public member of: G4VDiscreteProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double numberOfInteractionLengthLeft=0
Concurrency: Sequential
Class name:
G4VContinuousProcess
Category: PhysicsProcess
Documentation:
Abstract class which defines the public behavior of
continuous physics interactions.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetPhysicalInteractionLength (G4DynamicParticle, G4Material, G4double)
Protected Interface:
Operations:
GetContinuousStepLimit (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4VContinuousProcess
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetContinuousStepLimit
Protected member of: G4VContinuousProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetPhysicalInteractionLength
Public member of: G4VContinuousProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double numberOfInteractionLengthLeft=0
Concurrency: Sequential
Class name:
G4ParticleChange
Category: PhysicsProcess
Documentation:
Contains the results after invocation of a physics
process. This includes
final states of parent particle (momentum, energy, etc)
and secondary particles generated by the interaction.
The tracking assumes that all the values of energy and
momentum are in global reference system, therefore all
the needed Lorentz transformations must have been
already done when filling the data-members of this
class.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
AddSecondary (G4DynamicParticle)
GetEnergyChange ( )
GetKillSignal ( )
GetLocalEnergyDeposited ( )
GetMomentumChange ( )
GetNumberOfSecondaries ( )
GetPolarizationChange ( )
GetSecondary (G4int)
GetSpread ( )
GetStopSignal ( )
GetTimeDelay ( )
SetEnergyChange (G4double)
SetKillSignal (G4bool)
SetLocalEnergyDeposited (G4double)
SetMomentumChange (G4double, G4double, G4double)
SetMomentumChange (G4ThreeVector)
SetNumberOfSecondaries (G4int)
SetPolarizationChange (G4double, G4double, G4double)
SetSpread (G4SpreadVector)
SetStopSignal (G4bool)
SetTimeDelay (G4double)
delete (void)
new (size_t)
Private Interface:
Has-A Relationships:
G4SpreadVector spreadOfSecondaries
The "spreader" vector data member
containing the distances (normalized to
the current step size) of the
secondaries' vertexes from the start
point of the current step: the tracking
will then be able to compute in real
space coordinates the vertexes of such
secondaries.
G4double theEnergyChange
The final kinetic energy of the current
particle.
G4bool theKillSignal
Is an indicator that the existence of the
particle has stopped due to the invoked
process
G4DynamicParticleFastVector theListOfSecondaries
G4double theLocalEnergyDeposited
It represents the part of the energy lost
for discrete or semi-continuous processes
which is due to secondaries not generated
because they would have been below their
cut threshold.
The sum of the locally deposited energy +
the delta-energy coming from the
continuous processes gives the total
energy loss localized in the current
step.
G4ParticleMomentum theMomentumChange
Is the vector containing the final
momentum direction after the invoked
process. The application of the change of
the momentum direction of the particle is
not done here. The responsibility to
apply the change is up the entity which
invoked the process.
G4int theNumberOfSecondaries
The total number of secondaries produced
by each process.
G4ThreeVector thePolarizationChange
The changed (final) polarization of a
given particle.
G4bool theStopSignal
It is an indicator that the existence of
the particle has stopped due to the
invoked process (then processes at rest
will be invoked by the Tracking).
G4double theTimeDelay
Time delay introduced by processes like
decay, or processes at rest.
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
AddSecondary
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4DynamicParticle *aSecondary
Documentation:
Adds a secondary particle to
G4DynamicParticleFastVector.
Concurrency: Sequential
Operation name:
GetEnergyChange
Public member of: G4ParticleChange
Return Class: G4double
Documentation:
Returns the final kinetic energy of the current
particle.
Qualification: const
Concurrency: Sequential
Operation name:
GetKillSignal
Public member of: G4ParticleChange
Return Class: G4bool
Documentation:
Returns the value of theKillSignal.
Qualification: const
Concurrency: Sequential
Operation name:
GetLocalEnergyDeposited
Public member of: G4ParticleChange
Return Class: G4double
Documentation:
Gets the locally deposited energy for discrete and
semi-continuous processes.
Qualification: const
Concurrency: Sequential
Operation name:
GetMomentumChange
Public member of: G4ParticleChange
Return Class: const const G4ParticleMomentum*
Documentation:
Returns the final momentum direction of the current
particle.
Qualification: const
Concurrency: Sequential
Operation name:
GetNumberOfSecondaries
Public member of: G4ParticleChange
Return Class: G4int
Documentation:
Returns the number of secondaries current stored in
G4DynamicParticleFastVector.
Qualification: const
Concurrency: Sequential
Operation name:
GetPolarizationChange
Public member of: G4ParticleChange
Return Class: const G4ThreeVector*
Documentation:
Returns the final polarization of the current particle.
Qualification: const
Concurrency: Sequential
Operation name:
GetSecondary
Public member of: G4ParticleChange
Return Class: const G4DynamicParticle*
Arguments:
G4int anIndex
Documentation:
Returns a generated secondary particle.
Qualification: const
Concurrency: Sequential
Operation name:
GetSpread
Public member of: G4ParticleChange
Return Class: G4SpreadVector*
Documentation:
Returns the spread of secondaries.
Qualification: const
Concurrency: Sequential
Operation name:
GetStopSignal
Public member of: G4ParticleChange
Return Class: G4bool
Documentation:
Returns the value of theStopSignal.
Qualification: const
Concurrency: Sequential
Operation name:
GetTimeDelay
Public member of: G4ParticleChange
Return Class: G4double
Documentation:
Returns the time delay.
Qualification: const
Concurrency: Sequential
Operation name:
SetEnergyChange
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4double theEnergyChange
Documentation:
Sets the final kinetic energy of the current particle.
Concurrency: Sequential
Operation name:
SetKillSignal
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4bool aKillSignal
Documentation:
Sets the value of fKillSignal.
Concurrency: Sequential
Operation name:
SetLocalEnergyDeposited
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4double anEnergyPart
Documentation:
Sets the locally deposited energy for discrete and
semi-continuous processes.
Concurrency: Sequential
Operation name:
SetMomentumChange
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4double deltaPx
G4double deltaPy
G4double deltaPz
Documentation:
Sets theMometumChange vector: it is the final momentum
direction.
Concurrency: Sequential
Operation name:
SetMomentumChange
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4ThreeVector deltaP
Documentation:
Sets theMomentumChange vector: it is the final momentum
direction.
Concurrency: Sequential
Operation name:
SetNumberOfSecondaries
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4int totSecondaries
Documentation:
This function must be called when the number of
secondaries is known in the DoIt() method; it resets
theNumberOfSecondaries to 0 (that will be incremented
at every AddSecondary() call).
This method has to be called just before any call to
AddSecondary() and even if there are no secondaries
this method has to be called before returning this
G4ParticleChange object from the DoIt().
Concurrency: Sequential
Operation name:
SetPolarizationChange
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4double deltaPx
G4double deltaPy
G4double deltaPz
Documentation:
Sets thePolarizationChange vector.
Concurrency: Sequential
Operation name:
SetSpread
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4SpreadVector *aPositionList
Documentation:
Sets the spreadOfSecondaries to the normalized
positions vector returned by the Spreader() method of a
semi-continuous process.
Concurrency: Sequential
Operation name:
SetStopSignal
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4bool theStopSignal
Documentation:
Sets the value of theStopSignal.
Concurrency: Sequential
Operation name:
SetTimeDelay
Public member of: G4ParticleChange
Return Class: void
Arguments:
G4double aTimeDelay
Documentation:
Sets the time delay introduced by processes like decay.
Concurrency: Sequential
Operation name:
delete
Public member of: G4ParticleChange
Return Class: void
Arguments:
void *aParticleChange
Documentation:
Overloaded operator delete for G4Allocator.
Concurrency: Sequential
Operation name:
new
Public member of: G4ParticleChange
Return Class: void*
Arguments:
size_t size
Documentation:
Overloaded operator new for G4Allocator.
Concurrency: Sequential
Class name:
G4DynamicParticleFastVector
Category: PhysicsProcess
Documentation:
Contains pointers to G4DynamicParticle objects which
are generated by
either primary or secondary interaction.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Instantiates class: G4FastVector
Generic parameters:
class G4DynamicParticle
G4int 1024
Associations:
G4FastVector
Private Interface:
Has-A Relationships:
G4DynamicParticle
State machine: No
Concurrency: Sequential
Persistence: Transient
Class name:
G4EnergyLoss
Category: PhysicsProcess
Documentation:
A continuous interaction class which describes energy
loss of charged particles.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VContinuousProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetConstraints (G4DynamicParticle, G4Material)
Private Interface:
Operations:
GetContinuousStepLimit (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4EnergyLoss
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Concurrency: Sequential
Operation name:
GetConstraints
Public member of: G4EnergyLoss
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Operation name:
GetContinuousStepLimit
Private member of: G4EnergyLoss
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Class name:
G4MultipleScattering
Category: PhysicsProcess
Documentation:
A continuous interaction class which describes multiple
scattering of charged particles.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VContinuousProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetConstraints (G4DynamicParticle, G4Material)
Private Interface:
Operations:
GetContinuousStepLimit (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4MultipleScattering
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Concurrency: Sequential
Operation name:
GetConstraints
Public member of: G4MultipleScattering
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Operation name:
GetContinuousStepLimit
Private member of: G4MultipleScattering
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Class name:
G4VSemiContinuousProcess
Category: PhysicsProcess
Documentation:
Abstract class which defines the public behavior of
semi-continuous physics interactions like Cherenkov and
synchroton radiation, for which secondaries must be
spred along the step by the tracking.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetPhysicalInteractionLength (G4DynamicParticle, G4Material, G4double)
Protected Interface:
Operations:
GetSemiContinuousStepLimit (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4VSemiContinuousProcess
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetPhysicalInteractionLength
Public member of: G4VSemiContinuousProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double numberOfInteractionLengthLeft=0
Concurrency: Sequential
Operation name:
GetSemiContinuousStepLimit
Protected member of: G4VSemiContinuousProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Qualification: pure virtual
Concurrency: Sequential
Class name:
G4Cherenkov
Category: PhysicsProcess
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSemiContinuousProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetSemiConstraints (G4DynamicParticle, G4Material)
Protected Interface:
Operations:
Spreader (G4int)
Private Interface:
Operations:
GetSemiContinuousStepLimit (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4Cherenkov
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Concurrency: Sequential
Operation name:
GetSemiConstraints
Public member of: G4Cherenkov
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Operation name:
GetSemiContinuousStepLimit
Private member of: G4Cherenkov
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Operation name:
Spreader
Protected member of: G4Cherenkov
Return Class: G4SpreadVector*
Arguments:
G4int numerOfSecondaries
Documentation:
To fill the Spread-vector data member of the
ParticleChange object.
Qualification: virtual
Concurrency: Sequential
Class name:
G4SyncrotronRadiation
Category: PhysicsProcess
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSemiContinuousProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetSemiConstraints (G4DynamicParticle, G4Material)
Protected Interface:
Operations:
Spreader (G4int)
Private Interface:
Operations:
GetSemiContinuousStepLimit (G4Dynamicparticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4SyncrotronRadiation
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Concurrency: Sequential
Operation name:
GetSemiConstraints
Public member of: G4SyncrotronRadiation
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Operation name:
GetSemiContinuousStepLimit
Private member of: G4SyncrotronRadiation
Return Class: G4double
Arguments:
G4Dynamicparticle *particle
G4Material *material
Concurrency: Sequential
Operation name:
Spreader
Protected member of: G4SyncrotronRadiation
Return Class: G4SpreadVector*
Arguments:
G4int numberOfSecondaries
Documentation:
To fill the Spread-vector data member of the
ParticleChange object.
Qualification: virtual
Concurrency: Sequential
Class name:
G4PairProduction
Category: PhysicsProcess
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VDiscreteProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetMicroscopicCrossSection (G4DynamicParticle, G4Material)
Private Interface:
Operations:
GetMeanFreePath (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4PairProduction
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Concurrency: Sequential
Operation name:
GetMeanFreePath
Private member of: G4PairProduction
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Documentation:
Calculates from the macroscopic cross section a mean
free path, the value is returned in units of meter.
Semantics:
Object diagram: GetMeanFreePath
Concurrency: Sequential
Operation name:
GetMicroscopicCrossSection
Public member of: G4PairProduction
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Class name:
G4PhotoFission
Category: PhysicsProcess
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VDiscreteProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetMicroscopicCrossSection (G4DynamicParticle, G4Material)
Private Interface:
Operations:
GetMeanFreePath (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4PhotoFission
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength = 0
Concurrency: Sequential
Operation name:
GetMeanFreePath
Private member of: G4PhotoFission
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Documentation:
Calculates from the macroscopic cross section a mean
free path, the value is returned in units of meter.
Semantics:
Object diagram: GetMeanFreePath
Concurrency: Sequential
Operation name:
GetMicroscopicCrossSection
Public member of: G4PhotoFission
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Concurrency: Sequential
Class name:
G4PhysicsTable
Category: PhysicsProcess
Documentation:
Table of cross-sections or energy-loss values for a
list of materials.
Export Control: Public
Cardinality: 1
Hierarchy:
Superclasses: none
Instantiates class: RWTPtrOrderedVector
Generic parameters:
class G4PhysicsVector
Associations:
RWTPtrOrderedVector
Private Interface:
Has-A Relationships:
G4PhysicsVector
State machine: No
Concurrency: Sequential
Persistence: Transient
Class name:
G4PhysicsVector
Category: PhysicsProcess
Documentation:
The physics vectors which has energy-loss or
cross-section values of a particle and a material in
the given range of the energies. This class serves as
the base class for a vector having various energy
scale, for example like 'log', 'linear', 'free', etc.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
GetComment ( )
GetLowEdgeEnergy (size_t)
GetNextTable ( )
GetValue (G4double, G4bool)
GetVectorLength ( )
IsFilledVectorExist ( )
IsLinkedTableExist ( )
LinkPhysicsTable (G4PhysicsTable)
PutComment (G4String)
PutValue (size_t, G4double)
operator() (const size_t)
operator[] (const size_t)
Protected Interface:
Has-A Relationships:
G4DataVector binVector
Vector to keep the low edge value of bin.
G4DataVector dataVector
Vector to keep the cross-section
energy-loss.
G4double edgeMax
G4double edgeMin
size_t lastBin
Caches the last bin location.
G4double lastEnergy
Caches the last input value.
G4double lastValue
Caches the last output value.
size_t numberOfBin
G4PhysicsTable ptrNextTable
Operations:
FindBinLocation (G4double)
LinearInterpolation (G4double, size_t)
Private Interface:
Has-A Relationships:
G4String comment
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
FindBinLocation
Protected member of: G4PhysicsVector
Return Class: size_t
Arguments:
G4double theEnergy
Documentation:
Pure virtual function to find the bin number in which
theEnergy belongs to.
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetComment
Public member of: G4PhysicsVector
Return Class: G4String
Documentation:
Retrieves a comment on G4PhysicsVector.
Concurrency: Sequential
Operation name:
GetLowEdgeEnergy
Public member of: G4PhysicsVector
Return Class: G4double
Arguments:
size_t binNumber
Documentation:
Get the energy value at athe low edge of the specified
bin. Take note that the 'binNumber' starts from 0.
This value is defined when a physics vector is
constructed by a constructor of a derived class.
This function has to be used when filling the physics
vector by means of PutValue().
Qualification: virtual
Concurrency: Sequential
Operation name:
GetNextTable
Public member of: G4PhysicsVector
Return Class: const G4PhysicsTable*
Documentation:
Returns the pointer to a physics table created for
elements or isotopes (when the cross-sections or
energy-losses depend explicitly on them).
Concurrency: Sequential
Operation name:
GetValue
Public member of: G4PhysicsVector
Return Class: G4double
Arguments:
G4double theEnergy
G4bool &isOutRange
Documentation:
Get the cross-section energy-loss value corresponding
to the given energy. An appropriate interpolation is
used to calculate the value.
Concurrency: Sequential
Operation name:
GetVectorLength
Public member of: G4PhysicsVector
Return Class: size_t
Documentation:
Gets the total length (bin number) of the vector.
Concurrency: Sequential
Operation name:
IsFilledVectorExist
Public member of: G4PhysicsVector
Return Class: G4bool
Documentation:
Returns true if a non-empty physics vector exists.
Concurrency: Sequential
Operation name:
IsLinkedTableExist
Public member of: G4PhysicsVector
Return Class: G4bool
Documentation:
Returns true if the physics vector has an extended
physics table.
Concurrency: Sequential
Operation name:
LinearInterpolation
Protected member of: G4PhysicsVector
Return Class: G4double
Arguments:
G4double theEnergy
size_t theLocBin
Documentation:
Linear interpolation function.
Concurrency: Sequential
Operation name:
LinkPhysicsTable
Public member of: G4PhysicsVector
Return Class: void
Arguments:
G4PhysicsTable &theTable
Documentation:
Links the given G4PhysicsTable to the current
G4PhysicsVector.
Concurrency: Sequential
Operation name:
PutComment
Public member of: G4PhysicsVector
Return Class: void
Arguments:
G4String theComment
Documentation:
Put a comment to the G4PhysicsVector. This may help to
check which vector one is accessing.
Concurrency: Sequential
Operation name:
PutValue
Public member of: G4PhysicsVector
Return Class: void
Arguments:
size_t binNumber
G4double theValue
Documentation:
Put 'theValue' into the bin specified by 'binNumber'.
Take note that the 'binNumber' starts from '0'.
To fill the vector, one has beforehand to construct a
vector using the constructor with Emin, Emax, Nbin.
'theValue should be the cross-section energy-loss value
corresponding to the low edge energy of the bin
specified by 'binNumber'. The low edge energy value of
a bin can be returned using GetLowEdgeEnergy().
Concurrency: Sequential
Operation name:
operator()
Public member of: G4PhysicsVector
Return Class: G4int
Arguments:
const size_t binNumber
Documentation:
Returns simply the value in the bin specified by
'binNumber' of the dataVector. The boundary checking
will not be done.
Qualification: const
Concurrency: Sequential
Operation name:
operator[]
Public member of: G4PhysicsVector
Return Class: G4int
Arguments:
const size_t binNumber
Documentation:
Returns simply the value in the bin specified by
'binNumber' of the dataVector. The boundary check will
be done.
Qualification: const
Concurrency: Sequential
Class name:
G4DataVector
Category: PhysicsProcess
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Instantiates class: RWTValOrderedVector
Generic parameters:
class G4double
Associations:
RWTValOrderedVector
State machine: No
Concurrency: Sequential
Persistence: Transient
Class name:
G4FastVector
Category: PhysicsProcess
Documentation:
Template class defining a vector of pointers, not
performing boundary checking.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Generic parameters:
class G4DynamicParticle
G4int N
Public Interface:
Operations:
SetElement (G4int, Type)
initialize (G4int)
operator[] (G4int)
Private Interface:
Has-A Relationships:
Type* ptr
Pointer for dynamic allocation of space.
Type theArray
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
SetElement
Public member of: G4FastVector
Return Class: void
Arguments:
G4int anIndex
Type *anElement
Documentation:
To insert an element at the given position inside the
vector.
Concurrency: Sequential
Operation name:
initialize
Public member of: G4FastVector
Return Class: void
Arguments:
G4int items
Documentation:
Initializes the vector dynamically allocating a new
chunk of memory if the given size is greater than the
default value.
Concurrency: Sequential
Operation name:
operator[]
Public member of: G4FastVector
Return Class: Type*
Arguments:
G4int anIndex
Documentation:
Access operator to the array.
Concurrency: Sequential
Class name:
G4ProcessTypeVector
Category: PhysicsProcess
Documentation:
Is an instanciation of the parameterized
RWTPtrOrderedVector class. It contains the pointers to
the different types of process vectors.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Instantiates class: RWTPtrOrderedVector
Generic parameters:
class G4ProcessVector
Associations:
RWTPtrOrderedVector
Private Interface:
Has-A Relationships:
G4ProcessVector
State machine: No
Concurrency: Sequential
Persistence: Transient
Class name:
G4ProcessVector
Category: PhysicsProcess
Documentation:
Is a container for pointers to physics process objects.
Its functionality is derived from
RWTPtrOrderedVector.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: RWTPtrOrderedVector
Public Interface:
Operations:
operator== (const G4ProcessVector)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
operator==
Public member of: G4ProcessVector
Return Class: G4bool
Arguments:
const G4ProcessVector &right
Documentation:
Provides a well-defined equality semantics.
Concurrency: Sequential
Class name:
G4PhysicsLinearVector
Category: PhysicsProcess
Documentation:
The Physics vector which has energy-loss or
cross-section values of a particle and a material in
the given range of energies. The energy scale is
linear.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4PhysicsVector
Protected Interface:
Operations:
FindBinLocation (G4double)
Private Interface:
Has-A Relationships:
G4double baseBin
G4double dBin
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
FindBinLocation
Protected member of: G4PhysicsLinearVector
Return Class: size_t
Arguments:
G4double theEnergy
Documentation:
Finds the bin number in which theEnergy belongs to.
Concurrency: Sequential
Class name:
G4PhysicsLogVector
Category: PhysicsProcess
Documentation:
The physics vector which has energy-loss or
cross-section values of a particle and a material in
the given range of energies. The energy scale is
logarithmic.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4PhysicsVector
Protected Interface:
Operations:
FindBinLocation (G4double)
Private Interface:
Has-A Relationships:
G4double baseBin
G4double dBin
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
FindBinLocation
Protected member of: G4PhysicsLogVector
Return Class: size_t
Arguments:
G4double theEnergy
Documentation:
Finds the bin number in which theEnergy belongs to.
Concurrency: Sequential
A Physics Table can be either a cross-sections table or an
energy table (or can be used for other specific purposes).
The G4ParticleChange object which is modified and returned
by address by the DoIt() method.
Class name:
G4VRestProcess
Category: PhysicsProcess
Documentation:
Abstract class which defines the public behavior of
physics interactions at rest.
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VProcess
Public Interface:
Operations:
DoIt (G4DynamicParticle, G4Material, G4double)
GetPhysicalInteractionLength (G4DynamicParticle, G4Material, G4double)
Protected Interface:
Operations:
GetMeanLifeTime (G4DynamicParticle, G4Material)
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
DoIt
Public member of: G4VRestProcess
Return Class: G4ParticleChange*
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double *truePathLength=0
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetMeanLifeTime
Protected member of: G4VRestProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
Documentation:
Calculates the mean life-time (i.e. for decays) of the
particle at rest due to the occurence of the given
process or converts the probablity of interaction (i.e.
for annihilation) into the life-time of hte particle
for the occurence of the given process.
Qualification: pure virtual
Concurrency: Sequential
Operation name:
GetPhysicalInteractionLength
Public member of: G4VRestProcess
Return Class: G4double
Arguments:
G4DynamicParticle *particle
G4Material *material
G4double numberOfInteractionLengthLeft=0
Concurrency: Sequential
Vector to keep the cross-section energy-loss.
Vector to keep the low edge value of bin.