Geant4-11
Data Structures | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
G4DNABrownianTransportation Class Reference

#include <G4DNABrownianTransportation.hh>

Inheritance diagram for G4DNABrownianTransportation:
G4ITTransportation G4VITProcess G4VProcess

Data Structures

struct  G4ITBrownianState
 

Public Member Functions

virtual G4VParticleChangeAlongStepDoIt (const G4Track &track, const G4Step &)
 
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)
 
G4double AlongStepGPIL (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
 
virtual G4VParticleChangeAtRestDoIt (const G4Track &, const G4Step &)
 
virtual G4double AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *)
 
G4double AtRestGPIL (const G4Track &track, G4ForceCondition *condition)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void BuildWorkerPhysicsTable (const G4ParticleDefinition &part)
 
virtual void ComputeStep (const G4Track &, const G4Step &, const G4double, G4double &)
 
virtual void DumpInfo () const
 
void EnableShortStepOptimisation (G4bool optimise=true)
 
virtual void EndTracking ()
 
 G4DNABrownianTransportation (const G4DNABrownianTransportation &)
 
 G4DNABrownianTransportation (const G4String &aName="DNABrownianTransportation", G4int verbosityLevel=0)
 
G4double GetCurrentInteractionLength () const
 
G4double GetInteractionTimeLeft ()
 
const G4VProcessGetMasterProcess () const
 
G4double GetMaxEnergyKilled () const
 
G4double GetNumberOfInteractionLengthLeft () const
 
const G4StringGetPhysicsTableFileName (const G4ParticleDefinition *, const G4String &directory, const G4String &tableName, G4bool ascii=false)
 
G4double GetPILfactor () const
 
size_t GetProcessID () const
 
virtual const G4ProcessManagerGetProcessManager ()
 
const G4StringGetProcessName () const
 
G4shared_ptr< G4ProcessState_LockGetProcessState ()
 
G4int GetProcessSubType () const
 
G4ProcessType GetProcessType () const
 
G4PropagatorInFieldGetPropagatorInField ()
 
G4double GetSumEnergyKilled () const
 
G4double GetThresholdImportantEnergy () const
 
G4int GetThresholdTrials () const
 
G4double GetThresholdWarningEnergy () const
 
G4double GetTotalNumberOfInteractionLengthTraversed () const
 
G4int GetVerboseLevel () const
 
G4bool isAlongStepDoItIsEnabled () const
 
virtual G4bool IsApplicable (const G4ParticleDefinition &)
 
G4bool isAtRestDoItIsEnabled () const
 
G4bool isPostStepDoItIsEnabled () const
 
G4bool IsStepLimitedByGeometry ()
 
G4bool operator!= (const G4VITProcess &right) const
 
G4bool operator!= (const G4VProcess &right) const
 
G4DNABrownianTransportationoperator= (const G4DNABrownianTransportation &)
 
G4bool operator== (const G4VITProcess &right) const
 
G4bool operator== (const G4VProcess &right) const
 
virtual G4VParticleChangePostStepDoIt (const G4Track &track, const G4Step &)
 
virtual G4double PostStepGetPhysicalInteractionLength (const G4Track &, G4double, G4ForceCondition *pForceCond)
 
G4double PostStepGPIL (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
virtual void PreparePhysicsTable (const G4ParticleDefinition &)
 
virtual void PrepareWorkerPhysicsTable (const G4ParticleDefinition &)
 
virtual void ProcessDescription (std::ostream &outfile) const
 
G4bool ProposesTimeStep () const
 
void ResetKilledStatistics (G4int report=1)
 
virtual void ResetNumberOfInteractionLengthLeft ()
 
void ResetProcessState ()
 
virtual G4bool RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
void SetBrownianAction (G4BrownianAction *)
 
virtual void SetMasterProcess (G4VProcess *masterP)
 
void SetPILfactor (G4double value)
 
virtual void SetProcessManager (const G4ProcessManager *)
 
void SetProcessState (G4shared_ptr< G4ProcessState_Lock > aProcInfo)
 
void SetProcessSubType (G4int)
 
void SetProcessType (G4ProcessType)
 
void SetPropagatorInField (G4PropagatorInField *pFieldPropagator)
 
void SetThresholdImportantEnergy (G4double newEnImp)
 
void SetThresholdTrials (G4int newMaxTrials)
 
void SetThresholdWarningEnergy (G4double newEnWarn)
 
void SetVerboseLevel (G4int verboseLevel)
 
void SpeedLevel (int level)
 
virtual void StartTracking (G4Track *aTrack)
 
virtual G4bool StorePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
void UseCumulativeDensitFunction (bool flag=true)
 
void UseLimitingTimeSteps (bool flag=true)
 
void UseMaximumTimeBeforeReachingBoundary (bool flag=true)
 
virtual ~G4DNABrownianTransportation ()
 

Static Public Member Functions

static const size_t & GetMaxProcessIndex ()
 
static const G4StringGetProcessTypeName (G4ProcessType)
 

Protected Member Functions

virtual void ClearInteractionTimeLeft ()
 
virtual void ClearNumberOfInteractionLengthLeft ()
 
G4double ComputeGeomLimit (const G4Track &track, G4double &presafety, G4double limit)
 
void CreateInfo ()
 
void Diffusion (const G4Track &track)
 
G4bool DoesGlobalFieldExist ()
 
template<typename T >
T * GetState ()
 
G4bool InstantiateProcessState ()
 
void RetrieveProcessInfo ()
 
void SetInstantiateProcessState (G4bool flag)
 
virtual void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 

Protected Attributes

G4ParticleChange aParticleChange
 
const G4ProcessManageraProcessManager = nullptr
 
G4bool enableAlongStepDoIt = true
 
G4bool enableAtRestDoIt = true
 
G4bool enablePostStepDoIt = true
 
G4PropagatorInFieldfFieldPropagator
 
G4double fInternalMinTimeStep
 
G4ITNavigator * fLinearNavigator
 
G4double fMaxEnergyKilled
 
G4MaterialfNistWater
 
G4ParticleChangeForTransport fParticleChange
 
G4BrownianActionfpBrownianAction
 
G4bool fProposesTimeStep
 
G4ITSafetyHelperfpSafetyHelper
 
G4shared_ptr< G4ProcessStatefpState
 
const std::vector< G4double > * fpWaterDensity
 
G4bool fShortStepOptimisation
 
G4bool fSpeedMeUp
 
G4double fSumEnergyKilled
 
G4double fThreshold_Important_Energy
 
G4double fThreshold_Warning_Energy
 
G4int fThresholdTrials
 
G4double fUnimportant_Energy
 
G4bool fUseMaximumTimeBeforeReachingBoundary
 
G4bool fUseSchedulerMinTimeSteps
 
G4int fVerboseLevel
 
G4VParticleChangepParticleChange = nullptr
 
G4double theInitialNumberOfInteractionLength = -1.0
 
G4String thePhysicsTableFileName
 
G4double thePILfactor = 1.0
 
G4String theProcessName
 
G4int theProcessSubType = -1
 
G4ProcessType theProcessType = fNotDefined
 
G4int verboseLevel = 0
 

Private Attributes

G4doublecurrentInteractionLength
 
G4bool fInstantiateProcessState
 
static size_t * fNbProcess = 0
 
size_t fProcessID
 
G4ProcessTablefProcessTable = nullptr
 
G4VProcessmasterProcessShadow = nullptr
 
G4doubletheInteractionTimeLeft
 
G4doubletheNumberOfInteractionLengthLeft
 

Detailed Description

Definition at line 108 of file G4DNABrownianTransportation.hh.

Constructor & Destructor Documentation

◆ G4DNABrownianTransportation() [1/2]

G4DNABrownianTransportation::G4DNABrownianTransportation ( const G4String aName = "DNABrownianTransportation",
G4int  verbosityLevel = 0 
)

Definition at line 120 of file G4DNABrownianTransportation.cc.

121 :
122 G4ITTransportation(aName, verbosity)
123{
124
125 fVerboseLevel = 0;
126
127 fpState.reset(new G4ITBrownianState());
128
129 //ctor
131
133 fpWaterDensity = 0;
134
137 fSpeedMeUp = true;
138
141}
@ fLowEnergyBrownianTransportation
static constexpr double picosecond
Definition: G4SIunits.hh:141
const std::vector< G4double > * fpWaterDensity
G4ITTransportation(const G4String &aName="ITTransportation", G4int verbosityLevel=0)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static G4NistManager * Instance()
G4shared_ptr< G4ProcessState > fpState
void SetProcessSubType(G4int)
Definition: G4VProcess.hh:406

References G4NistManager::FindOrBuildMaterial(), fInternalMinTimeStep, fLowEnergyBrownianTransportation, fNistWater, fpBrownianAction, G4VITProcess::fpState, fpWaterDensity, fSpeedMeUp, fUseMaximumTimeBeforeReachingBoundary, fUseSchedulerMinTimeSteps, G4ITTransportation::fVerboseLevel, G4NistManager::Instance(), picosecond, and G4VProcess::SetProcessSubType().

◆ ~G4DNABrownianTransportation()

G4DNABrownianTransportation::~G4DNABrownianTransportation ( )
virtual

Definition at line 143 of file G4DNABrownianTransportation.cc.

144{
146}

References fpBrownianAction.

◆ G4DNABrownianTransportation() [2/2]

G4DNABrownianTransportation::G4DNABrownianTransportation ( const G4DNABrownianTransportation right)

Member Function Documentation

◆ AlongStepDoIt()

G4VParticleChange * G4DNABrownianTransportation::AlongStepDoIt ( const G4Track track,
const G4Step step 
)
virtual

Reimplemented from G4ITTransportation.

Definition at line 803 of file G4DNABrownianTransportation.cc.

805{
806#ifdef DEBUG_MEM
807 MemStat mem_first, mem_second, mem_diff;
808#endif
809
810#ifdef DEBUG_MEM
811 mem_first = MemoryUsage();
812#endif
813
814 if (GetIT(track)->GetTrackingInfo()->IsLeadingStep()
815 && State(fComputeLastPosition)
816 && State(fGeometryLimitedStep)//Hoang added 26/8/2019
817 )
818 {
819 //==========================================================================
820 // DEBUG
821 //
822// assert(fabs(State(theInteractionTimeLeft)-
823// G4VScheduler::Instance()->GetTimeStep()) < DBL_EPSILON);
824 //==========================================================================
825
826 G4double spaceStep = DBL_MAX;
827
829 {
830 spaceStep = State(fEndPointDistance);
831 State(fGeometryLimitedStep) = true;
832 }
833 else
834 {
835 G4double diffusionCoefficient = GetMolecule(track)->
836 GetDiffusionCoefficient();
837
838 G4double sqrt_2Dt= sqrt(2 * diffusionCoefficient * State(theInteractionTimeLeft));
839 G4double x = G4RandGauss::shoot(0, sqrt_2Dt);
840 G4double y = G4RandGauss::shoot(0, sqrt_2Dt);
841 G4double z = G4RandGauss::shoot(0, sqrt_2Dt);
842
843 spaceStep = sqrt(x * x + y * y + z * z);
844
845 if(spaceStep >= State(fEndPointDistance))
846 {
847 State(fGeometryLimitedStep) = true;
848 if (
849 //fSpeedMeUp == false&&
851 && spaceStep >= State(fEndPointDistance))
852 {
853 spaceStep = State(fEndPointDistance);
854 }
855 }
856 else
857 {
858 State(fGeometryLimitedStep) = false;
859 }
860 }
861
862// assert( (spaceStep < State(fEndPointDistance) && State(fGeometryLimitedStep) == false)
863//|| (spaceStep >= State(fEndPointDistance) && State(fGeometryLimitedStep)));
864
865 // Calculate final position
866 //
867 State(fTransportEndPosition) = track.GetPosition()
868 + spaceStep * track.GetMomentumDirection();
869 }
870
871 if(fVerboseLevel)
872 {
874 << "G4DNABrownianTransportation::AlongStepDoIt: "
875 "GeometryLimitedStep = "
876 << State(fGeometryLimitedStep)
877 << RESET_COLOR
878 << G4endl;
879 }
880
881// static G4ThreadLocal G4int noCalls = 0;
882// noCalls++;
883
884// fParticleChange.Initialize(track);
885
887
888#ifdef DEBUG_MEM
889 MemStat mem_intermediaire = MemoryUsage();
890 mem_diff = mem_intermediaire-mem_first;
891 G4cout << "\t\t\t >> || MEM || After calling G4ITTransportation::"
892 "AlongStepDoIt for "<< track.GetTrackID() << ", diff is : "
893 << mem_diff << G4endl;
894#endif
895
896 if(track.GetStepLength() != 0 // && State(fGeometryLimitedStep)
897 //========================================================================
898 // TODO: avoid changing direction after too small time steps
899// && (G4VScheduler::Instance()->GetTimeStep() > fInternalMinTimeStep
900// || fSpeedMeUp == false)
901 //========================================================================
902 )
903 {
904 Diffusion(track);
905 }
906 //else
907 //{
908 // fParticleChange.ProposeMomentumDirection(State(fTransportEndMomentumDir));
909 //}
910/*
911 if (State(fParticleIsLooping))
912 {
913 if ((State(fNoLooperTrials)>= fThresholdTrials))
914 {
915 fParticleChange.ProposeTrackStatus(fStopAndKill);
916 State(fNoLooperTrials) = 0;
917#ifdef G4VERBOSE
918 if ((fVerboseLevel > 1))
919 {
920 G4cout
921 << " G4DNABrownianTransportation is killing track that is looping or stuck "
922 << G4endl;
923 G4cout << " Number of trials = " << State(fNoLooperTrials)
924 << " No of calls to AlongStepDoIt = " << noCalls
925 << G4endl;
926 }
927#endif
928 }
929 else
930 {
931 State(fNoLooperTrials)++;
932 }
933 }
934 else
935 {
936 State(fNoLooperTrials)=0;
937 }
938*/
939#ifdef DEBUG_MEM
940 mem_intermediaire = MemoryUsage();
941 mem_diff = mem_intermediaire-mem_first;
942 G4cout << "\t\t\t >> || MEM || After calling G4DNABrownianTransportation::"
943 "Diffusion for "<< track.GetTrackID() << ", diff is : "
944 << mem_diff << G4endl;
945#endif
946
947 return &fParticleChange;
948}
#define GREEN_ON_BLUE
#define State(theXInfo)
#define RESET_COLOR
G4IT * GetIT(const G4Track *track)
Definition: G4IT.cc:48
G4Molecule * GetMolecule(const G4Track &track)
Definition: G4Molecule.cc:76
double G4double
Definition: G4Types.hh:83
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
void Diffusion(const G4Track &track)
G4ParticleChangeForTransport fParticleChange
virtual G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &stepData)
G4int GetTrackID() const
const G4ThreeVector & GetPosition() const
const G4ThreeVector & GetMomentumDirection() const
G4double GetStepLength() const
G4double * theInteractionTimeLeft
ThreeVector shoot(const G4int Ap, const G4int Af)
MemStat MemoryUsage()
Definition: G4MemStat.cc:55
#define DBL_MAX
Definition: templates.hh:62

