Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4VProcess Class Referenceabstract

#include <G4VProcess.hh>

Inheritance diagram for G4VProcess:
Collaboration diagram for G4VProcess:

Public Member Functions

 G4VProcess (const G4String &aName="NoName", G4ProcessType aType=fNotDefined)
 
 G4VProcess (const G4VProcess &right)
 
virtual ~G4VProcess ()
 
G4int operator== (const G4VProcess &right) const
 
G4int operator!= (const G4VProcess &right) const
 
virtual G4VParticleChangePostStepDoIt (const G4Track &track, const G4Step &stepData)=0
 
virtual G4VParticleChangeAlongStepDoIt (const G4Track &track, const G4Step &stepData)=0
 
virtual G4VParticleChangeAtRestDoIt (const G4Track &track, const G4Step &stepData)=0
 
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)=0
 
virtual G4double AtRestGetPhysicalInteractionLength (const G4Track &track, G4ForceCondition *condition)=0
 
virtual G4double PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)=0
 
G4double GetCurrentInteractionLength () const
 
void SetPILfactor (G4double value)
 
G4double GetPILfactor () const
 
G4double AlongStepGPIL (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
 
G4double AtRestGPIL (const G4Track &track, G4ForceCondition *condition)
 
G4double PostStepGPIL (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
virtual G4bool IsApplicable (const G4ParticleDefinition &)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void PreparePhysicsTable (const G4ParticleDefinition &)
 
virtual G4bool StorePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
virtual G4bool RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
const G4StringGetPhysicsTableFileName (const G4ParticleDefinition *, const G4String &directory, const G4String &tableName, G4bool ascii=false)
 
const G4StringGetProcessName () const
 
G4ProcessType GetProcessType () const
 
void SetProcessType (G4ProcessType)
 
G4int GetProcessSubType () const
 
void SetProcessSubType (G4int)
 
virtual void StartTracking (G4Track *)
 
virtual void EndTracking ()
 
virtual void SetProcessManager (const G4ProcessManager *)
 
virtual const G4ProcessManagerGetProcessManager ()
 
virtual void ResetNumberOfInteractionLengthLeft ()
 
G4double GetNumberOfInteractionLengthLeft () const
 
G4double GetTotalNumberOfInteractionLengthTraversed () const
 
G4bool isAtRestDoItIsEnabled () const
 
G4bool isAlongStepDoItIsEnabled () const
 
G4bool isPostStepDoItIsEnabled () const
 
virtual void DumpInfo () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
virtual void SetMasterProcess (G4VProcess *masterP)
 
const G4VProcessGetMasterProcess () const
 
virtual void BuildWorkerPhysicsTable (const G4ParticleDefinition &part)
 
virtual void PrepareWorkerPhysicsTable (const G4ParticleDefinition &)
 

Static Public Member Functions

static const G4StringGetProcessTypeName (G4ProcessType)
 

Protected Member Functions

void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
void ClearNumberOfInteractionLengthLeft ()
 

Protected Attributes

const G4ProcessManageraProcessManager
 
G4VParticleChangepParticleChange
 
G4ParticleChange aParticleChange
 
G4double theNumberOfInteractionLengthLeft
 
G4double currentInteractionLength
 
G4double theInitialNumberOfInteractionLength
 
G4String theProcessName
 
G4String thePhysicsTableFileName
 
G4ProcessType theProcessType
 
G4int theProcessSubType
 
G4double thePILfactor
 
G4bool enableAtRestDoIt
 
G4bool enableAlongStepDoIt
 
G4bool enablePostStepDoIt
 
G4int verboseLevel
 

Detailed Description

Definition at line 75 of file G4VProcess.hh.

Constructor & Destructor Documentation

G4VProcess::G4VProcess ( const G4String aName = "NoName",
G4ProcessType  aType = fNotDefined 
)

Definition at line 52 of file G4VProcess.cc.

53  : aProcessManager(0),
54  pParticleChange(0),
58  theProcessName(aName),
59  theProcessType(aType),
61  thePILfactor(1.0),
62  enableAtRestDoIt(true),
63  enableAlongStepDoIt(true),
64  enablePostStepDoIt(true),
65  verboseLevel(0),
66  masterProcessShadow(0)
67 
68 {
70 }
G4ProcessType theProcessType
Definition: G4VProcess.hh:340
G4int verboseLevel
Definition: G4VProcess.hh:368
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293
G4int theProcessSubType
Definition: G4VProcess.hh:343
G4bool enableAtRestDoIt
Definition: G4VProcess.hh:350
G4double thePILfactor
Definition: G4VProcess.hh:346
G4double currentInteractionLength
Definition: G4VProcess.hh:297
G4bool enablePostStepDoIt
Definition: G4VProcess.hh:352
const G4ProcessManager * aProcessManager
Definition: G4VProcess.hh:280
G4VParticleChange * pParticleChange
Definition: G4VProcess.hh:283
G4ParticleChange aParticleChange
Definition: G4VProcess.hh:289
G4String theProcessName
Definition: G4VProcess.hh:335
G4bool enableAlongStepDoIt
Definition: G4VProcess.hh:351
G4double theInitialNumberOfInteractionLength
Definition: G4VProcess.hh:300
G4VProcess::G4VProcess ( const G4VProcess right)

Definition at line 76 of file G4VProcess.cc.

77  : aProcessManager(0),
78  pParticleChange(0),
85  thePILfactor(1.0),
90  masterProcessShadow(right.masterProcessShadow)
91 {
92 }
G4ProcessType theProcessType
Definition: G4VProcess.hh:340
G4int verboseLevel
Definition: G4VProcess.hh:368
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293
G4int theProcessSubType
Definition: G4VProcess.hh:343
G4bool enableAtRestDoIt
Definition: G4VProcess.hh:350
G4double thePILfactor
Definition: G4VProcess.hh:346
G4double currentInteractionLength
Definition: G4VProcess.hh:297
G4bool enablePostStepDoIt
Definition: G4VProcess.hh:352
const G4ProcessManager * aProcessManager
Definition: G4VProcess.hh:280
G4VParticleChange * pParticleChange
Definition: G4VProcess.hh:283
G4String theProcessName
Definition: G4VProcess.hh:335
G4bool enableAlongStepDoIt
Definition: G4VProcess.hh:351
G4double theInitialNumberOfInteractionLength
Definition: G4VProcess.hh:300
G4VProcess::~G4VProcess ( )
virtual

Definition at line 72 of file G4VProcess.cc.

73 {
74 }

Member Function Documentation

G4double G4VProcess::AlongStepGPIL ( const G4Track track,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double proposedSafety,
G4GPILSelection selection 
)
inline

Definition at line 479 of file G4VProcess.hh.

484 {
486  =AlongStepGetPhysicalInteractionLength(track, previousStepSize, currentMinimumStep, proposedSafety, selection);
487  return value;
488 }
const XML_Char int const XML_Char * value
Definition: expat.h:331
virtual G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)=0
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4VProcess::AtRestGPIL ( const G4Track track,
G4ForceCondition condition 
)
inline

Definition at line 490 of file G4VProcess.hh.

492 {
495  return thePILfactor*value;
496 }
G4double condition(const G4ErrorSymMatrix &m)
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &track, G4ForceCondition *condition)=0
G4double thePILfactor
Definition: G4VProcess.hh:346
const XML_Char int const XML_Char * value
Definition: expat.h:331
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