References G4ITTransportation::AlongStepDoIt(), DBL_MAX, Diffusion(), fInternalMinTimeStep, G4ITTransportation::fParticleChange, fUseSchedulerMinTimeSteps, G4ITTransportation::fVerboseLevel, G4cout, G4endl, GetIT(), GetMolecule(), G4Track::GetMomentumDirection(), G4Track::GetPosition(), G4Track::GetStepLength(), G4Track::GetTrackID(), GREEN_ON_BLUE, G4MemStat::MemoryUsage(), RESET_COLOR, G4INCL::DeJongSpin::shoot(), State, and G4VITProcess::theInteractionTimeLeft.

◆ AlongStepGetPhysicalInteractionLength()

G4double G4DNABrownianTransportation::AlongStepGetPhysicalInteractionLength ( const G4Track track,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double currentSafety,
G4GPILSelection selection 
)
virtual

Reimplemented from G4ITTransportation.

Definition at line 582 of file G4DNABrownianTransportation.cc.

587{
588#ifdef G4VERBOSE
589 if(fVerboseLevel)
590 {
591 G4cout << " G4DNABrownianTransportation::AlongStepGetPhysicalInteractionLength - track ID: "
592 << track.GetTrackID() << G4endl;
593 G4cout << "In volume : " << track.GetVolume()->GetName()
594 << " position : " << G4BestUnit(track.GetPosition() , "Length") << G4endl;
595 }
596#endif
597
598 G4double geometryStepLength =
600 track, previousStepSize, currentMinimumStep, currentSafety,
601 selection);
602
603 if(geometryStepLength==0)
604 {
605// G4cout << "geometryStepLength==0" << G4endl;
606 if(State(fGeometryLimitedStep))
607 {
608// G4cout << "if(State(fGeometryLimitedStep))" << G4endl;
609 G4TouchableHandle newTouchable = new G4TouchableHistory;
610
611 newTouchable->UpdateYourself(State(fCurrentTouchableHandle)->GetVolume(),
612 State(fCurrentTouchableHandle)->GetHistory());
613
614 fLinearNavigator->SetGeometricallyLimitedStep();
615 fLinearNavigator->LocateGlobalPointAndUpdateTouchableHandle(
616 track.GetPosition(), track.GetMomentumDirection(),
617 newTouchable, true);
618
619 if(newTouchable->GetVolume() == 0)
620 {
621 return 0;
622 }
623
624 State(fCurrentTouchableHandle) = newTouchable;
625
626 //=======================================================================
627 // TODO: speed up navigation update
628// geometryStepLength = fLinearNavigator->ComputeStep(track.GetPosition(),
629// track.GetMomentumDirection(),
630// currentMinimumStep,
631// currentSafety);
632 //=======================================================================
633
634
635 //=======================================
636 // Longer but safer ...
637 geometryStepLength =
639 track, previousStepSize, currentMinimumStep, currentSafety,
640 selection);
641
642 }
643 }
644
645 //============================================================================
646 // DEBUG
647 // G4cout << "geometryStepLength: " << G4BestUnit(geometryStepLength, "Length")
648 // << " | trackID: " << track.GetTrackID()
649 // << G4endl;
650 //============================================================================
651
652 G4double diffusionCoefficient = 0;
653
654 /*
655 G4Material* material = track.GetMaterial();
656 G4double waterDensity = (*fpWaterDensity)[material->GetIndex()];
657
658 if (waterDensity == 0.0)
659 {
660 if(fpBrownianAction)
661 {
662 diffusionCoefficient = fpBrownianAction->GetDiffusionCoefficient(material,
663 GetMolecule(track));
664 }
665
666 if(diffusionCoefficient <= 0)
667 {
668 State(fGeometryLimitedStep) = false;
669 State(theInteractionTimeLeft) = 0;
670 State(fTransportEndPosition) = track.GetPosition();
671 return 0;
672 }
673
674 }
675 else
676 {
677 diffusionCoefficient = GetMolecule(track)->GetDiffusionCoefficient();
678 }
679 */
680
681 diffusionCoefficient = GetMolecule(track)->GetDiffusionCoefficient();
682
683 // To avoid divide by zero of diffusionCoefficient
684 if(diffusionCoefficient <= 0)
685 {
686 State(fGeometryLimitedStep) = false;
688 State(fTransportEndPosition) = track.GetPosition();
689 return 0;
690 }
691
692
693 State(fComputeLastPosition) = false;
694 State(fTimeStepReachedLimit) = false;
695
696 if (State(fGeometryLimitedStep))
697 {
698 // 95 % of the space step distribution is lower than
699 // d_95 = 2 * sqrt(2*D*t)
700 // where t is the corresponding time step
701 // so by inversion :
703 {
704 if(fSpeedMeUp)
705 {
706 State(theInteractionTimeLeft) = (geometryStepLength * geometryStepLength)
707 / (diffusionCoefficient); // d_50 - use straight line
708 }
709 else
710 {
711 State(theInteractionTimeLeft) = (currentSafety * currentSafety)
712 / (diffusionCoefficient); // d_50 - use safety
713
714 //=====================================================================
715 // State(theInteractionTimeLeft) = (currentSafety * currentSafety)
716 // / (8 * diffusionCoefficient); // d_95
717 //=====================================================================
718 }
719 State(fComputeLastPosition) = true;
720 }
721 else
722 // Will use a random time - this is precise but long to compute in certain
723 // circumstances (many particles - small volumes)
724 {
725 State(fRandomNumber) = G4UniformRand();
726 State(theInteractionTimeLeft) = 1 / (4 * diffusionCoefficient)
727 * pow(geometryStepLength / InvErfc(State(fRandomNumber)),2);
728
729 State(fTransportEndPosition) = geometryStepLength*
730 track.GetMomentumDirection() + track.GetPosition();
731 }
732
734 {
735 G4double minTimeStepAllowed = G4VScheduler::Instance()->GetLimitingTimeStep();
736 //========================================================================
737 // TODO
738// double currentMinTimeStep = G4VScheduler::Instance()->GetTimeStep();
739 //========================================================================
740
741 if (State(theInteractionTimeLeft) < minTimeStepAllowed)
742 {
743 State(theInteractionTimeLeft) = minTimeStepAllowed;
744 State(fTimeStepReachedLimit) = true;
745 State(fComputeLastPosition) = true;
746 }
747 }
749 // TODO: find a better way when fForceLimitOnMinTimeSteps is not used
750 {
751 State(fTimeStepReachedLimit) = true;
754 {
755 State(fComputeLastPosition) = true;
756 }
757 }
758
759 State(fCandidateEndGlobalTime) =
761
762 State(fEndGlobalTimeComputed) = true; // MK: ADDED ON 20/11/2014
763
764 State(fPathLengthWasCorrected) = false;
765 }
766 else
767 {
768 // Transform geometrical step
769 geometryStepLength = 2
770 * sqrt(diffusionCoefficient * State(theInteractionTimeLeft))
772 State(fPathLengthWasCorrected) = true;
773 //State(fEndPointDistance) = geometryStepLength;
774 State(fTransportEndPosition) = geometryStepLength*
775 track.GetMomentumDirection() + track.GetPosition();
776 }
777
778#ifdef G4VERBOSE
779 // DEBUG
780 if (fVerboseLevel > 1)
781 {
783 << "G4DNABrownianTransportation::AlongStepGetPhysicalInteractionLength = "
784 << G4BestUnit(geometryStepLength, "Length")
785 << " | trackID = "
786 << track.GetTrackID()
787 << RESET_COLOR
788 << G4endl;
789 }
790#endif
791
792// assert(geometryStepLength < State(fEndPointDistance)
793// || (geometryStepLength >= State(fEndPointDistance) && State(fGeometryLimitedStep)));
794
795 return geometryStepLength;
796}
static G4double InvErf(G4double x)
static G4double InvErfc(G4double x)
#define G4BestUnit(a, b)
#define G4UniformRand()
Definition: Randomize.hh:52
virtual G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double, G4double currentMinimumStep, G4double &currentSafety, G4GPILSelection *selection)
G4ITNavigator * fLinearNavigator
G4double GetDiffusionCoefficient() const
Definition: G4Molecule.cc:516
G4VPhysicalVolume * GetVolume() const
G4double GetGlobalTime() const
const G4String & GetName() const
static G4VScheduler * Instance()
Definition: G4VScheduler.cc:48
virtual double GetLimitingTimeStep() const
Definition: G4VScheduler.hh:84
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
Definition: G4VTouchable.cc:34
virtual void UpdateYourself(G4VPhysicalVolume *pPhysVol, const G4NavigationHistory *history=nullptr)
Definition: G4VTouchable.cc:66

References G4ITTransportation::AlongStepGetPhysicalInteractionLength(), DBL_MAX, fInternalMinTimeStep, G4ITTransportation::fLinearNavigator, fSpeedMeUp, fUseMaximumTimeBeforeReachingBoundary, fUseSchedulerMinTimeSteps, G4ITTransportation::fVerboseLevel, G4BestUnit, G4cout, G4endl, G4UniformRand, G4Molecule::GetDiffusionCoefficient(), G4Track::GetGlobalTime(), G4VScheduler::GetLimitingTimeStep(), GetMolecule(), G4Track::GetMomentumDirection(), G4VPhysicalVolume::GetName(), G4Track::GetPosition(), G4Track::GetTrackID(), G4Track::GetVolume(), G4VTouchable::GetVolume(), GREEN_ON_BLUE, G4VScheduler::Instance(), InvErf(), InvErfc(), RESET_COLOR, State, G4VITProcess::theInteractionTimeLeft, and G4VTouchable::UpdateYourself().

◆ AlongStepGPIL()

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

Definition at line 461 of file G4VProcess.hh.

466{
467 return AlongStepGetPhysicalInteractionLength(track, previousStepSize,
468 currentMinimumStep, proposedSafety, selection);
469}
virtual G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)=0

References G4VProcess::AlongStepGetPhysicalInteractionLength().

Referenced by G4SteppingManager::DefinePhysicalStepLength(), and G4ITStepProcessor::DoDefinePhysicalStepLength().

◆ AtRestDoIt()

virtual G4VParticleChange * G4ITTransportation::AtRestDoIt ( const G4Track ,
const G4Step  
)
inlinevirtualinherited

Implements G4VProcess.

Definition at line 113 of file G4ITTransportation.hh.

114 {
115 return 0;
116 }

◆ AtRestGetPhysicalInteractionLength()

virtual G4double G4ITTransportation::AtRestGetPhysicalInteractionLength ( const G4Track ,
G4ForceCondition  
)
inlinevirtualinherited

Implements G4VProcess.

Definition at line 106 of file G4ITTransportation.hh.

108 {
109 return -1.0;
110 }

◆ AtRestGPIL()

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

Definition at line 472 of file G4VProcess.hh.

474{
476}
G4double condition(const G4ErrorSymMatrix &m)
G4double thePILfactor
Definition: G4VProcess.hh:352
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &track, G4ForceCondition *condition)=0

References G4VProcess::AtRestGetPhysicalInteractionLength(), condition(), and G4VProcess::thePILfactor.

Referenced by G4ITStepProcessor::GetAtRestIL(), and G4SteppingManager::InvokeAtRestDoItProcs().

◆ BuildPhysicsTable()

void G4DNABrownianTransportation::BuildPhysicsTable ( const G4ParticleDefinition particle)
virtual

Reimplemented from G4ITTransportation.

Definition at line 188 of file G4DNABrownianTransportation.cc.

189{
190 if(verboseLevel > 0)
191 {
192 G4cout << G4endl<< GetProcessName() << ": for "
193 << setw(24) << particle.GetParticleName()
194 << "\tSubType= " << GetProcessSubType() << G4endl;
195 }
196 // Initialize water density pointer
198 GetDensityTableFor(G4Material::GetMaterial("G4_WATER"));
199
202}
static G4DNAMolecularMaterial * Instance()
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
G4ITSafetyHelper * fpSafetyHelper
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
Definition: G4Material.cc:686
const G4String & GetParticleName() const
G4int verboseLevel
Definition: G4VProcess.hh:356
G4int GetProcessSubType() const
Definition: G4VProcess.hh:400
const G4String & GetProcessName() const
Definition: G4VProcess.hh:382

References G4ITTransportation::BuildPhysicsTable(), G4ITTransportation::fpSafetyHelper, fpWaterDensity, G4cout, G4endl, G4Material::GetMaterial(), G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4VProcess::GetProcessSubType(), G4ITSafetyHelper::InitialiseHelper(), G4DNAMolecularMaterial::Instance(), and G4VProcess::verboseLevel.

◆ BuildWorkerPhysicsTable()

void G4VProcess::BuildWorkerPhysicsTable ( const G4ParticleDefinition part)
virtualinherited

Reimplemented in G4BiasingProcessInterface.

Definition at line 200 of file G4VProcess.cc.

201{
202 BuildPhysicsTable(part);
203}
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
Definition: G4VProcess.hh:187

References G4VProcess::BuildPhysicsTable().

Referenced by G4BiasingProcessInterface::BuildWorkerPhysicsTable().

◆ ClearInteractionTimeLeft()

void G4VITProcess::ClearInteractionTimeLeft ( )
inlineprotectedvirtualinherited

Definition at line 258 of file G4VITProcess.hh.

259{
260 fpState->theInteractionTimeLeft = -1.0;
261}

References G4VITProcess::fpState.

Referenced by G4VITRestProcess::AtRestDoIt(), G4DNAElectronHoleRecombination::AtRestDoIt(), and G4DNAMolecularDissociation::AtRestDoIt().

◆ ClearNumberOfInteractionLengthLeft()

void G4VITProcess::ClearNumberOfInteractionLengthLeft ( )
inlineprotectedvirtualinherited

◆ ComputeGeomLimit()

G4double G4DNABrownianTransportation::ComputeGeomLimit ( const G4Track track,
G4double presafety,
G4double  limit 
)
protected

Definition at line 563 of file G4DNABrownianTransportation.cc.

566{
567 G4double res = DBL_MAX;
568 if(track.GetVolume() != fpSafetyHelper->GetWorldVolume())
569 {
570 G4TrackStateManager& trackStateMan = GetIT(track)->GetTrackingInfo()
572 fpSafetyHelper->LoadTrackState(trackStateMan);
574 track.GetStep()->GetPreStepPoint()->GetPosition(),
575 track.GetMomentumDirection(),
576 limit, presafety);
578 }
579 return res;
580}
G4VPhysicalVolume * GetWorldVolume()
G4double CheckNextStep(const G4ThreeVector &position, const G4ThreeVector &direction, const G4double currentMaxStep, G4double &newSafety)
G4TrackingInformation * GetTrackingInfo()
Definition: G4IT.hh:143
const G4ThreeVector & GetPosition() const
G4StepPoint * GetPreStepPoint() const
virtual void LoadTrackState(G4TrackStateManager &manager)
virtual void ResetTrackState()
const G4Step * GetStep() const
G4TrackStateManager & GetTrackStateManager()

References G4ITSafetyHelper::CheckNextStep(), DBL_MAX, G4ITTransportation::fpSafetyHelper, GetIT(), G4Track::GetMomentumDirection(), G4StepPoint::GetPosition(), G4Step::GetPreStepPoint(), G4Track::GetStep(), G4IT::GetTrackingInfo(), G4TrackingInformation::GetTrackStateManager(), G4Track::GetVolume(), G4ITSafetyHelper::GetWorldVolume(), G4TrackStateDependent< T >::LoadTrackState(), and G4TrackStateDependent< T >::ResetTrackState().

◆ ComputeStep()

void G4DNABrownianTransportation::ComputeStep ( const G4Track track,
const G4Step step,
const G4double  timeStep,
G4double spaceStep 
)
virtual

Reimplemented from G4ITTransportation.

Definition at line 204 of file G4DNABrownianTransportation.cc.