void G4VProcess::BuildWorkerPhysicsTable ( const G4ParticleDefinition part)
virtual

Reimplemented in G4BiasingProcessInterface, XWrapperDiscreteProcess, and XWrapperContinuousDiscreteProcess.

Definition at line 202 of file G4VProcess.cc.

203 {
204  BuildPhysicsTable(part);
205 }
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
Definition: G4VProcess.hh:210

Here is the call graph for this function:

Here is the caller graph for this function:

void G4VProcess::ClearNumberOfInteractionLengthLeft ( )
inlineprotected

Definition at line 447 of file G4VProcess.hh.

448 {
451 }
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293
G4double theInitialNumberOfInteractionLength
Definition: G4VProcess.hh:300

Here is the caller graph for this function:

void G4VProcess::DumpInfo ( ) const
virtual

Reimplemented in XWrapperDiscreteProcess, and XWrapperContinuousDiscreteProcess.

Definition at line 178 of file G4VProcess.cc.

179 {
180  G4cout << "Process Name " << theProcessName ;
181  G4cout << " : Type[" << GetProcessTypeName(theProcessType) << "]";
182  G4cout << " : SubType[" << theProcessSubType << "]"<< G4endl;
183 }
G4ProcessType theProcessType
Definition: G4VProcess.hh:340
static const G4String & GetProcessTypeName(G4ProcessType)
Definition: G4VProcess.cc:141
G4int theProcessSubType
Definition: G4VProcess.hh:343
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
G4String theProcessName
Definition: G4VProcess.hh:335