208{
209 // G4cout << "G4ITBrownianTransportation::ComputeStep" << G4endl;
210
211 /* If this method is called, this step
212 * cannot be geometry limited.
213 * In case the step is limited by the geometry,
214 * this method should not be called.
215 * The fTransportEndPosition calculated in
216 * the method AlongStepIL should be taken
217 * into account.
218 * In order to do so, the flag IsLeadingStep
219 * is on. Meaning : this track has the minimum
220 * interaction length over all others.
221 */
222 if(GetIT(track)->GetTrackingInfo()->IsLeadingStep())
223 {
224 const G4VITProcess* ITProc = ((const G4VITProcess*) step.GetPostStepPoint()
226 G4bool makeException = true;
227
228 if(ITProc && ITProc->ProposesTimeStep()) makeException = false;
229
230 if(makeException)
231 {
232
233 G4ExceptionDescription exceptionDescription;
234 exceptionDescription << "ComputeStep is called while the track has"
235 "the minimum interaction time";
236 exceptionDescription << " so it should not recompute a timeStep ";
237 G4Exception("G4DNABrownianTransportation::ComputeStep",
238 "G4DNABrownianTransportation001", FatalErrorInArgument,
239 exceptionDescription);
240 }
241 }
242
243 State(fGeometryLimitedStep) = false;
244
245 G4Molecule* molecule = GetMolecule(track);
246
247 if(timeStep > 0)
248 {
249 spaceStep = DBL_MAX;
250
251 // TODO : generalize this process to all kind of Brownian objects
252 G4double diffCoeff = molecule->GetDiffusionCoefficient(track.GetMaterial(),
253 track.GetMaterial()->GetTemperature());
254
255 static G4double sqrt_2 = sqrt(2.);
256 G4double sqrt_Dt = sqrt(diffCoeff*timeStep);
257 G4double sqrt_2Dt = sqrt_2*sqrt_Dt;
258
259 if(State(fTimeStepReachedLimit)== true)
260 {
261 //========================================================================
262 State(fGeometryLimitedStep) = true;// important
263 //========================================================================
264 spaceStep = State(fEndPointDistance);
265 // G4cout << "State(fTimeStepReachedLimit)== true" << G4endl;
266 }
267 else
268 {
269 G4double x = G4RandGauss::shoot(0,sqrt_2Dt);
270 G4double y = G4RandGauss::shoot(0,sqrt_2Dt);
271 G4double z = G4RandGauss::shoot(0,sqrt_2Dt);
272
273 spaceStep = sqrt(x*x + y*y + z*z);
274
275 if(spaceStep >= State(fEndPointDistance))
276 {
277 //G4cout << "spaceStep >= State(fEndPointDistance)" << G4endl;
278 //======================================================================
279 State(fGeometryLimitedStep) = true;// important
280 //======================================================================
281/*
282 if(fSpeedMeUp)
283 {
284 G4cout << "SpeedMeUp" << G4endl;
285 }
286 else
287*/
288 if(fUseSchedulerMinTimeSteps == false)// jump over barrier NOT used
289 {
290#ifdef G4VERBOSE
291 if (fVerboseLevel > 1)
292 {
294 << "G4ITBrownianTransportation::ComputeStep() : "
295 << "Step was limited to boundary"
296 << RESET_COLOR
297 << G4endl;
298 }
299#endif
300 //TODO
301 if(State(fRandomNumber)>=0) // CDF is used
302 {
303 /*
304 //=================================================================
305 State(fGeometryLimitedStep) = true;// important
306 //=================================================================
307 spaceStep = State(fEndPointDistance);
308 */
309
310 //==================================================================
311 // BE AWARE THAT THE TECHNIQUE USED BELOW IS A 1D APPROXIMATION
312 // Cumulative density function for the 3D case is not yet
313 // implemented
314 //==================================================================
315// G4cout << GREEN_ON_BLUE
316// << "G4ITBrownianTransportation::ComputeStep() : "
317// << "A random number was selected"
318// << RESET_COLOR
319// << G4endl;
320 G4double value = State(fRandomNumber)+(1-State(fRandomNumber))*G4UniformRand();
321 G4double invErfc = InvErfc(value);
322 spaceStep = invErfc*2*sqrt_Dt;
323
324 if(State(fTimeStepReachedLimit)== false)
325 {
326 //================================================================
327 State(fGeometryLimitedStep) = false;// important
328 //================================================================
329 }
330 //==================================================================
331 // DEBUG
332// if(spaceStep > State(fEndPointDistance))
333// {
334// G4cout << "value = " << value << G4endl;
335// G4cout << "invErfc = " << invErfc << G4endl;
336// G4cout << "spaceStep = " << G4BestUnit(spaceStep, "Length")
337// << G4endl;
338// G4cout << "end point distance= " << G4BestUnit(State(fEndPointDistance), "Length")
339// << G4endl;
340// }
341//
342// assert(spaceStep <= State(fEndPointDistance));
343 //==================================================================
344
345 }
346 else if(fUseMaximumTimeBeforeReachingBoundary == false) // CDF is used
347 {
348 G4double min_randomNumber = Erfc(State(fEndPointDistance)/2*sqrt_Dt);
349 G4double value = min_randomNumber+(1-min_randomNumber)*G4UniformRand();
350 G4double invErfc = InvErfc(value);
351 spaceStep = invErfc*2*sqrt_Dt;
352 if(spaceStep >= State(fEndPointDistance))
353 {
354 //================================================================
355 State(fGeometryLimitedStep) = true;// important
356 //================================================================
357 }
358 else if(State(fTimeStepReachedLimit)== false)
359 {
360 //================================================================
361 State(fGeometryLimitedStep) = false;// important
362 //================================================================
363 }
364 }
365 else // CDF is NOT used
366 {
367 //==================================================================
368 State(fGeometryLimitedStep) = true;// important
369 //==================================================================
370 spaceStep = State(fEndPointDistance);
371 //TODO
372
373 /*
374 //==================================================================
375 // 1D approximation to place the brownian between its starting point
376 // and the geometry boundary
377 //==================================================================
378 double min_randomNumber = Erfc(State(fEndPointDistance)/2*sqrt_Dt);
379 double value = State(fRandomNumber)+(1-State(fRandomNumber))*G4UniformRand();
380 double invErfc = InvErfc(value*G4UniformRand());
381 spaceStep = invErfc*2*sqrt_Dt;
382 State(fGeometryLimitedStep) = false;
383 */
384 }
385 }
386
387 State(fTransportEndPosition)= spaceStep*
388// step.GetPostStepPoint()->GetMomentumDirection()
390 + track.GetPosition();
391 }
392 else
393 {
394 //======================================================================
395 State(fGeometryLimitedStep) = false;// important
396 //======================================================================
397 State(fTransportEndPosition)= spaceStep*step.GetPostStepPoint()->
398 GetMomentumDirection() + track.GetPosition();
399 }
400 }
401 }
402 else
403 {
404 spaceStep = 0.;
405 State(fTransportEndPosition) = track.GetPosition();
406 State(fGeometryLimitedStep) = false;
407 }
408
409 State(fCandidateEndGlobalTime) = step.GetPreStepPoint()->GetGlobalTime()
410 + timeStep;
411 State(fEndGlobalTimeComputed) = true;
412
413#ifdef G4VERBOSE
414 // DEBUG
415 if (fVerboseLevel > 1)
416 {
418 << "G4ITBrownianTransportation::ComputeStep() : "
419 << " trackID : " << track.GetTrackID() << " : Molecule name: "
420 << molecule->GetName() << G4endl
421 << "Initial position:" << G4BestUnit(track.GetPosition(), "Length")
422 << G4endl
423 << "Initial direction:" << track.GetMomentumDirection() << G4endl
424 << "Final position:" << G4BestUnit(State(fTransportEndPosition), "Length")
425 << G4endl
426 << "Initial magnitude:" << G4BestUnit(track.GetPosition().mag(), "Length")
427 << G4endl
428 << "Final magnitude:" << G4BestUnit(State(fTransportEndPosition).mag(), "Length")
429 << G4endl
430 << "Diffusion length : "
431 << G4BestUnit(spaceStep, "Length")
432 << " within time step : " << G4BestUnit(timeStep,"Time")
433 << G4endl
434 << "State(fTimeStepReachedLimit)= " << State(fTimeStepReachedLimit) << G4endl
435 << "State(fGeometryLimitedStep)=" << State(fGeometryLimitedStep) << G4endl
436 << "End point distance was: " << G4BestUnit(State(fEndPointDistance), "Length")
437 << G4endl
438 << RESET_COLOR
439 << G4endl<< G4endl;
440 }
441#endif
442
443//==============================================================================
444// DEBUG
445//assert(spaceStep < State(fEndPointDistance)
446// || (spaceStep >= State(fEndPointDistance) && State(fGeometryLimitedStep)));
447//assert(track.GetMomentumDirection() == State(fTransportEndMomentumDir));
448//==============================================================================
449}
static G4double Erfc(G4double x)
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40
bool G4bool
Definition: G4Types.hh:86
double mag() const
G4double GetTemperature() const
Definition: G4Material.hh:178
const G4String & GetName() const
Definition: G4Molecule.cc:338
G4double GetGlobalTime() const
const G4VProcess * GetProcessDefinedStep() const
G4StepPoint * GetPostStepPoint() const
G4Material * GetMaterial() const
G4bool ProposesTimeStep() const

References DBL_MAX, Erfc(), FatalErrorInArgument, fUseMaximumTimeBeforeReachingBoundary, fUseSchedulerMinTimeSteps, G4ITTransportation::fVerboseLevel, G4BestUnit, G4cout, G4endl, G4Exception(), G4UniformRand, G4Molecule::GetDiffusionCoefficient(), G4StepPoint::GetGlobalTime(), GetIT(), G4Track::GetMaterial(), GetMolecule(), G4Track::GetMomentumDirection(), G4Molecule::GetName(), G4Track::GetPosition(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4StepPoint::GetProcessDefinedStep(), G4Material::GetTemperature(), G4Track::GetTrackID(), GREEN_ON_BLUE, InvErfc(), CLHEP::Hep3Vector::mag(), G4VITProcess::ProposesTimeStep(), RESET_COLOR, G4INCL::DeJongSpin::shoot(), and State.

◆ CreateInfo()

void G4VITProcess::CreateInfo ( )
protectedinherited

◆ Diffusion()

void G4DNABrownianTransportation::Diffusion ( const G4Track track)
protected

Definition at line 475 of file G4DNABrownianTransportation.cc.

476{
477
478#ifdef DEBUG_MEM
479 MemStat mem_first = MemoryUsage();
480#endif
481
482#ifdef G4VERBOSE
483 // DEBUG
484 if (fVerboseLevel > 1)
485 {
486 G4cout << GREEN_ON_BLUE << setw(18)
487 << "G4DNABrownianTransportation::Diffusion :" << setw(8)
488 << GetIT(track)->GetName() << "\t trackID:" << track.GetTrackID()
489 << "\t" << " Global Time = "
490 << G4BestUnit(track.GetGlobalTime(), "Time")
491 << RESET_COLOR
492 << G4endl
493 << G4endl;
494 }
495#endif
496
497/*
498 fParticleChange.ProposePosition(State(fTransportEndPosition));
499 //fParticleChange.ProposeEnergy(State(fTransportEndKineticEnergy));
500 fParticleChange.SetMomentumChanged(State(fMomentumChanged));
501
502 fParticleChange.ProposeGlobalTime(State(fCandidateEndGlobalTime));
503 fParticleChange.ProposeLocalTime(State(fCandidateEndGlobalTime));
504 fParticleChange.ProposeTrueStepLength(track.GetStepLength());
505*/
507
508 G4double waterDensity = (*fpWaterDensity)[material->GetIndex()];
509
510 if (waterDensity == 0.0)
511 {
513 {
514 // Let the user Brownian action class decide what to do
517 return;
518 }
519 else
520 {
521#ifdef G4VERBOSE
522 if(fVerboseLevel)
523 {
524 G4cout << "A track is outside water material : trackID = "
525 << track.GetTrackID() << " (" << GetMolecule(track)->GetName() <<")"
526 << G4endl;
527 G4cout << "Local Time : " << G4BestUnit(track.GetGlobalTime(), "Time")
528 << G4endl;
529 G4cout << "Step Number :" << track.GetCurrentStepNumber() << G4endl;
530 }
531#endif
534 return;// &fParticleChange is the final returned object
535 }
536 }
537
538
539 #ifdef DEBUG_MEM
540 MemStat mem_intermediaire = MemoryUsage();
541 mem_diff = mem_intermediaire-mem_first;
542 G4cout << "\t\t\t >> || MEM || In G4DNABrownianTransportation::Diffusion "
543 "after dealing with waterDensity for "<< track.GetTrackID()
544 << ", diff is : " << mem_diff << G4endl;
545 #endif
546
548 State(fMomentumChanged) = true;
550 //
551 #ifdef DEBUG_MEM
552 mem_intermediaire = MemoryUsage();
553 mem_diff = mem_intermediaire-mem_first;
554 G4cout << "\t\t\t >> || MEM || In G4DNABrownianTransportation::"
555 "After proposing new direction to fParticleChange for "
556 << track.GetTrackID() << ", diff is : " << mem_diff << G4endl;
557 #endif
558
559 return;// &fParticleChange is the final returned object
560}
G4ThreeVector G4RandomDirection()
@ fStopAndKill
virtual void Transport(const G4Track &, G4ParticleChangeForTransport &)=0
virtual const G4String & GetName() const =0
void SetMomentumChanged(G4bool b)
void ProposeEnergy(G4double finalEnergy)
void ProposeMomentumDirection(G4double Px, G4double Py, G4double Pz)
G4int GetCurrentStepNumber() const
void ProposeTrackStatus(G4TrackStatus status)
string material
Definition: eplot.py:19

References G4ITTransportation::fParticleChange, fpBrownianAction, fStopAndKill, G4ITTransportation::fVerboseLevel, G4BestUnit, G4cout, G4endl, G4RandomDirection(), G4Track::GetCurrentStepNumber(), G4Track::GetGlobalTime(), GetIT(), G4Track::GetMaterial(), GetMolecule(), G4Molecule::GetName(), G4IT::GetName(), G4Track::GetTrackID(), GREEN_ON_BLUE, eplot::material, G4MemStat::MemoryUsage(), G4ParticleChange::ProposeEnergy(), G4ParticleChange::ProposeMomentumDirection(), G4VParticleChange::ProposeTrackStatus(), RESET_COLOR, G4ParticleChangeForTransport::SetMomentumChanged(), State, and G4BrownianAction::Transport().

Referenced by AlongStepDoIt().

◆ DoesGlobalFieldExist()

G4bool G4ITTransportation::DoesGlobalFieldExist ( )
protectedinherited

Definition at line 235 of file G4ITTransportation.cc.

236{
237 G4TransportationManager* transportMgr;
239
240 // fFieldExists= transportMgr->GetFieldManager()->DoesFieldExist();
241 // return fFieldExists;
242 return transportMgr->GetFieldManager()->DoesFieldExist();
243}
G4bool DoesFieldExist() const
static G4TransportationManager * GetTransportationManager()
G4FieldManager * GetFieldManager() const

References G4FieldManager::DoesFieldExist(), G4TransportationManager::GetFieldManager(), and G4TransportationManager::GetTransportationManager().

Referenced by G4ITTransportation::StartTracking().

◆ DumpInfo()

void G4VProcess::DumpInfo ( ) const
virtualinherited

Reimplemented in G4AdjointAlongStepWeightCorrection, G4AdjointForcedInteractionForGamma, G4AdjointhMultipleScattering, G4ContinuousGainOfEnergy, G4eAdjointMultipleScattering, G4eInverseBremsstrahlung, G4eInverseCompton, G4eInverseIonisation, G4InversePEEffect, G4IonInverseIonisation, G4PolarizedAnnihilation, G4PolarizedBremsstrahlung, G4PolarizedCompton, G4PolarizedGammaConversion, G4PolarizedIonisation, G4PolarizedPhotoElectric, G4Cerenkov, G4ForwardXrayTR, G4GammaXTRadiator, G4GaussXTRadiator, G4RegularXTRadiator, G4Scintillation, G4StrawTubeXTRadiator, G4SynchrotronRadiation, G4TransitionRadiation, G4TransparentRegXTRadiator, G4VTransitionRadiation, G4VXTRenergyLoss, G4XTRGammaRadModel, G4XTRRegularRadModel, and G4XTRTransparentRegRadModel.

Definition at line 167 of file G4VProcess.cc.

168{
169 G4cout << "Process Name " << theProcessName ;
170 G4cout << " : Type[" << GetProcessTypeName(theProcessType) << "]";
171 G4cout << " : SubType[" << theProcessSubType << "]"<< G4endl;
172}
static const G4String & GetProcessTypeName(G4ProcessType)
Definition: G4VProcess.cc:134
G4ProcessType theProcessType
Definition: G4VProcess.hh:346
G4int theProcessSubType
Definition: G4VProcess.hh:349
G4String theProcessName
Definition: G4VProcess.hh:341

References G4cout, G4endl, G4VProcess::GetProcessTypeName(), G4VProcess::theProcessName, G4VProcess::theProcessSubType, and G4VProcess::theProcessType.

Referenced by G4ProcessTable::DumpInfo(), export_G4VProcess(), G4Scintillation::ProcessDescription(), G4Cerenkov::ProcessDescription(), and G4ProcessManagerMessenger::SetNewValue().

◆ EnableShortStepOptimisation()

void G4ITTransportation::EnableShortStepOptimisation ( G4bool  optimise = true)
inlineinherited

◆ EndTracking()

void G4VProcess::EndTracking ( )
virtualinherited

◆ GetCurrentInteractionLength()

G4double G4VProcess::GetCurrentInteractionLength ( ) const
inlineinherited

◆ GetInteractionTimeLeft()

G4double G4VITProcess::GetInteractionTimeLeft ( )
inlineinherited

Definition at line 273 of file G4VITProcess.hh.

274{
275 if (fpState) return fpState->theInteractionTimeLeft;
276
277 return -1;
278}

References G4VITProcess::fpState.

Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength().

◆ GetMasterProcess()

const G4VProcess * G4VProcess::GetMasterProcess ( ) const
inlineinherited

◆ GetMaxEnergyKilled()

G4double G4ITTransportation::GetMaxEnergyKilled ( ) const
inlineinherited

◆ GetMaxProcessIndex()

const size_t & G4VITProcess::GetMaxProcessIndex ( )
inlinestaticinherited

Definition at line 285 of file G4VITProcess.hh.

286{
287 if (!fNbProcess) fNbProcess = new size_t(0);
288 return *fNbProcess;
289}
static size_t * fNbProcess

References G4VITProcess::fNbProcess.

Referenced by G4TrackingInformation::GetProcessState().

◆ GetNumberOfInteractionLengthLeft()

G4double G4VProcess::GetNumberOfInteractionLengthLeft ( ) const
inlineinherited

Definition at line 431 of file G4VProcess.hh.

432{
434}

References G4VProcess::theNumberOfInteractionLengthLeft.

◆ GetPhysicsTableFileName()

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

◆ GetPILfactor()

G4double G4VProcess::GetPILfactor ( ) const
inlineinherited

Definition at line 455 of file G4VProcess.hh.

456{
457 return thePILfactor;
458}

References G4VProcess::thePILfactor.

Referenced by export_G4VProcess().

◆ GetProcessID()

size_t G4VITProcess::GetProcessID ( ) const
inlineinherited

◆ GetProcessManager()

const G4ProcessManager * G4VProcess::GetProcessManager ( )
inlinevirtualinherited

Reimplemented in G4BiasingProcessInterface, and G4WrapperProcess.

Definition at line 494 of file G4VProcess.hh.

495{
496 return aProcessManager;
497}
const G4ProcessManager * aProcessManager
Definition: G4VProcess.hh:319

References G4VProcess::aProcessManager.

Referenced by G4BiasingProcessInterface::GetProcessManager(), and G4WrapperProcess::GetProcessManager().

◆ GetProcessName()

const G4String & G4VProcess::GetProcessName ( ) const
inlineinherited

Definition at line 382 of file G4VProcess.hh.

383{
384 return theProcessName;
385}

References G4VProcess::theProcessName.

Referenced by G4VEnergyLossProcess::ActivateForcedInteraction(), G4VEmProcess::ActivateForcedInteraction(), G4ProcessManager::ActivateProcess(), G4VEmProcess::ActivateSecondaryBiasing(), G4VEnergyLossProcess::ActivateSecondaryBiasing(), G4ParallelGeometriesLimiterProcess::AddParallelWorld(), G4IonQMDPhysics::AddProcess(), G4IonINCLXXPhysics::AddProcess(), G4ProcessManager::AddProcess(), G4ProcessPlacer::AddProcessAs(), G4ITSteppingVerbose::AlongStepDoItAllDone(), G4SteppingVerbose::AlongStepDoItAllDone(), G4SteppingVerboseWithUnits::AlongStepDoItAllDone(), G4ITSteppingVerbose::AlongStepDoItOneByOne(), G4SteppingVerbose::AlongStepDoItOneByOne(), G4SteppingVerboseWithUnits::AlongStepDoItOneByOne(), G4VContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldProcess::AlongStepGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4VRestContinuousProcess::AlongStepGetPhysicalInteractionLength(), G4VContinuousProcess::AlongStepGetPhysicalInteractionLength(), G4BOptnLeadingParticle::ApplyFinalStateBiasing(), G4ITSteppingVerbose::AtRestDoItInvoked(), G4SteppingVerbose::AtRestDoItInvoked(), G4SteppingVerboseWithUnits::AtRestDoItInvoked(), G4ITSteppingVerbose::AtRestDoItOneByOne(), G4VRestContinuousDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VRestContinuousProcess::AtRestGetPhysicalInteractionLength(), G4VRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VITRestProcess::AtRestGetPhysicalInteractionLength(), G4VRestProcess::AtRestGetPhysicalInteractionLength(), G4HadronicProcess::BiasCrossSectionByFactor(), G4VXTRenergyLoss::BuildAngleForEnergyBank(), G4VEnergyLossProcess::BuildDEDXTable(), G4VUserPhysicsList::BuildIntegralPhysicsTable(), G4VEmProcess::BuildLambdaTable(), G4VEnergyLossProcess::BuildLambdaTable(), BuildPhysicsTable(), G4GammaGeneralProcess::BuildPhysicsTable(), G4VEmProcess::BuildPhysicsTable(), G4VEnergyLossProcess::BuildPhysicsTable(), G4VMultipleScattering::BuildPhysicsTable(), G4LossTableManager::BuildPhysicsTable(), G4LossTableManager::BuildTables(), G4HadronicProcess::CheckEnergyMomentumConservation(), G4ProcessManager::CheckOrderingParameters(), G4HadronicProcess::CheckResult(), G4StackChecker::ClassifyNewTrack(), G4BOptrForceCollision::ConfigureForWorker(), G4RunManagerKernel::ConfirmCoupledTransportation(), G4FastSimulationPhysics::ConstructProcess(), G4GenericBiasingPhysics::ConstructProcess(), G4IonElasticPhysics::ConstructProcess(), G4LossTableManager::CopyTables(), G4RichTrajectory::CreateAttValues(), G4RichTrajectoryPoint::CreateAttValues(), G4VPhononProcess::CreateSecondary(), G4EmExtraParameters::DefineRegParamForEM(), G4EmExtraParameters::DefineRegParamForLoss(), G4HadronicProcessStore::DeRegisterExtraProcess(), G4ITSteppingVerbose::DPSLAlongStep(), G4SteppingVerbose::DPSLAlongStep(), G4SteppingVerboseWithUnits::DPSLAlongStep(), G4ITSteppingVerbose::DPSLPostStep(), G4SteppingVerbose::DPSLPostStep(), G4SteppingVerboseWithUnits::DPSLPostStep(), G4HadronicProcessStore::Dump(), G4HadronicProcess::DumpState(), G4MuonicAtomDecay::DumpState(), G4ExceptionHandler::DumpTrackInfo(), export_G4VProcess(), G4EmCalculator::FindEmModel(), G4VEmProcess::FindLambdaMax(), G4BiasingProcessInterface::G4BiasingProcessInterface(), G4Cerenkov::G4Cerenkov(), G4ErrorEnergyLoss::G4ErrorEnergyLoss(), G4ErrorTrackLengthTarget::G4ErrorTrackLengthTarget(), G4FastSimulationManagerProcess::G4FastSimulationManagerProcess(), G4ImportanceProcess::G4ImportanceProcess(), G4MaxTimeCuts::G4MaxTimeCuts(), G4MicroElecSurface::G4MicroElecSurface(), G4MinEkineCuts::G4MinEkineCuts(), G4OpAbsorption::G4OpAbsorption(), G4OpBoundaryProcess::G4OpBoundaryProcess(), G4OpMieHG::G4OpMieHG(), G4OpRayleigh::G4OpRayleigh(), G4OpWLS::G4OpWLS(), G4OpWLS2::G4OpWLS2(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldScoringProcess::G4ParallelWorldScoringProcess(), G4Scintillation::G4Scintillation(), G4ScoreSplittingProcess::G4ScoreSplittingProcess(), G4SpecialCuts::G4SpecialCuts(), G4StepLimiter::G4StepLimiter(), G4UCNAbsorption::G4UCNAbsorption(), G4UCNBoundaryProcess::G4UCNBoundaryProcess(), G4UCNLoss::G4UCNLoss(), G4UCNMultiScattering::G4UCNMultiScattering(), G4UserSpecialCuts::G4UserSpecialCuts(), G4WeightCutOffProcess::G4WeightCutOffProcess(), G4WeightWindowProcess::G4WeightWindowProcess(), G4HadronicProcess::GetElementCrossSection(), G4VEmProcess::GetEmProcess(), G4GammaGeneralProcess::GetEmProcess(), G4WeightWindowProcess::GetName(), G4ProcessManager::GetProcess(), G4ProcessManager::GetProcessVectorIndex(), G4GammaGeneralProcess::GetSubProcessName(), G4ProcessManager::InActivateProcess(), G4hhIonisation::InitialiseEnergyLossProcess(), G4ProcessTable::Insert(), G4ITStepProcessor::InvokeAlongStepDoItProcs(), G4SteppingManager::InvokeAlongStepDoItProcs(), G4SteppingManager::InvokeAtRestDoItProcs(), G4SteppingManager::InvokePSDIP(), G4LossTableManager::LocalPhysicsTables(), G4ErrorPropagator::MakeOneStep(), G4VEmProcess::PostStepDoIt(), G4ITSteppingVerbose::PostStepDoItAllDone(), G4SteppingVerbose::PostStepDoItAllDone(), G4SteppingVerboseWithUnits::PostStepDoItAllDone(), G4ITSteppingVerbose::PostStepDoItOneByOne(), G4SteppingVerbose::PostStepDoItOneByOne(), G4SteppingVerboseWithUnits::PostStepDoItOneByOne(), G4VITDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), G4VContinuousDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(), G4ITSteppingVerbose::PostStepVerbose(), G4EmConfigurator::PrepareModels(), G4HadronStoppingProcess::PreparePhysicsTable(), G4GammaGeneralProcess::PreparePhysicsTable(), G4VEmProcess::PreparePhysicsTable(), G4VEnergyLossProcess::PreparePhysicsTable(), G4VMultipleScattering::PreparePhysicsTable(), G4LossTableManager::PreparePhysicsTable(), G4HadronicProcessStore::Print(), G4HadronicProcessStore::PrintHtml(), G4AnnihiToMuPair::PrintInfoDefinition(), G4GammaConversionToMuons::PrintInfoDefinition(), G4hImpactIonisation::PrintInfoDefinition(), G4ProcessPlacer::PrintProcVec(), G4VEnergyLossProcess::PrintWarning(), G4VEmProcess::PrintWarning(), G4SynchrotronRadiation::ProcessDescription(), G4Decay::ProcessDescription(), G4DecayWithSpin::ProcessDescription(), G4PionDecayMakeSpin::ProcessDescription(), G4UnknownDecay::ProcessDescription(), G4ChannelingOptrChangeCrossSection::ProposeOccurenceBiasingOperation(), G4StackManager::PushOneTrack(), G4HadronicProcessStore::Register(), G4LossTableManager::Register(), G4LossTableManager::RegisterExtraParticle(), G4HadronicProcessStore::RegisterExtraProcess(), G4HadronicProcessStore::RegisterParticle(), G4WrapperProcess::RegisterProcess(), G4PhysicsListHelper::RegisterProcess(), G4ProcessTable::Remove(), G4ParallelGeometriesLimiterProcess::RemoveParallelWorld(), G4ProcessManager::RemoveProcess(), G4ProcessPlacer::RemoveProcess(), G4GammaGeneralProcess::RetrievePhysicsTable(), G4VEmProcess::RetrievePhysicsTable(), G4VEnergyLossProcess::RetrievePhysicsTable(), G4VEmProcess::SetCrossSectionBiasingFactor(), G4VEnergyLossProcess::SetCrossSectionBiasingFactor(), G4VEnergyLossProcess::SetCSDARangeTable(), G4VEnergyLossProcess::SetInverseRangeTable(), G4VEnergyLossProcess::SetLambdaTable(), G4ProcessTableMessenger::SetNewValue(), G4ProcessTable::SetProcessActivation(), G4ProcessManager::SetProcessOrdering(), G4ProcessManager::SetProcessOrderingToFirst(), G4ProcessManager::SetProcessOrderingToLast(), G4ProcessManager::SetProcessOrderingToSecond(), G4VEnergyLossProcess::SetRangeTableForLoss(), G4VEnergyLossProcess::SetSecondaryRangeTable(), G4FastSimulationManagerProcess::SetWorldVolume(), G4ITSteppingVerbose::ShowStep(), G4SteppingVerbose::ShowStep(), G4SteppingVerboseWithUnits::ShowStep(), G4ChannelingOptrChangeCrossSection::StartRun(), G4ITSteppingVerbose::StepInfo(), G4SteppingVerbose::StepInfo(), G4SteppingVerboseWithUnits::StepInfo(), G4ITSteppingVerbose::StepInfoForLeadingTrack(), G4VEmProcess::StorePhysicsTable(), G4VMultipleScattering::StorePhysicsTable(), G4VEnergyLossProcess::StreamInfo(), G4VEmProcess::StreamInfo(), G4VMultipleScattering::StreamInfo(), G4EmCalculator::UpdateParticle(), G4ParallelWorldScoringProcess::Verbose(), G4ScoreSplittingProcess::Verbose(), G4ITSteppingVerbose::VerboseTrack(), G4SteppingVerbose::VerboseTrack(), and G4SteppingVerboseWithUnits::VerboseTrack().

◆ GetProcessState()

G4shared_ptr< G4ProcessState_Lock > G4VITProcess::GetProcessState ( )
inlineinherited

Definition at line 120 of file G4VITProcess.hh.

121 {
123 }
#define UpcastProcessState(destinationType)
Definition: G4VITProcess.hh:82

References UpcastProcessState.

◆ GetProcessSubType()

G4int G4VProcess::GetProcessSubType ( ) const
inlineinherited

◆ GetProcessType()

G4ProcessType G4VProcess::GetProcessType ( ) const
inlineinherited

◆ GetProcessTypeName()

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

Definition at line 134 of file G4VProcess.cc.

135{
136 switch (aType)
137 {
138 case fNotDefined: return typeNotDefined; break;
139 case fTransportation: return typeTransportation; break;
140 case fElectromagnetic: return typeElectromagnetic; break;
141 case fOptical: return typeOptical; break;
142 case fHadronic: return typeHadronic; break;
144 case fDecay: return typeDecay; break;
145 case fGeneral: return typeGeneral; break;
146 case fParameterisation: return typeParameterisation; break;
147 case fUserDefined: return typeUserDefined; break;
148 case fPhonon: return typePhonon; break;
149 default: ;
150 }
151 return noType;
152}
@ fOptical
@ fPhonon
@ fParameterisation
@ fGeneral
@ fDecay
@ fElectromagnetic
@ fHadronic
@ fUserDefined
@ fTransportation
@ fPhotolepton_hadron
@ fNotDefined
static const G4String typeNotDefined
Definition: G4VProcess.cc:119
static const G4String typeParameterisation
Definition: G4VProcess.cc:127
static const G4String typePhotolepton_hadron
Definition: G4VProcess.cc:124
static const G4String typeElectromagnetic
Definition: G4VProcess.cc:121
static const G4String noType
Definition: G4VProcess.cc:130
static const G4String typeUserDefined
Definition: G4VProcess.cc:128
static const G4String typeDecay
Definition: G4VProcess.cc:125
static const G4String typeTransportation
Definition: G4VProcess.cc:120
static const G4String typeHadronic
Definition: G4VProcess.cc:123
static const G4String typeOptical
Definition: G4VProcess.cc:122
static const G4String typeGeneral
Definition: G4VProcess.cc:126
static const G4String typePhonon
Definition: G4VProcess.cc:129

References fDecay, fElectromagnetic, fGeneral, fHadronic, fNotDefined, fOptical, fParameterisation, fPhonon, fPhotolepton_hadron, fTransportation, fUserDefined, anonymous_namespace{G4VProcess.cc}::noType, anonymous_namespace{G4VProcess.cc}::typeDecay, anonymous_namespace{G4VProcess.cc}::typeElectromagnetic, anonymous_namespace{G4VProcess.cc}::typeGeneral, anonymous_namespace{G4VProcess.cc}::typeHadronic, anonymous_namespace{G4VProcess.cc}::typeNotDefined, anonymous_namespace{G4VProcess.cc}::typeOptical, anonymous_namespace{G4VProcess.cc}::typeParameterisation, anonymous_namespace{G4VProcess.cc}::typePhonon, anonymous_namespace{G4VProcess.cc}::typePhotolepton_hadron, anonymous_namespace{G4VProcess.cc}::typeTransportation, and anonymous_namespace{G4VProcess.cc}::typeUserDefined.

Referenced by G4RichTrajectory::CreateAttValues(), G4RichTrajectoryPoint::CreateAttValues(), G4ProcessManager::DumpInfo(), G4VProcess::DumpInfo(), G4ProcessTableMessenger::G4ProcessTableMessenger(), G4ProcessTableMessenger::GetProcessType(), G4ProcessTableMessenger::GetProcessTypeName(), and G4ProcessTableMessenger::SetNumberOfProcessType().

◆ GetPropagatorInField()

G4PropagatorInField * G4ITTransportation::GetPropagatorInField ( )
inherited

◆ GetState()

template<typename T >
T * G4VITProcess::GetState ( )
inlineprotectedinherited

Definition at line 212 of file G4VITProcess.hh.

213 {
214 return fpState->GetState<T>();
215 }

References G4VITProcess::fpState.

◆ GetSumEnergyKilled()

G4double G4ITTransportation::GetSumEnergyKilled ( ) const
inlineinherited

◆ GetThresholdImportantEnergy()

G4double G4ITTransportation::GetThresholdImportantEnergy ( ) const
inlineinherited

◆ GetThresholdTrials()

G4int G4ITTransportation::GetThresholdTrials ( ) const
inlineinherited

◆ GetThresholdWarningEnergy()

G4double G4ITTransportation::GetThresholdWarningEnergy ( ) const
inlineinherited

◆ GetTotalNumberOfInteractionLengthTraversed()

G4double G4VProcess::GetTotalNumberOfInteractionLengthTraversed ( ) const
inlineinherited

◆ GetVerboseLevel()

G4int G4ITTransportation::GetVerboseLevel ( ) const
inlineinherited

◆ InstantiateProcessState()

G4bool G4ITTransportation::InstantiateProcessState ( )
inlineprotectedinherited

Definition at line 259 of file G4ITTransportation.hh.

260 {
262 }

References G4ITTransportation::fInstantiateProcessState.

◆ isAlongStepDoItIsEnabled()

G4bool G4VProcess::isAlongStepDoItIsEnabled ( ) const
inlineinherited

Definition at line 506 of file G4VProcess.hh.

507{
508 return enableAlongStepDoIt;
509}
G4bool enableAlongStepDoIt
Definition: G4VProcess.hh:360

References G4VProcess::enableAlongStepDoIt.

Referenced by G4ProcessManager::CheckOrderingParameters().

◆ IsApplicable()

virtual G4bool G4VProcess::IsApplicable ( const G4ParticleDefinition )
inlinevirtualinherited

Reimplemented in G4DNAAttachment, G4DNAChargeDecrease, G4DNAChargeIncrease, G4DNADissociation, G4DNAElastic, G4DNAElectronSolvation, G4DNAExcitation, G4DNAIonisation, G4DNAPlasmonExcitation, G4DNAPositronium, G4DNARotExcitation, G4DNAVibExcitation, G4hImpactIonisation, G4RadioactiveDecay, G4HadronicAbsorptionBertini, G4HadronicAbsorptionFritiof, G4HadronicAbsorptionFritiofWithBinaryCascade, G4HadronStoppingProcess, G4MuonicAtomDecay, G4MuonMinusAtomicCapture, G4MuonMinusCapture, G4WrapperProcess, G4PhononDownconversion, G4NeutronKiller, G4ComptonScattering, G4GammaConversion, G4PhotoElectricEffect, G4GammaGeneralProcess, G4Decay, G4UnknownDecay, G4AdjointProcessEquivalentToDirectProcess, G4DNAElectronHoleRecombination, G4DNAMolecularDissociation, G4AnnihiToMuPair, G4GammaConversionToMuons, G4JAEAElasticScattering, G4LowECapture, G4MicroElecElastic, G4MicroElecInelastic, G4MicroElecLOPhononScattering, G4RayleighScattering, G4PolarizedCompton, G4PolarizedGammaConversion, G4PolarizedPhotoElectric, G4SynchrotronRadiation, G4SynchrotronRadiationInMat, G4VXTRenergyLoss, G4HadronInelasticProcess, G4NoProcess, G4ChargeExchangeProcess, G4MuonNuclearProcess, G4UCNAbsorption, G4UCNBoundaryProcess, G4UCNLoss, G4UCNMultiScattering, G4NeutronCaptureProcess, G4MicroElecSurface, G4ErrorEnergyLoss, G4Cerenkov, G4Scintillation, G4TransitionRadiation, G4VTransitionRadiation, G4OpAbsorption, G4OpBoundaryProcess, G4OpMieHG, G4OpRayleigh, G4OpWLS, G4OpWLS2, G4Channeling, G4VPhononProcess, G4NeutronFissionProcess, G4CoulombScattering, G4eBremsstrahlung, G4eIonisation, G4eMultipleScattering, G4eplusAnnihilation, G4hMultipleScattering, G4ionIonisation, G4NuclearStopping, G4AdjointhMultipleScattering, G4eAdjointMultipleScattering, G4eeToHadrons, G4hBremsstrahlung, G4hhIonisation, G4hPairProduction, G4mplIonisation, G4ePairProduction, G4MuBremsstrahlung, G4MuIonisation, G4MuMultipleScattering, G4MuPairProduction, G4PolarizedIonisation, G4hIonisation, G4VEmProcess, and G4BiasingProcessInterface.

Definition at line 182 of file G4VProcess.hh.

182{ return true; }

Referenced by G4ProcessManager::AddProcess(), export_G4VProcess(), G4WrapperProcess::IsApplicable(), G4AdjointProcessEquivalentToDirectProcess::IsApplicable(), and G4BiasingProcessInterface::IsApplicable().

◆ isAtRestDoItIsEnabled()

G4bool G4VProcess::isAtRestDoItIsEnabled ( ) const
inlineinherited

Definition at line 500 of file G4VProcess.hh.

501{
502 return enableAtRestDoIt;
503}
G4bool enableAtRestDoIt
Definition: G4VProcess.hh:359

References G4VProcess::enableAtRestDoIt.

Referenced by G4ProcessManager::CheckOrderingParameters().

◆ isPostStepDoItIsEnabled()

G4bool G4VProcess::isPostStepDoItIsEnabled ( ) const
inlineinherited

Definition at line 512 of file G4VProcess.hh.

513{
514 return enablePostStepDoIt;
515}
G4bool enablePostStepDoIt
Definition: G4VProcess.hh:361

References G4VProcess::enablePostStepDoIt.

Referenced by G4ProcessManager::CheckOrderingParameters().

◆ IsStepLimitedByGeometry()

G4bool G4ITTransportation::IsStepLimitedByGeometry ( )
inlineinherited

Definition at line 97 of file G4ITTransportation.hh.

98 {
99 return GetState<G4ITTransportationState>()->fGeometryLimitedStep;
100 }

◆ operator!=() [1/2]

G4bool G4VITProcess::operator!= ( const G4VITProcess right) const
inherited

◆ operator!=() [2/2]

G4bool G4VProcess::operator!= ( const G4VProcess right) const
inherited

Definition at line 161 of file G4VProcess.cc.

162{
163 return (this != &right);
164}

◆ operator=()

G4DNABrownianTransportation & G4DNABrownianTransportation::operator= ( const G4DNABrownianTransportation rhs)

Definition at line 163 of file G4DNABrownianTransportation.cc.

164{
165 if(this == &rhs) return *this; // handle self assignment
166 //assignment operator
167 return *this;
168}

◆ operator==() [1/2]

G4bool G4VITProcess::operator== ( const G4VITProcess right) const
inherited

◆ operator==() [2/2]

G4bool G4VProcess::operator== ( const G4VProcess right) const
inherited

Definition at line 155 of file G4VProcess.cc.

156{
157 return (this == &right);
158}

◆ PostStepDoIt()

G4VParticleChange * G4DNABrownianTransportation::PostStepDoIt ( const G4Track track,
const G4Step step 
)
virtual

Reimplemented from G4ITTransportation.

Definition at line 451 of file G4DNABrownianTransportation.cc.

453{
455
456#ifdef G4VERBOSE
457 // DEBUG
458 if (fVerboseLevel > 1)
459 {
460 G4cout << GREEN_ON_BLUE << "G4ITBrownianTransportation::PostStepDoIt() :"
461 << " trackID : " << track.GetTrackID() << " Molecule name: "
462 << GetMolecule(track)->GetName() << G4endl;
463 G4cout << "Diffusion length : "
464 << G4BestUnit(step.GetStepLength(), "Length")
465 <<" within time step : " << G4BestUnit(step.GetDeltaTime(),"Time")
466 << "\t Current global time : "
467 << G4BestUnit(track.GetGlobalTime(),"Time")
468 << RESET_COLOR
469 << G4endl<< G4endl;
470 }
471#endif
472 return &fParticleChange;
473}
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &)
G4double GetDeltaTime() const
G4double GetStepLength() const

References G4ITTransportation::fParticleChange, G4ITTransportation::fVerboseLevel, G4BestUnit, G4cout, G4endl, G4Step::GetDeltaTime(), G4Track::GetGlobalTime(), GetMolecule(), G4Molecule::GetName(), G4Step::GetStepLength(), G4Track::GetTrackID(), GREEN_ON_BLUE, G4ITTransportation::PostStepDoIt(), and RESET_COLOR.

◆ PostStepGetPhysicalInteractionLength()

G4double G4ITTransportation::PostStepGetPhysicalInteractionLength ( const G4Track ,
G4double  ,
G4ForceCondition pForceCond 
)
virtualinherited

Implements G4VProcess.

Definition at line 859 of file G4ITTransportation.cc.

863{
864 *pForceCond = Forced;
865 return DBL_MAX; // was kInfinity ; but convention now is DBL_MAX
866}
@ Forced

References DBL_MAX, and Forced.

◆ PostStepGPIL()

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

Definition at line 479 of file G4VProcess.hh.

482{
483 return thePILfactor *
484 PostStepGetPhysicalInteractionLength(track, previousStepSize, condition);
485}
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)=0