Here is the call graph for this function:

Here is the caller graph for this function:

void G4VProcess::EndTracking ( )
virtual

Reimplemented in G4WrapperProcess, G4BiasingProcessInterface, G4AdjointProcessEquivalentToDirectProcess, G4Decay, G4CoupledTransportation, G4ParallelGeometriesLimiterProcess, XWrapperDiscreteProcess, G4FastSimulationManagerProcess, XWrapperContinuousDiscreteProcess, and G4VPhononProcess.

Definition at line 113 of file G4VProcess.cc.

114 {
115 #ifdef G4VERBOSE
116  if (verboseLevel>2) {
117  G4cout << "G4VProcess::EndTracking() [" << theProcessName << "]" <<G4endl;
118  }
119 #endif
123 }
G4int verboseLevel
Definition: G4VProcess.hh:368
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293
G4GLOB_DLL std::ostream G4cout
G4double currentInteractionLength
Definition: G4VProcess.hh:297
#define G4endl
Definition: G4ios.hh:61
G4String theProcessName
Definition: G4VProcess.hh:335
G4double theInitialNumberOfInteractionLength
Definition: G4VProcess.hh:300

Here is the caller graph for this function:

G4double G4VProcess::GetCurrentInteractionLength ( ) const
inline

Definition at line 462 of file G4VProcess.hh.

463 {
465 }
G4double currentInteractionLength
Definition: G4VProcess.hh:297
const G4VProcess * G4VProcess::GetMasterProcess ( ) const
inline

Definition at line 538 of file G4VProcess.hh.

539 {
540  return masterProcessShadow;
541 }

Here is the caller graph for this function:

G4double G4VProcess::GetNumberOfInteractionLengthLeft ( ) const
inline

Definition at line 453 of file G4VProcess.hh.

454 {
456 }
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293

Here is the caller graph for this function:

const G4String & G4VProcess::GetPhysicsTableFileName ( const G4ParticleDefinition particle,
const G4String directory,
const G4String tableName,
G4bool  ascii = false 
)

Definition at line 186 of file G4VProcess.cc.

190 {
191  G4String thePhysicsTableFileExt;
192  if (ascii) thePhysicsTableFileExt = ".asc";
193  else thePhysicsTableFileExt = ".dat";
194 
195  thePhysicsTableFileName = directory + "/";
196  thePhysicsTableFileName += tableName + "." + theProcessName + ".";
197  thePhysicsTableFileName += particle->GetParticleName() + thePhysicsTableFileExt;
198 
200 }
const G4String & GetParticleName() const
G4String thePhysicsTableFileName
Definition: G4VProcess.hh:338
G4String theProcessName
Definition: G4VProcess.hh:335

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4VProcess::GetPILfactor ( ) const
inline

Definition at line 474 of file G4VProcess.hh.

475 {
476  return thePILfactor;
477 }
G4double thePILfactor
Definition: G4VProcess.hh:346

Here is the caller graph for this function:

const G4ProcessManager * G4VProcess::GetProcessManager ( )
inlinevirtual

Reimplemented in G4BiasingProcessInterface, G4WrapperProcess, XWrapperDiscreteProcess, and XWrapperContinuousDiscreteProcess.

Definition at line 514 of file G4VProcess.hh.

515 {
516  return aProcessManager;
517 }
const G4ProcessManager * aProcessManager
Definition: G4VProcess.hh:280

Here is the caller graph for this function:

const G4String & G4VProcess::GetProcessName ( ) const
inline

Definition at line 408 of file G4VProcess.hh.

409 {
410  return theProcessName;
411 }
G4String theProcessName
Definition: G4VProcess.hh:335
G4int G4VProcess::GetProcessSubType ( ) const
inline

Definition at line 426 of file G4VProcess.hh.

427 {
428  return theProcessSubType;
429 }
G4int theProcessSubType
Definition: G4VProcess.hh:343

Here is the caller graph for this function:

G4ProcessType G4VProcess::GetProcessType ( ) const
inline

Definition at line 414 of file G4VProcess.hh.

415 {
416  return theProcessType;
417 }
G4ProcessType theProcessType
Definition: G4VProcess.hh:340

Here is the caller graph for this function:

const G4String & G4VProcess::GetProcessTypeName ( G4ProcessType  aType)
static

Definition at line 141 of file G4VProcess.cc.

142 {
143  switch (aType) {
144  case fNotDefined: return typeNotDefined; break;
145  case fTransportation: return typeTransportation; break;
146  case fElectromagnetic: return typeElectromagnetic; break;
147  case fOptical: return typeOptical; break;
148  case fHadronic: return typeHadronic; break;
149  case fPhotolepton_hadron: return typePhotolepton_hadron; break;
150  case fDecay: return typeDecay; break;
151  case fGeneral: return typeGeneral; break;
152  case fParameterisation: return typeParameterisation; break;
153  case fUserDefined: return typeUserDefined; break;
154  case fPhonon: return typePhonon; break;
155  default: ;
156  }
157 
158  return noType;
159 }

Here is the caller graph for this function:

G4double G4VProcess::GetTotalNumberOfInteractionLengthTraversed ( ) const
inline

Definition at line 458 of file G4VProcess.hh.