References condition(), G4VProcess::PostStepGetPhysicalInteractionLength(), and G4VProcess::thePILfactor.

Referenced by G4SteppingManager::DefinePhysicalStepLength(), and G4ITStepProcessor::DoDefinePhysicalStepLength().

◆ PreparePhysicsTable()

virtual void G4VProcess::PreparePhysicsTable ( const G4ParticleDefinition )
inlinevirtualinherited

◆ PrepareWorkerPhysicsTable()

void G4VProcess::PrepareWorkerPhysicsTable ( const G4ParticleDefinition part)
virtualinherited

Reimplemented in G4BiasingProcessInterface.

Definition at line 206 of file G4VProcess.cc.

207{
209}
virtual void PreparePhysicsTable(const G4ParticleDefinition &)
Definition: G4VProcess.hh:194

References G4VProcess::PreparePhysicsTable().

Referenced by G4BiasingProcessInterface::PrepareWorkerPhysicsTable().

◆ ProcessDescription()

void G4VProcess::ProcessDescription ( std::ostream &  outfile) const
virtualinherited

Reimplemented in G4AdjointAlongStepWeightCorrection, G4AdjointForcedInteractionForGamma, G4AdjointhMultipleScattering, G4ContinuousGainOfEnergy, G4eAdjointMultipleScattering, G4eInverseBremsstrahlung, G4eInverseCompton, G4eInverseIonisation, G4InversePEEffect, G4IonInverseIonisation, G4eeToHadrons, G4hBremsstrahlung, G4hhIonisation, G4hPairProduction, G4mplIonisation, G4RayleighScattering, G4ePairProduction, G4MuBremsstrahlung, G4MuIonisation, G4MuMultipleScattering, G4MuPairProduction, G4PolarizedAnnihilation, G4PolarizedBremsstrahlung, G4PolarizedCompton, G4PolarizedGammaConversion, G4PolarizedIonisation, G4PolarizedPhotoElectric, G4ComptonScattering, G4CoulombScattering, G4eBremsstrahlung, G4eIonisation, G4eMultipleScattering, G4eplusAnnihilation, G4GammaConversion, G4hIonisation, G4hMultipleScattering, G4ionIonisation, G4NuclearStopping, G4PhotoElectricEffect, G4ForwardXrayTR, G4GammaXTRadiator, G4GaussXTRadiator, G4RegularXTRadiator, G4Scintillation, G4StrawTubeXTRadiator, G4SynchrotronRadiation, G4TransitionRadiation, G4TransparentRegXTRadiator, G4VTransitionRadiation, G4VXTRenergyLoss, G4XTRGammaRadModel, G4XTRRegularRadModel, G4XTRTransparentRegRadModel, G4Cerenkov, G4Radioactivation, G4RadioactiveDecay, G4ElectronNuclearProcess, G4MuonNuclearProcess, G4NeutrinoElectronProcess, G4NeutronFissionProcess, G4PositronNuclearProcess, G4HadronicAbsorptionBertini, G4HadronicAbsorptionFritiof, G4HadronicAbsorptionFritiofWithBinaryCascade, G4HadronStoppingProcess, G4MuonicAtomDecay, G4MuonMinusAtomicCapture, G4MuonMinusCapture, G4Transportation, G4NeutronCaptureProcess, G4GammaGeneralProcess, G4Decay, G4DecayWithSpin, G4PionDecayMakeSpin, G4UnknownDecay, G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering, G4HadronicProcess, G4ElNeutrinoNucleusProcess, G4HadronElasticProcess, and G4MuNeutrinoNucleusProcess.