459 {
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293
G4double theInitialNumberOfInteractionLength
Definition: G4VProcess.hh:300
G4int G4VProcess::GetVerboseLevel ( ) const
inline

Definition at line 442 of file G4VProcess.hh.

443 {
444  return verboseLevel;
445 }
G4int verboseLevel
Definition: G4VProcess.hh:368

Here is the caller graph for this function:

G4bool G4VProcess::isAlongStepDoItIsEnabled ( ) const
inline

Definition at line 526 of file G4VProcess.hh.

527 {
528  return enableAlongStepDoIt;
529 }
G4bool enableAlongStepDoIt
Definition: G4VProcess.hh:351

Here is the caller graph for this function:

virtual G4bool G4VProcess::IsApplicable ( const G4ParticleDefinition )
inlinevirtual

Reimplemented in G4ScreenedNuclearRecoil, G4BiasingProcessInterface, G4OpBoundaryProcess, G4VEnergyLossProcess, XWrapperContinuousDiscreteProcess, G4Scintillation, G4WrapperProcess, G4UCNBoundaryProcess, G4Cerenkov, G4AdjointProcessEquivalentToDirectProcess, G4OpWLS, G4SynchrotronRadiationInMat, G4VEmProcess, G4OpRayleigh, G4Decay, G4VMultipleScattering, G4OpAbsorption, G4RadioactiveDecay, XWrapperDiscreteProcess, G4eLowEnergyLoss, G4PolarizedPhotoElectricEffect, G4UCNAbsorption, G4UCNLoss, G4UCNMultiScattering, G4MuIonisation, G4hIonisation, G4eBremsstrahlung, G4PhotoElectricEffect, G4eIonisation, G4SynchrotronRadiation, G4VXTRenergyLoss, G4MuBremsstrahlung, G4hImpactIonisation, G4GammaConversion, G4ionIonisation, G4ElectronCapture, G4AdjointhMultipleScattering, G4PolarizedCompton, G4LowEnergyBremsstrahlung, G4LowEnergyPolarizedCompton, G4MuPairProduction, G4ComptonScattering, G4ElectronCapture, G4LowEnergyIonisation, G4LowECapture, G4NeutronKiller, G4ElectronCapture, G4UnknownDecay, G4OpMieHG, G4DNAMolecularDissociation, G4ePolarizedIonisation, G4mplIonisation, G4eplusAnnihilation, G4NuclearStopping, G4LowEnergyPhotoElectric, G4eAdjointMultipleScattering, G4PolarizedGammaConversion, CexmcHadronicProcess, G4GammaConversionToMuons, G4hMultipleScattering, G4HadronStoppingProcess, G4LowEnergyGammaConversion, G4hBremsstrahlung, G4hhIonisation, G4MuMultipleScattering, G4eMultipleScattering, G4LowEnergyCompton, G4MuonMinusAtomicCapture, G4LowEnergyRayleigh, G4eeToHadrons, G4TransitionRadiation, G4hPairProduction, G4alphaIonisation, G4AnnihiToMuPair, G4MicroElecInelastic, G4MuElecInelastic, G4ePairProduction, G4VTransitionRadiation, G4DNAElectronSolvation, G4CoulombScattering, G4MuonMinusCapture, G4RayleighScattering, G4AntiNeutronAnnihilationAtRest, G4HadronicAbsorptionFritiof, ML2StepMax, G4ChargeExchangeProcess, G4HadronFissionProcess, G4HadronCaptureProcess, IORTStepMax, G4ErrorEnergyLoss, StepMax, StepMax, StepMax, StepMax, ExExChProcessChanneling, G4MicroElecElastic, G4MuElecElastic, G4HadronInelasticProcess, StepMax, G4DNAIonisation, StepMax, StepMax, StepMaxProcess, StepLimiter, G4DNAElastic, G4DNAExcitation, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, WLSStepMax, StepMax, G4DNAChargeDecrease, G4DNAAttachment, G4HadronicAbsorptionBertini, XrayFluoStepMax, G4DNAChargeIncrease, G4DNAVibExcitation, F04StepMax, G4MuonicAtomDecay, StepMax, G4MuonNuclearProcess, HadrontherapyStepMax, G4DNAElectronHoleRecombination, G4VPhononProcess, G4PhononDownconversion, G4DNADissociation, G4DNAPositronium, and G4DNARotExcitation.

Definition at line 205 of file G4VProcess.hh.

205 {return true;}

Here is the caller graph for this function:

G4bool G4VProcess::isAtRestDoItIsEnabled ( ) const
inline

Definition at line 520 of file G4VProcess.hh.

521 {
522  return enableAtRestDoIt;
523 }
G4bool enableAtRestDoIt
Definition: G4VProcess.hh:350

Here is the caller graph for this function:

G4bool G4VProcess::isPostStepDoItIsEnabled ( ) const
inline

Definition at line 532 of file G4VProcess.hh.

533 {
534  return enablePostStepDoIt;
535 }
G4bool enablePostStepDoIt
Definition: G4VProcess.hh:352

Here is the caller graph for this function:

G4int G4VProcess::operator!= ( const G4VProcess right) const

Definition at line 173 of file G4VProcess.cc.

174 {
175  return (this != &right);
176 }
G4int G4VProcess::operator== ( const G4VProcess right) const

Definition at line 168 of file G4VProcess.cc.

169 {
170  return (this == &right);
171 }
virtual G4VParticleChange* G4VProcess::PostStepDoIt ( const G4Track track,
const G4Step stepData 
)
pure virtual

Implemented in G4ScreenedNuclearRecoil, G4VEnergyLossProcess, G4OpBoundaryProcess, G4BiasingProcessInterface, G4VMultipleScattering, G4hImpactIonisation, G4VEmProcess, G4Scintillation, G4DNABrownianTransportation, G4ParallelGeometriesLimiterProcess, G4ITTransportation, G4ParallelWorldScoringProcess, G4ScoreSplittingProcess, G4Cerenkov, G4FastSimulationManagerProcess, G4OpWLS, G4eLowEnergyLoss, G4UCNBoundaryProcess, G4ParallelWorldProcess, G4OpRayleigh, G4OpAbsorption, G4hRDEnergyLoss, G4GammaConversionToMuons, G4VContinuousProcess, G4UCNAbsorption, G4UCNLoss, G4UCNMultiScattering, G4AnnihiToMuPair, G4VRestContinuousProcess, G4RDVeLowEnergyLoss, G4WeightWindowProcess, G4VITRestProcess, G4VRestProcess, G4HadronicProcess, G4ImportanceProcess, G4WeightCutOffProcess, G4DNAMolecularDissociation, G4VXTRenergyLoss, G4SynchrotronRadiationInMat, XWrapperContinuousDiscreteProcess, G4ElectronCapture, G4AdjointForcedInteractionForGamma, G4ForwardXrayTR, G4MonopoleTransportation, G4Decay, G4VAdjointReverseReaction, G4NeutronKiller, G4LowEnergyBremsstrahlung, G4ElectronCapture, G4CoupledTransportation, G4LowEnergyIonisation, G4LowEnergyPolarizedCompton, G4WrapperProcess, G4OpMieHG, G4LowECapture, G4ElectronCapture, XWrapperDiscreteProcess, G4ErrorTrackLengthTarget, G4VITRestDiscreteProcess, G4Transportation, G4DNASecondOrderReaction, G4LowEnergyPhotoElectric, G4SynchrotronRadiation, G4VDiscreteProcess, G4LowEnergyGammaConversion, G4VErrorLimitProcess, G4VRestContinuousDiscreteProcess, XrayTelStepCut, G4AdjointProcessEquivalentToDirectProcess, G4VContinuousDiscreteProcess, G4VRestDiscreteProcess, G4LowEnergyCompton, G4TransitionRadiation, G4LowEnergyRayleigh, G4VTransitionRadiation, CexmcHadronicProcess, ML2StepMax, IORTStepMax, G4DNAElectronHoleRecombination, StepMax, StepMax, G4UnknownDecay, CexmcStudiedProcess, DMXSpecialCuts, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, G4SpecialCuts, StepMax, StepMaxProcess, StepMax, StepMax, WLSStepMax, StepLimiter, StepMax, StepMax, StepMax, StepMax, G4UserSpecialCuts, StepMax, F04StepMax, G4StepLimiter, XrayFluoStepMax, G4HadronElasticProcess, StepMax, G4VITDiscreteProcess, HadrontherapyStepMax, ExExChProcessChanneling, G4DecayWithSpin, G4PhononReflection, G4PhononDownconversion, and G4PhononScattering.

Here is the caller graph for this function:

virtual G4double G4VProcess::PostStepGetPhysicalInteractionLength ( const G4Track track,
G4double  previousStepSize,
G4ForceCondition condition 
)
pure virtual

Implemented in G4VEnergyLossProcess, G4BiasingProcessInterface, G4VMultipleScattering, G4VEmProcess, G4ParallelGeometriesLimiterProcess, G4ParallelWorldScoringProcess, G4Decay, G4ITTransportation, G4ScoreSplittingProcess, G4Cerenkov, G4FastSimulationManagerProcess, G4ParallelWorldProcess, G4WrapperProcess, G4AdjointProcessEquivalentToDirectProcess, G4PolarizedCompton, XWrapperContinuousDiscreteProcess, G4WeightWindowProcess, G4MonopoleTransportation, G4VRestContinuousProcess, G4VRestProcess, G4CoupledTransportation, G4ImportanceProcess, G4UnknownDecay, G4VITRestProcess, XWrapperDiscreteProcess, G4WeightCutOffProcess, G4ePolarizedIonisation, G4VContinuousProcess, G4Transportation, G4ElectronCapture, G4AdjointForcedInteractionForGamma, G4NeutronKiller, G4ElectronCapture, G4HadronStoppingProcess, G4DNAMolecularDissociation, G4LowECapture, G4MuonMinusAtomicCapture, G4ElectronCapture, G4eplusPolarizedAnnihilation, G4VITRestDiscreteProcess, G4ErrorTrackLengthTarget, G4DNASecondOrderReaction, G4VDiscreteProcess, G4VRestContinuousDiscreteProcess, XrayTelStepCut, G4VContinuousDiscreteProcess, G4VRestDiscreteProcess, G4VErrorLimitProcess, ML2StepMax, G4ErrorStepLengthLimitProcess, G4ErrorMagFieldLimitProcess, IORTStepMax, CexmcStudiedProcess, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, StepMax, DMXMaxTimeCuts, StepMax, StepMaxProcess, StepMax, StepMax, WLSStepMax, G4MaxTimeCuts, DMXSpecialCuts, StepLimiter, G4SpecialCuts, StepMax, StepMax, StepMax, StepMax, StepMax, F04StepMax, G4UserSpecialCuts, DMXMinEkineCuts, XrayFluoStepMax, G4MinEkineCuts, StepMax, G4VITDiscreteProcess, G4StepLimiter, and HadrontherapyStepMax.

Here is the caller graph for this function:

G4double G4VProcess::PostStepGPIL ( const G4Track track,
G4double  previousStepSize,
G4ForceCondition condition 
)
inline

Definition at line 498 of file G4VProcess.hh.

501 {
503  =PostStepGetPhysicalInteractionLength(track, previousStepSize, condition);
504  return thePILfactor*value;
505 }
G4double condition(const G4ErrorSymMatrix &m)
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)=0
G4double thePILfactor
Definition: G4VProcess.hh:346
const XML_Char int const XML_Char * value
Definition: expat.h:331
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

void G4VProcess::PrepareWorkerPhysicsTable ( const G4ParticleDefinition part)
virtual

Reimplemented in G4BiasingProcessInterface, XWrapperDiscreteProcess, and XWrapperContinuousDiscreteProcess.

Definition at line 207 of file G4VProcess.cc.

208 {
209  PreparePhysicsTable(part);
210 }
virtual void PreparePhysicsTable(const G4ParticleDefinition &)
Definition: G4VProcess.hh:217

Here is the call graph for this function:

Here is the caller graph for this function:

void G4VProcess::ResetNumberOfInteractionLengthLeft ( )
virtual

Reimplemented in G4BiasingProcessInterface, G4WrapperProcess, G4AdjointProcessEquivalentToDirectProcess, G4VITProcess, XWrapperDiscreteProcess, and XWrapperContinuousDiscreteProcess.

Definition at line 95 of file G4VProcess.cc.

96 {
99 }
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293
#define G4UniformRand()
Definition: Randomize.hh:97
G4double theInitialNumberOfInteractionLength
Definition: G4VProcess.hh:300

Here is the caller graph for this function:

virtual G4bool G4VProcess::RetrievePhysicsTable ( const G4ParticleDefinition ,
const G4String ,
G4bool   
)
inlinevirtual
void G4VProcess::SetMasterProcess ( G4VProcess masterP)
virtual