Definition at line 175 of file G4VProcess.cc.

176{
177 outFile << "This process has not yet been described\n";
178}

Referenced by G4LossTableManager::DumpHtml(), G4HadronicProcessStore::PrintHtml(), and G4GammaGeneralProcess::ProcessDescription().

◆ ProposesTimeStep()

G4bool G4VITProcess::ProposesTimeStep ( ) const
inlineinherited

Definition at line 280 of file G4VITProcess.hh.

281{
282 return fProposesTimeStep;
283}
G4bool fProposesTimeStep

References G4VITProcess::fProposesTimeStep.

Referenced by ComputeStep(), and G4ITStepProcessor::DoDefinePhysicalStepLength().

◆ ResetKilledStatistics()

void G4ITTransportation::ResetKilledStatistics ( G4int  report = 1)
inlineinherited

◆ ResetNumberOfInteractionLengthLeft()

void G4VITProcess::ResetNumberOfInteractionLengthLeft ( )
inlinevirtualinherited

◆ ResetProcessState()

void G4VITProcess::ResetProcessState ( )
inlineinherited

◆ RetrievePhysicsTable()

virtual G4bool G4VProcess::RetrievePhysicsTable ( const G4ParticleDefinition ,
const G4String ,
G4bool   
)
inlinevirtualinherited

◆ RetrieveProcessInfo()

void G4VITProcess::RetrieveProcessInfo ( )
protectedinherited

◆ SetBrownianAction()

void G4DNABrownianTransportation::SetBrownianAction ( G4BrownianAction brownianAction)
inline

Definition at line 242 of file G4DNABrownianTransportation.hh.

243{
244 fpBrownianAction = brownianAction;
245}

References fpBrownianAction.

◆ SetInstantiateProcessState()

void G4ITTransportation::SetInstantiateProcessState ( G4bool  flag)
inlineprotectedinherited

◆ SetMasterProcess()

void G4VProcess::SetMasterProcess ( G4VProcess masterP)
virtualinherited

◆ SetPILfactor()

void G4VProcess::SetPILfactor ( G4double  value)
inlineinherited

Definition at line 449 of file G4VProcess.hh.

450{
451 if (value>0.) { thePILfactor = value; }
452}

References G4VProcess::thePILfactor.

Referenced by export_G4VProcess().

◆ SetProcessManager()

void G4VProcess::SetProcessManager ( const G4ProcessManager procMan)
inlinevirtualinherited

◆ SetProcessState()

void G4VITProcess::SetProcessState ( G4shared_ptr< G4ProcessState_Lock aProcInfo)
inlineinherited

◆ SetProcessSubType()

void G4VProcess::SetProcessSubType ( G4int  value)
inlineinherited

Definition at line 406 of file G4VProcess.hh.

407{
408 theProcessSubType = value;
409}

References G4VProcess::theProcessSubType.