Reimplemented in G4BiasingProcessInterface, G4WrapperProcess, XWrapperDiscreteProcess, and XWrapperContinuousDiscreteProcess.

Definition at line 212 of file G4VProcess.cc.

213 {
214  masterProcessShadow = masterP;
215 }

Here is the caller graph for this function:

void G4VProcess::SetPILfactor ( G4double  value)
inline

Definition at line 467 of file G4VProcess.hh.

468 {
469  if (value>0.) {
471  }
472 }
G4double thePILfactor
Definition: G4VProcess.hh:346
const XML_Char int const XML_Char * value
Definition: expat.h:331

Here is the caller graph for this function:

void G4VProcess::SetProcessManager ( const G4ProcessManager procMan)
inlinevirtual

Reimplemented in G4BiasingProcessInterface, G4WrapperProcess, G4ParallelGeometriesLimiterProcess, XWrapperDiscreteProcess, and XWrapperContinuousDiscreteProcess.

Definition at line 508 of file G4VProcess.hh.

509 {
510  aProcessManager = procMan;
511 }
const G4ProcessManager * aProcessManager
Definition: G4VProcess.hh:280

Here is the caller graph for this function:

void G4VProcess::SetProcessSubType ( G4int  value)
inline

Definition at line 432 of file G4VProcess.hh.

433 {
435 }
G4int theProcessSubType
Definition: G4VProcess.hh:343
const XML_Char int const XML_Char * value
Definition: expat.h:331
void G4VProcess::SetProcessType ( G4ProcessType  aType)
inline

Definition at line 420 of file G4VProcess.hh.

421 {
422  theProcessType = aType;
423 }
G4ProcessType theProcessType
Definition: G4VProcess.hh:340

Here is the caller graph for this function:

void G4VProcess::SetVerboseLevel ( G4int  value)
inline

Definition at line 437 of file G4VProcess.hh.

438 {
440 }
G4int verboseLevel
Definition: G4VProcess.hh:368
const XML_Char int const XML_Char * value
Definition: expat.h:331

Here is the caller graph for this function:

void G4VProcess::StartTracking ( G4Track )
virtual

Reimplemented in G4VEnergyLossProcess, G4WrapperProcess, G4BiasingProcessInterface, G4AdjointProcessEquivalentToDirectProcess, G4VITProcess, G4Decay, G4VMultipleScattering, G4Transportation, G4MonopoleTransportation, G4VEmProcess, G4CoupledTransportation, G4ParallelGeometriesLimiterProcess, G4DNABrownianTransportation, G4FastSimulationManagerProcess, XWrapperContinuousDiscreteProcess, XWrapperDiscreteProcess, G4ParallelWorldProcess, G4ITTransportation, G4ParallelWorldScoringProcess, G4WeightWindowProcess, G4ScoreSplittingProcess, G4ImportanceProcess, G4WeightCutOffProcess, G4eAdjointMultipleScattering, G4DNASecondOrderReaction, G4VPhononProcess, and G4DNAElectronHoleRecombination.

Definition at line 101 of file G4VProcess.cc.

102 {
106 #ifdef G4VERBOSE
107  if (verboseLevel>2) {
108  G4cout << "G4VProcess::StartTracking() [" << theProcessName << "]" <<G4endl;
109  }
110 #endif
111 }
G4int verboseLevel
Definition: G4VProcess.hh:368
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293
G4GLOB_DLL std::ostream G4cout
G4double currentInteractionLength
Definition: G4VProcess.hh:297
#define G4endl
Definition: G4ios.hh:61
G4String theProcessName
Definition: G4VProcess.hh:335
G4double theInitialNumberOfInteractionLength
Definition: G4VProcess.hh:300

Here is the caller graph for this function:

virtual G4bool G4VProcess::StorePhysicsTable ( const G4ParticleDefinition ,
const G4String ,
G4bool   
)
inlinevirtual
void G4VProcess::SubtractNumberOfInteractionLengthLeft ( G4double  previousStepSize)
inlineprotected

Definition at line 544 of file G4VProcess.hh.

546 {
547  if (currentInteractionLength>0.0) {
551  }
552 
553  } else {
554 #ifdef G4VERBOSE
555  if (verboseLevel>0) {
556  G4cerr << "G4VProcess::SubtractNumberOfInteractionLengthLeft()";
557  G4cerr << " [" << theProcessName << "]" <<G4endl;
558  G4cerr << " currentInteractionLength = " << currentInteractionLength << " [mm]";
559  G4cerr << " previousStepSize = " << previousStepSize << " [mm]";
560  G4cerr << G4endl;
561  }
562 #endif
563  G4String msg = "Negative currentInteractionLength for ";
564  msg += theProcessName;
565  G4Exception("G4VProcess::SubtractNumberOfInteractionLengthLeft()",
566  "ProcMan201",EventMustBeAborted,
567  msg);
568  }
569 }
G4int verboseLevel
Definition: G4VProcess.hh:368
G4double theNumberOfInteractionLengthLeft
Definition: G4VProcess.hh:293
G4double currentInteractionLength
Definition: G4VProcess.hh:297
static constexpr double perMillion
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
#define G4endl
Definition: G4ios.hh:61
G4String theProcessName
Definition: G4VProcess.hh:335
G4GLOB_DLL std::ostream G4cerr

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

G4ParticleChange G4VProcess::aParticleChange
protected

Definition at line 289 of file G4VProcess.hh.

const G4ProcessManager* G4VProcess::aProcessManager
protected

Definition at line 280 of file G4VProcess.hh.

G4double G4VProcess::currentInteractionLength
protected

Definition at line 297 of file G4VProcess.hh.

G4bool G4VProcess::enableAlongStepDoIt
protected

Definition at line 351 of file G4VProcess.hh.

G4bool G4VProcess::enableAtRestDoIt
protected

Definition at line 350 of file G4VProcess.hh.

G4bool G4VProcess::enablePostStepDoIt
protected

Definition at line 352 of file G4VProcess.hh.

G4VParticleChange* G4VProcess::pParticleChange
protected

Definition at line 283 of file G4VProcess.hh.

G4double G4VProcess::theInitialNumberOfInteractionLength
protected

Definition at line 300 of file G4VProcess.hh.

G4double G4VProcess::theNumberOfInteractionLengthLeft
protected

Definition at line 293 of file G4VProcess.hh.

G4String G4VProcess::thePhysicsTableFileName
protected

Definition at line 338 of file G4VProcess.hh.

G4double G4VProcess::thePILfactor
protected

Definition at line 346 of file G4VProcess.hh.

G4String G4VProcess::theProcessName
protected

Definition at line 335 of file G4VProcess.hh.

G4int G4VProcess::theProcessSubType
protected

Definition at line 343 of file G4VProcess.hh.

G4ProcessType G4VProcess::theProcessType
protected

Definition at line 340 of file G4VProcess.hh.

G4int G4VProcess::verboseLevel
protected

Definition at line 368 of file G4VProcess.hh.


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