Referenced by G4DNAElectronHoleRecombination::Create(), G4DNASecondOrderReaction::Create(), G4AnnihiToMuPair::G4AnnihiToMuPair(), G4BiasingProcessInterface::G4BiasingProcessInterface(), G4Cerenkov::G4Cerenkov(), G4ComptonScattering::G4ComptonScattering(), G4CoulombScattering::G4CoulombScattering(), G4CoupledTransportation::G4CoupledTransportation(), G4Decay::G4Decay(), G4DecayWithSpin::G4DecayWithSpin(), G4DNAAttachment::G4DNAAttachment(), G4DNABrownianTransportation(), G4DNAChargeDecrease::G4DNAChargeDecrease(), G4DNAChargeIncrease::G4DNAChargeIncrease(), G4DNAElastic::G4DNAElastic(), G4DNAElectronSolvation::G4DNAElectronSolvation(), G4DNAExcitation::G4DNAExcitation(), G4DNAIonisation::G4DNAIonisation(), G4DNAMolecularDissociation::G4DNAMolecularDissociation(), G4DNAScavengerProcess::G4DNAScavengerProcess(), G4DNAVibExcitation::G4DNAVibExcitation(), G4eBremsstrahlung::G4eBremsstrahlung(), G4eeToHadrons::G4eeToHadrons(), G4eIonisation::G4eIonisation(), G4ePairProduction::G4ePairProduction(), G4eplusAnnihilation::G4eplusAnnihilation(), G4FastSimulationManagerProcess::G4FastSimulationManagerProcess(), G4GammaConversion::G4GammaConversion(), G4GammaConversionToMuons::G4GammaConversionToMuons(), G4GammaGeneralProcess::G4GammaGeneralProcess(), G4HadronicProcess::G4HadronicProcess(), G4hhIonisation::G4hhIonisation(), G4hIonisation::G4hIonisation(), G4ionIonisation::G4ionIonisation(), G4ITTransportation::G4ITTransportation(), G4JAEAElasticScattering::G4JAEAElasticScattering(), G4MicroElecElastic::G4MicroElecElastic(), G4MicroElecInelastic::G4MicroElecInelastic(), G4MicroElecLOPhononScattering::G4MicroElecLOPhononScattering(), G4MicroElecSurface::G4MicroElecSurface(), G4mplIonisation::G4mplIonisation(), G4MuBremsstrahlung::G4MuBremsstrahlung(), G4MuIonisation::G4MuIonisation(), G4MuonMinusAtomicCapture::G4MuonMinusAtomicCapture(), G4MuPairProduction::G4MuPairProduction(), G4NeutronKiller::G4NeutronKiller(), G4NuclearStopping::G4NuclearStopping(), G4OpAbsorption::G4OpAbsorption(), G4OpBoundaryProcess::G4OpBoundaryProcess(), G4OpMieHG::G4OpMieHG(), G4OpRayleigh::G4OpRayleigh(), G4OpWLS::G4OpWLS(), G4OpWLS2::G4OpWLS2(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4PhotoElectricEffect::G4PhotoElectricEffect(), G4PionDecayMakeSpin::G4PionDecayMakeSpin(), G4PolarizedCompton::G4PolarizedCompton(), G4PolarizedGammaConversion::G4PolarizedGammaConversion(), G4PolarizedIonisation::G4PolarizedIonisation(), G4PolarizedPhotoElectric::G4PolarizedPhotoElectric(), G4RadioactiveDecay::G4RadioactiveDecay(), G4RayleighScattering::G4RayleighScattering(), G4Scintillation::G4Scintillation(), G4StepLimiter::G4StepLimiter(), G4SynchrotronRadiation::G4SynchrotronRadiation(), G4SynchrotronRadiationInMat::G4SynchrotronRadiationInMat(), G4TransitionRadiation::G4TransitionRadiation(), G4Transportation::G4Transportation(), G4UCNAbsorption::G4UCNAbsorption(), G4UCNBoundaryProcess::G4UCNBoundaryProcess(), G4UCNLoss::G4UCNLoss(), G4UCNMultiScattering::G4UCNMultiScattering(), G4UnknownDecay::G4UnknownDecay(), G4UserSpecialCuts::G4UserSpecialCuts(), G4VMultipleScattering::G4VMultipleScattering(), G4VTransitionRadiation::G4VTransitionRadiation(), G4VXTRenergyLoss::G4VXTRenergyLoss(), and G4Decay::SetExtDecayer().

◆ SetProcessType()

void G4VProcess::SetProcessType ( G4ProcessType  aType)
inlineinherited

Definition at line 394 of file G4VProcess.hh.

395{
396 theProcessType = aType;
397}

References G4VProcess::theProcessType.

Referenced by G4MaxTimeCuts::G4MaxTimeCuts(), and G4MinEkineCuts::G4MinEkineCuts().

◆ SetPropagatorInField()

void G4ITTransportation::SetPropagatorInField ( G4PropagatorInField pFieldPropagator)
inherited

◆ SetThresholdImportantEnergy()

void G4ITTransportation::SetThresholdImportantEnergy ( G4double  newEnImp)
inlineinherited

◆ SetThresholdTrials()

void G4ITTransportation::SetThresholdTrials ( G4int  newMaxTrials)
inlineinherited

◆ SetThresholdWarningEnergy()

void G4ITTransportation::SetThresholdWarningEnergy ( G4double  newEnWarn)
inlineinherited

◆ SetVerboseLevel()

void G4ITTransportation::SetVerboseLevel ( G4int  verboseLevel)
inlineinherited

◆ SpeedLevel()

void G4DNABrownianTransportation::SpeedLevel ( int  level)
inline

Definition at line 171 of file G4DNABrownianTransportation.hh.

172 {
173 if(level < 0) level =0;
174 else if(level > 2) level = 2;
175
176 switch(level)
177 {
178 case 0:
179 fSpeedMeUp = false;
181 return;
182
183 case 1:
184 fSpeedMeUp = true;
186 return;
187
188 case 2:
189 //======================================================================
190 // NB: BE AWARE THAT IF NO MIN TIME STEPS NO TIME STEPS HAVE BEEN
191 // PROVIDED TO G4Scheduler THIS LEVEL MIGHT BE SLOWER THAN LEVEL 1
192 //======================================================================
193 fSpeedMeUp = true;
195 return;
196 }
197 }

References fSpeedMeUp, and fUseSchedulerMinTimeSteps.

◆ StartTracking()

void G4DNABrownianTransportation::StartTracking ( G4Track aTrack)
virtual

Reimplemented from G4ITTransportation.

Definition at line 179 of file G4DNABrownianTransportation.cc.

180{
181 fpState.reset(new G4ITBrownianState());
182// G4cout << "G4DNABrownianTransportation::StartTracking : "
183// "Initialised track State" << G4endl;
186}
void SetInstantiateProcessState(G4bool flag)
virtual void StartTracking(G4Track *aTrack)

References G4VITProcess::fpState, G4ITTransportation::SetInstantiateProcessState(), and G4ITTransportation::StartTracking().

◆ StorePhysicsTable()

virtual G4bool G4VProcess::StorePhysicsTable ( const G4ParticleDefinition ,
const G4String ,
G4bool   
)
inlinevirtualinherited

◆ SubtractNumberOfInteractionLengthLeft()

void G4VITProcess::SubtractNumberOfInteractionLengthLeft ( G4double  previousStepSize)
inlineprotectedvirtualinherited

Definition at line 292 of file G4VITProcess.hh.

293{
294 if (fpState->currentInteractionLength > 0.0)
295 {
296 fpState->theNumberOfInteractionLengthLeft -= previousStepSize
297 / fpState->currentInteractionLength;
298 if (fpState->theNumberOfInteractionLengthLeft < 0.)
299 {
300 fpState->theNumberOfInteractionLengthLeft = CLHEP::perMillion;
301 }
302
303 }
304 else
305 {
306#ifdef G4VERBOSE
307 if (verboseLevel > 0)
308 {
309 G4cerr << "G4VITProcess::SubtractNumberOfInteractionLengthLeft()";
310 G4cerr << " [" << theProcessName << "]" << G4endl;
311 G4cerr << " currentInteractionLength = "
312 << fpState->currentInteractionLength << " [mm]";
313 G4cerr << " previousStepSize = " << previousStepSize << " [mm]";
314 G4cerr << G4endl;
315 }
316#endif
317 G4String msg = "Negative currentInteractionLength for ";
318 msg += theProcessName;
319 G4Exception("G4VITProcess::SubtractNumberOfInteractionLengthLeft()",
320 "ProcMan201",EventMustBeAborted,
321 msg);
322 }
323}
@ EventMustBeAborted
G4GLOB_DLL std::ostream G4cerr
static constexpr double perMillion

References EventMustBeAborted, G4VITProcess::fpState, G4cerr, G4endl, G4Exception(), CLHEP::perMillion, G4VProcess::theProcessName, and G4VProcess::verboseLevel.

Referenced by G4VITDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), and G4DNAScavengerProcess::PostStepGetPhysicalInteractionLength().

◆ UseCumulativeDensitFunction()

void G4DNABrownianTransportation::UseCumulativeDensitFunction ( bool  flag = true)
inline

Definition at line 155 of file G4DNABrownianTransportation.hh.

156 {
157 if(flag == true)
158 {
160 return;
161 }
163 }

References fUseMaximumTimeBeforeReachingBoundary.

◆ UseLimitingTimeSteps()

void G4DNABrownianTransportation::UseLimitingTimeSteps ( bool  flag = true)
inline

Definition at line 166 of file G4DNABrownianTransportation.hh.

167 {
169 }

References fUseSchedulerMinTimeSteps.

◆ UseMaximumTimeBeforeReachingBoundary()

void G4DNABrownianTransportation::UseMaximumTimeBeforeReachingBoundary ( bool  flag = true)
inline

Field Documentation

◆ aParticleChange

G4ParticleChange G4VProcess::aParticleChange
protectedinherited

◆ aProcessManager

const G4ProcessManager* G4VProcess::aProcessManager = nullptr
protectedinherited

Definition at line 319 of file G4VProcess.hh.

Referenced by G4VProcess::GetProcessManager(), and G4VProcess::SetProcessManager().

◆ currentInteractionLength

G4double* G4VITProcess::currentInteractionLength
privateinherited

Definition at line 254 of file G4VITProcess.hh.

Referenced by G4VITProcess::G4VITProcess(), and G4VITProcess::StartTracking().

◆ enableAlongStepDoIt

G4bool G4VProcess::enableAlongStepDoIt = true
protectedinherited

◆ enableAtRestDoIt

G4bool G4VProcess::enableAtRestDoIt = true
protectedinherited

◆ enablePostStepDoIt

G4bool G4VProcess::enablePostStepDoIt = true
protectedinherited

◆ fFieldPropagator

G4PropagatorInField* G4ITTransportation::fFieldPropagator
protectedinherited

◆ fInstantiateProcessState

G4bool G4ITTransportation::fInstantiateProcessState
privateinherited

◆ fInternalMinTimeStep

G4double G4DNABrownianTransportation::fInternalMinTimeStep
protected

◆ fLinearNavigator

G4ITNavigator* G4ITTransportation::fLinearNavigator
protectedinherited

◆ fMaxEnergyKilled

G4double G4ITTransportation::fMaxEnergyKilled
protectedinherited

◆ fNbProcess

size_t * G4VITProcess::fNbProcess = 0
privateinherited

◆ fNistWater

G4Material* G4DNABrownianTransportation::fNistWater
protected

Definition at line 229 of file G4DNABrownianTransportation.hh.

Referenced by G4DNABrownianTransportation().

◆ fParticleChange

G4ParticleChangeForTransport G4ITTransportation::fParticleChange
protectedinherited

◆ fpBrownianAction

G4BrownianAction* G4DNABrownianTransportation::fpBrownianAction
protected

◆ fProcessID

size_t G4VITProcess::fProcessID
privateinherited

◆ fProcessTable

G4ProcessTable* G4VProcess::fProcessTable = nullptr
privateinherited

Definition at line 374 of file G4VProcess.hh.

Referenced by G4VProcess::G4VProcess(), and G4VProcess::~G4VProcess().

◆ fProposesTimeStep

G4bool G4VITProcess::fProposesTimeStep
protectedinherited

◆ fpSafetyHelper

G4ITSafetyHelper* G4ITTransportation::fpSafetyHelper
protectedinherited

◆ fpState

G4shared_ptr<G4ProcessState> G4VITProcess::fpState
protectedinherited

◆ fpWaterDensity

const std::vector<G4double>* G4DNABrownianTransportation::fpWaterDensity
protected

◆ fShortStepOptimisation

G4bool G4ITTransportation::fShortStepOptimisation
protectedinherited

◆ fSpeedMeUp

G4bool G4DNABrownianTransportation::fSpeedMeUp
protected

◆ fSumEnergyKilled

G4double G4ITTransportation::fSumEnergyKilled
protectedinherited

◆ fThreshold_Important_Energy

G4double G4ITTransportation::fThreshold_Important_Energy
protectedinherited

◆ fThreshold_Warning_Energy

G4double G4ITTransportation::fThreshold_Warning_Energy
protectedinherited

◆ fThresholdTrials

G4int G4ITTransportation::fThresholdTrials
protectedinherited

◆ fUnimportant_Energy

G4double G4ITTransportation::fUnimportant_Energy
protectedinherited

Definition at line 236 of file G4ITTransportation.hh.

Referenced by G4ITTransportation::G4ITTransportation().

◆ fUseMaximumTimeBeforeReachingBoundary

G4bool G4DNABrownianTransportation::fUseMaximumTimeBeforeReachingBoundary
protected

◆ fUseSchedulerMinTimeSteps

G4bool G4DNABrownianTransportation::fUseSchedulerMinTimeSteps
protected

◆ fVerboseLevel

G4int G4ITTransportation::fVerboseLevel
protectedinherited

◆ masterProcessShadow

G4VProcess* G4VProcess::masterProcessShadow = nullptr
privateinherited

Definition at line 370 of file G4VProcess.hh.

Referenced by G4VProcess::GetMasterProcess(), and G4VProcess::SetMasterProcess().

◆ pParticleChange

G4VParticleChange* G4VProcess::pParticleChange = nullptr
protectedinherited

Definition at line 321 of file G4VProcess.hh.

Referenced by G4VMultipleScattering::AddEmModel(), G4VEmProcess::AddEmModel(), G4VEnergyLossProcess::AddEmModel(), G4ImportanceProcess::AlongStepDoIt(), G4WeightCutOffProcess::AlongStepDoIt(), G4WeightWindowProcess::AlongStepDoIt(), G4VContinuousDiscreteProcess::AlongStepDoIt(), G4VContinuousProcess::AlongStepDoIt(), G4VRestContinuousDiscreteProcess::AlongStepDoIt(), G4VRestContinuousProcess::AlongStepDoIt(), G4ParallelWorldProcess::AlongStepDoIt(), G4ParallelWorldScoringProcess::AlongStepDoIt(), G4VITRestProcess::AtRestDoIt(), G4VRestContinuousDiscreteProcess::AtRestDoIt(), G4VRestContinuousProcess::AtRestDoIt(), G4VRestDiscreteProcess::AtRestDoIt(), G4VRestProcess::AtRestDoIt(), G4ParallelWorldProcess::AtRestDoIt(), G4ParallelWorldScoringProcess::AtRestDoIt(), G4ScoreSplittingProcess::AtRestDoIt(), G4VITRestDiscreteProcess::AtRestDoIt(), G4eplusAnnihilation::AtRestDoIt(), G4DNAElectronHoleRecombination::Create(), G4DNASecondOrderReaction::Create(), G4VEnergyLossProcess::FillSecondariesAlongStep(), G4Decay::G4Decay(), G4DNAMolecularDissociation::G4DNAMolecularDissociation(), G4DNAScavengerProcess::G4DNAScavengerProcess(), G4ImportanceProcess::G4ImportanceProcess(), G4ITTransportation::G4ITTransportation(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldScoringProcess::G4ParallelWorldScoringProcess(), G4RadioactiveDecay::G4RadioactiveDecay(), G4ScoreSplittingProcess::G4ScoreSplittingProcess(), G4Transportation::G4Transportation(), G4UnknownDecay::G4UnknownDecay(), G4VEmProcess::G4VEmProcess(), G4VEnergyLossProcess::G4VEnergyLossProcess(), G4VMultipleScattering::G4VMultipleScattering(), G4VProcess::G4VProcess(), G4VXTRenergyLoss::G4VXTRenergyLoss(), G4WeightCutOffProcess::G4WeightCutOffProcess(), G4WeightWindowProcess::G4WeightWindowProcess(), G4VITDiscreteProcess::PostStepDoIt(), G4VContinuousDiscreteProcess::PostStepDoIt(), G4VDiscreteProcess::PostStepDoIt(), G4VRestContinuousDiscreteProcess::PostStepDoIt(), G4VRestDiscreteProcess::PostStepDoIt(), G4ParallelWorldProcess::PostStepDoIt(), G4ParallelWorldScoringProcess::PostStepDoIt(), G4ScoreSplittingProcess::PostStepDoIt(), G4NeutronKiller::PostStepDoIt(), G4VITRestDiscreteProcess::PostStepDoIt(), G4LowECapture::PostStepDoIt(), G4VEmProcess::PostStepDoIt(), G4VEnergyLossProcess::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), and G4VTransitionRadiation::PostStepDoIt().

◆ theInitialNumberOfInteractionLength

G4double G4VProcess::theInitialNumberOfInteractionLength = -1.0
protectedinherited

◆ theInteractionTimeLeft

G4double* G4VITProcess::theInteractionTimeLeft
privateinherited

◆ theNumberOfInteractionLengthLeft

G4double* G4VITProcess::theNumberOfInteractionLengthLeft
privateinherited

Definition at line 253 of file G4VITProcess.hh.

Referenced by G4VITProcess::G4VITProcess(), and G4VITProcess::StartTracking().

◆ thePhysicsTableFileName

G4String G4VProcess::thePhysicsTableFileName
protectedinherited

Definition at line 344 of file G4VProcess.hh.

Referenced by G4VProcess::GetPhysicsTableFileName().

◆ thePILfactor

G4double G4VProcess::thePILfactor = 1.0
protectedinherited

◆ theProcessName

G4String G4VProcess::theProcessName
protectedinherited

◆ theProcessSubType

G4int G4VProcess::theProcessSubType = -1
protectedinherited

◆ theProcessType

G4ProcessType G4VProcess::theProcessType = fNotDefined
protectedinherited

◆ verboseLevel

G4int G4VProcess::verboseLevel = 0
protectedinherited

Definition at line 356 of file G4VProcess.hh.

Referenced by G4VEnergyLossProcess::ActivateForcedInteraction(), G4VEmProcess::ActivateForcedInteraction(), G4VEmProcess::ActivateSecondaryBiasing(), G4VEnergyLossProcess::ActivateSecondaryBiasing(), G4LowECapture::AddRegion(), G4CoupledTransportation::AlongStepDoIt(), G4Transportation::AlongStepDoIt(), G4VContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldProcess::AlongStepGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4VRestContinuousProcess::AlongStepGetPhysicalInteractionLength(), G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), G4Transportation::AlongStepGetPhysicalInteractionLength(), G4VContinuousProcess::AlongStepGetPhysicalInteractionLength(), G4hImpactIonisation::AntiProtonParametrisedDEDX(), G4ParallelWorldScoringProcess::AtRestDoIt(), G4VRestContinuousDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VRestContinuousProcess::AtRestGetPhysicalInteractionLength(), G4VRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VITRestProcess::AtRestGetPhysicalInteractionLength(), G4VRestProcess::AtRestGetPhysicalInteractionLength(), G4VXTRenergyLoss::BuildAngleForEnergyBank(), G4VXTRenergyLoss::BuildAngleTable(), G4VEnergyLossProcess::BuildDEDXTable(), G4VXTRenergyLoss::BuildEnergyTable(), G4VXTRenergyLoss::BuildGlobalAngleTable(), G4VEmProcess::BuildLambdaTable(), G4hImpactIonisation::BuildLambdaTable(), G4VEnergyLossProcess::BuildLambdaTable(), G4hImpactIonisation::BuildLossTable(), BuildPhysicsTable(), G4GammaGeneralProcess::BuildPhysicsTable(), G4LowECapture::BuildPhysicsTable(), G4VEmProcess::BuildPhysicsTable(), G4VEnergyLossProcess::BuildPhysicsTable(), G4VMultipleScattering::BuildPhysicsTable(), G4SynchrotronRadiation::BuildPhysicsTable(), G4VXTRenergyLoss::BuildPhysicsTable(), G4hImpactIonisation::BuildPhysicsTable(), G4ChargeExchangeProcess::BuildPhysicsTable(), G4OpRayleigh::CalculateRayleighMeanFreePaths(), G4PolarizedAnnihilation::ComputeSaturationFactor(), G4PolarizedCompton::ComputeSaturationFactor(), G4PolarizedIonisation::ComputeSaturationFactor(), G4DNAElectronHoleRecombination::Create(), G4DNASecondOrderReaction::Create(), G4VPhononProcess::CreateSecondary(), G4VProcess::EndTracking(), G4VEmProcess::FindLambdaMax(), G4Cerenkov::G4Cerenkov(), G4ChargeExchangeProcess::G4ChargeExchangeProcess(), G4CoupledTransportation::G4CoupledTransportation(), G4DNAMolecularDissociation::G4DNAMolecularDissociation(), G4DNAScavengerProcess::G4DNAScavengerProcess(), G4ErrorEnergyLoss::G4ErrorEnergyLoss(), G4FastSimulationManagerProcess::G4FastSimulationManagerProcess(), G4GaussXTRadiator::G4GaussXTRadiator(), G4ImportanceProcess::G4ImportanceProcess(), G4MaxTimeCuts::G4MaxTimeCuts(), G4MicroElecSurface::G4MicroElecSurface(), G4MinEkineCuts::G4MinEkineCuts(), G4OpAbsorption::G4OpAbsorption(), G4OpBoundaryProcess::G4OpBoundaryProcess(), G4OpMieHG::G4OpMieHG(), G4OpRayleigh::G4OpRayleigh(), G4OpWLS::G4OpWLS(), G4OpWLS2::G4OpWLS2(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldScoringProcess::G4ParallelWorldScoringProcess(), G4PolarizedIonisation::G4PolarizedIonisation(), G4Scintillation::G4Scintillation(), G4ScoreSplittingProcess::G4ScoreSplittingProcess(), G4SpecialCuts::G4SpecialCuts(), G4StepLimiter::G4StepLimiter(), G4StrawTubeXTRadiator::G4StrawTubeXTRadiator(), G4SynchrotronRadiation::G4SynchrotronRadiation(), G4TransparentRegXTRadiator::G4TransparentRegXTRadiator(), G4Transportation::G4Transportation(), G4UCNAbsorption::G4UCNAbsorption(), G4UCNBoundaryProcess::G4UCNBoundaryProcess(), G4UCNLoss::G4UCNLoss(), G4UCNMultiScattering::G4UCNMultiScattering(), G4UserSpecialCuts::G4UserSpecialCuts(), G4VXTRenergyLoss::G4VXTRenergyLoss(), G4WeightCutOffProcess::G4WeightCutOffProcess(), G4WeightWindowProcess::G4WeightWindowProcess(), G4VXTRenergyLoss::GetAngleVector(), G4ChargeExchangeProcess::GetElementCrossSection(), G4VXTRenergyLoss::GetGasZmuProduct(), G4PhononDownconversion::GetMeanFreePath(), G4PhononScattering::GetMeanFreePath(), G4PolarizedCompton::GetMeanFreePath(), G4VXTRenergyLoss::GetMeanFreePath(), G4UCNAbsorption::GetMeanFreePath(), G4PolarizedAnnihilation::GetMeanFreePath(), G4PolarizedIonisation::GetMeanFreePath(), G4SynchrotronRadiation::GetMeanFreePath(), G4VXTRenergyLoss::GetNumberOfPhotons(), G4VXTRenergyLoss::GetPlateZmuProduct(), G4SynchrotronRadiation::GetRandomEnergySR(), G4VProcess::GetVerboseLevel(), G4hhIonisation::InitialiseEnergyLossProcess(), G4eeToHadrons::InitialiseProcess(), G4hImpactIonisation::InitializeMe(), G4UCNBoundaryProcess::MRreflect(), G4UCNBoundaryProcess::MRreflectHigh(), G4DNASecondOrderReaction::PostStepDoIt(), G4ParallelWorldScoringProcess::PostStepDoIt(), G4ScoreSplittingProcess::PostStepDoIt(), G4DNAScavengerProcess::PostStepDoIt(), G4VEmProcess::PostStepDoIt(), G4NeutrinoElectronProcess::PostStepDoIt(), G4UCNAbsorption::PostStepDoIt(), G4UCNBoundaryProcess::PostStepDoIt(), G4UCNLoss::PostStepDoIt(), G4UCNMultiScattering::PostStepDoIt(), G4MicroElecSurface::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4ElNeutrinoNucleusProcess::PostStepDoIt(), G4HadronElasticProcess::PostStepDoIt(), G4MuNeutrinoNucleusProcess::PostStepDoIt(), G4OpAbsorption::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4OpMieHG::PostStepDoIt(), G4OpRayleigh::PostStepDoIt(), G4OpWLS::PostStepDoIt(), G4OpWLS2::PostStepDoIt(), G4CoupledTransportation::PostStepDoIt(), G4VITDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), G4VContinuousDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4DNAScavengerProcess::PostStepGetPhysicalInteractionLength(), G4PolarizedAnnihilation::PostStepGetPhysicalInteractionLength(), G4PolarizedCompton::PostStepGetPhysicalInteractionLength(), G4PolarizedIonisation::PostStepGetPhysicalInteractionLength(), G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(), G4GammaGeneralProcess::PreparePhysicsTable(), G4VEmProcess::PreparePhysicsTable(), G4VEnergyLossProcess::PreparePhysicsTable(), G4VMultipleScattering::PreparePhysicsTable(), G4hImpactIonisation::ProtonParametrisedDEDX(), G4UCNBoundaryProcess::Reflect(), G4CoupledTransportation::ReportInexactEnergy(), G4CoupledTransportation::ReportMissingLogger(), G4GammaGeneralProcess::RetrievePhysicsTable(), G4VEmProcess::RetrievePhysicsTable(), G4VEnergyLossProcess::RetrievePhysicsTable(), G4VEnergyLossProcess::RetrieveTable(), G4VEmProcess::SetCrossSectionBiasingFactor(), G4VEnergyLossProcess::SetCrossSectionBiasingFactor(), G4VEnergyLossProcess::SetCSDARangeTable(), G4CoupledTransportation::SetHighLooperThresholds(), G4Transportation::SetHighLooperThresholds(), G4VEnergyLossProcess::SetInverseRangeTable(), G4LowECapture::SetKinEnergyLimit(), G4NeutronKiller::SetKinEnergyLimit(), G4VEnergyLossProcess::SetLambdaTable(), G4CoupledTransportation::SetLowLooperThresholds(), G4Transportation::SetLowLooperThresholds(), G4VEnergyLossProcess::SetRangeTableForLoss(), G4VEnergyLossProcess::SetSecondaryRangeTable(), G4NeutronKiller::SetTimeLimit(), G4VProcess::SetVerboseLevel(), G4Cerenkov::SetVerboseLevel(), G4Scintillation::SetVerboseLevel(), G4OpAbsorption::SetVerboseLevel(), G4OpBoundaryProcess::SetVerboseLevel(), G4OpMieHG::SetVerboseLevel(), G4OpRayleigh::SetVerboseLevel(), G4OpWLS::SetVerboseLevel(), G4OpWLS2::SetVerboseLevel(), G4FastSimulationManagerProcess::SetWorldVolume(), G4GaussXTRadiator::SpectralXTRdEdx(), G4RegularXTRadiator::SpectralXTRdEdx(), G4TransparentRegXTRadiator::SpectralXTRdEdx(), G4XTRRegularRadModel::SpectralXTRdEdx(), G4VProcess::StartTracking(), G4CoupledTransportation::StartTracking(), G4VEmProcess::StorePhysicsTable(), G4VMultipleScattering::StorePhysicsTable(), G4VEnergyLossProcess::StoreTable(), G4VEnergyLossProcess::StreamInfo(), G4VEmProcess::StreamInfo(), G4VMultipleScattering::StreamInfo(), G4VITProcess::SubtractNumberOfInteractionLengthLeft(), and G4VProcess::SubtractNumberOfInteractionLengthLeft().


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