Geant4-11
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes
G4ParticleChangeForGamma Class Reference

#include <G4ParticleChangeForGamma.hh>

Inheritance diagram for G4ParticleChangeForGamma:
G4VParticleChange

Public Member Functions

void AddSecondary (G4DynamicParticle *aParticle)
 
void AddSecondary (G4Track *aSecondary)
 
virtual G4bool CheckIt (const G4Track &)
 
void Clear ()
 
void ClearDebugFlag ()
 
virtual void DumpInfo () const
 
 G4ParticleChangeForGamma ()
 
const G4TrackGetCurrentTrack () const
 
G4bool GetDebugFlag () const
 
G4bool GetFirstStepInVolume () const
 
G4bool GetLastStepInVolume () const
 
G4double GetLocalEnergyDeposit () const
 
G4double GetNonIonizingEnergyDeposit () const
 
G4int GetNumberOfSecondaries () const
 
G4double GetParentWeight () const
 
G4double GetProposedKineticEnergy () const
 
const G4ThreeVectorGetProposedMomentumDirection () const
 
const G4ThreeVectorGetProposedPolarization () const
 
G4TrackGetSecondary (G4int anIndex) const
 
G4SteppingControl GetSteppingControl () const
 
G4TrackStatus GetTrackStatus () const
 
G4double GetTrueStepLength () const
 
G4int GetVerboseLevel () const
 
G4double GetWeight () const
 
virtual void Initialize (const G4Track &)
 
void InitializeForPostStep (const G4Track &)
 
G4bool IsParentWeightSetByProcess () const
 
G4bool IsSecondaryWeightSetByProcess () const
 
G4bool operator!= (const G4VParticleChange &right) const
 
G4bool operator== (const G4VParticleChange &right) const
 
void ProposeFirstStepInVolume (G4bool flag)
 
void ProposeLastStepInVolume (G4bool flag)
 
void ProposeLocalEnergyDeposit (G4double anEnergyPart)
 
void ProposeMomentumDirection (const G4ThreeVector &Pfinal)
 
void ProposeMomentumDirection (G4double Px, G4double Py, G4double Pz)
 
void ProposeNonIonizingEnergyDeposit (G4double anEnergyPart)
 
void ProposeParentWeight (G4double finalWeight)
 
void ProposePolarization (const G4ThreeVector &dir)
 
void ProposePolarization (G4double Px, G4double Py, G4double Pz)
 
void ProposeSteppingControl (G4SteppingControl StepControlFlag)
 
void ProposeTrackStatus (G4TrackStatus status)
 
void ProposeTrueStepLength (G4double truePathLength)
 
void ProposeWeight (G4double finalWeight)
 
void SetDebugFlag ()
 
void SetNumberOfSecondaries (G4int totSecondaries)
 
void SetParentWeightByProcess (G4bool)
 
void SetProposedKineticEnergy (G4double proposedKinEnergy)
 
void SetSecondaryWeightByProcess (G4bool)
 
void SetVerboseLevel (G4int vLevel)
 
virtual G4StepUpdateStepForAlongStep (G4Step *Step)
 
G4StepUpdateStepForAtRest (G4Step *pStep)
 
G4StepUpdateStepForPostStep (G4Step *Step)
 
virtual ~G4ParticleChangeForGamma ()
 

Protected Member Functions

G4bool CheckSecondary (G4Track &)
 
 G4ParticleChangeForGamma (const G4ParticleChangeForGamma &right)
 
G4double GetAccuracyForException () const
 
G4double GetAccuracyForWarning () const
 
void InitializeLocalEnergyDeposit (const G4Track &)
 
void InitializeParentGlobalTime (const G4Track &)
 
void InitializeParentWeight (const G4Track &)
 
void InitializeSecondaries (const G4Track &)
 
void InitializeStatusChange (const G4Track &)
 
void InitializeStepInVolumeFlags (const G4Track &)
 
void InitializeSteppingControl (const G4Track &)
 
void InitializeTrueStepLength (const G4Track &)
 
G4ParticleChangeForGammaoperator= (const G4ParticleChangeForGamma &right)
 
G4StepUpdateStepInfo (G4Step *Step)
 

Protected Attributes

G4bool debugFlag = false
 
G4bool fSetSecondaryWeightByProcess = false
 
G4bool isParentWeightProposed = false
 
G4bool theFirstStepInVolume = false
 
G4bool theLastStepInVolume = false
 
G4TrackFastVectortheListOfSecondaries = nullptr
 
G4double theLocalEnergyDeposit = 0.0
 
G4double theNonIonizingEnergyDeposit = 0.0
 
G4int theNumberOfSecondaries = 0
 
G4double theParentGlobalTime = 0.0
 
G4double theParentWeight = 1.0
 
G4int theSizeOftheListOfSecondaries = 0
 
G4TrackStatus theStatusChange = fAlive
 
G4SteppingControl theSteppingControlFlag = NormalCondition
 
G4double theTrueStepLength = 0.0
 
G4int verboseLevel = 1
 

Static Protected Attributes

static const G4double accuracyForException = 0.001
 
static const G4double accuracyForWarning = 1.0e-9
 

Private Attributes

const G4TrackcurrentTrack = nullptr
 
G4double proposedKinEnergy = 0.0
 
G4ThreeVector proposedMomentumDirection
 
G4ThreeVector proposedPolarization
 

Detailed Description

Definition at line 44 of file G4ParticleChangeForGamma.hh.

Constructor & Destructor Documentation

◆ G4ParticleChangeForGamma() [1/2]

G4ParticleChangeForGamma::G4ParticleChangeForGamma ( )

Definition at line 40 of file G4ParticleChangeForGamma.cc.

42{
44 // Disable flag that is enabled in G4VParticleChange if G4VERBOSE.
45 debugFlag = false;
46}
@ NormalCondition
G4SteppingControl theSteppingControlFlag

References G4VParticleChange::debugFlag, NormalCondition, and G4VParticleChange::theSteppingControlFlag.

◆ ~G4ParticleChangeForGamma()

G4ParticleChangeForGamma::~G4ParticleChangeForGamma ( )
virtual

Definition at line 49 of file G4ParticleChangeForGamma.cc.

50{
51}

◆ G4ParticleChangeForGamma() [2/2]

G4ParticleChangeForGamma::G4ParticleChangeForGamma ( const G4ParticleChangeForGamma right)
protected

Member Function Documentation

◆ AddSecondary() [1/2]

void G4ParticleChangeForGamma::AddSecondary ( G4DynamicParticle aParticle)

Definition at line 101 of file G4ParticleChangeForGamma.cc.

102{
103 // create track
104 G4Track* aTrack = new G4Track(aParticle, currentTrack->GetGlobalTime(),
106
107 // touchable handle is copied to keep the pointer
109
110 // add a secondary
112}
const G4ThreeVector & GetPosition() const
void SetTouchableHandle(const G4TouchableHandle &apValue)
G4double GetGlobalTime() const
const G4TouchableHandle & GetTouchableHandle() const
void AddSecondary(G4Track *aSecondary)

References G4VParticleChange::AddSecondary(), currentTrack, G4Track::GetGlobalTime(), G4Track::GetPosition(), G4Track::GetTouchableHandle(), and G4Track::SetTouchableHandle().

◆ AddSecondary() [2/2]

void G4VParticleChange::AddSecondary ( G4Track aSecondary)
inherited

Definition at line 146 of file G4VParticleChange.cc.

147{
148 if(debugFlag)
149 CheckSecondary(*aTrack);
150
151 // add a secondary after size check
153 {
154 // set weight of secondary tracks
156 aTrack->SetWeight(theParentWeight);
159 }
160 else
161 {
162 delete aTrack;
163
164 G4Exception("G4VParticleChange::AddSecondary()", "TRACK101", JustWarning,
165 "Secondary buffer is full. The track is deleted!");
166 }
167}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
void SetElement(G4int anIndex, Type *anElement)
Definition: G4FastVector.hh:72
G4TrackFastVector * theListOfSecondaries
G4bool CheckSecondary(G4Track &)

References G4VParticleChange::CheckSecondary(), G4VParticleChange::debugFlag, G4VParticleChange::fSetSecondaryWeightByProcess, G4Exception(), JustWarning, G4FastVector< Type, N >::SetElement(), G4Track::SetWeight(), G4VParticleChange::theListOfSecondaries, G4VParticleChange::theNumberOfSecondaries, G4VParticleChange::theParentWeight, and G4VParticleChange::theSizeOftheListOfSecondaries.

Referenced by AddSecondary(), G4ParticleChange::AddSecondary(), G4eplusAnnihilation::AtRestDoIt(), G4FastStep::CreateSecondaryTrack(), G4Decay::DecayIt(), G4UnknownDecay::DecayIt(), G4VEnergyLossProcess::FillSecondariesAlongStep(), G4VEmProcess::PostStepDoIt(), G4VEnergyLossProcess::PostStepDoIt(), and G4ParticleChangeForOccurenceBiasing::StealSecondaries().

◆ CheckIt()

G4bool G4ParticleChangeForGamma::CheckIt ( const G4Track aTrack)
virtual

Reimplemented from G4VParticleChange.

Definition at line 174 of file G4ParticleChangeForGamma.cc.

175{
176 G4bool itsOK = true;
177 G4bool exitWithError = false;
178
179 G4double accuracy;
180
181 // Energy should not be lager than initial value
182 accuracy = (proposedKinEnergy - aTrack.GetKineticEnergy()) / MeV;
183 if(accuracy > accuracyForWarning)
184 {
185 itsOK = false;
186 exitWithError = (accuracy > accuracyForException);
187#ifdef G4VERBOSE
188 G4cout << "G4ParticleChangeForGamma::CheckIt: ";
189 G4cout << "KinEnergy become larger than the initial value!"
190 << " Difference: " << accuracy << "[MeV] " << G4endl;
192 << " E=" << aTrack.GetKineticEnergy() / MeV
193 << " pos=" << aTrack.GetPosition().x() / m << ", "
194 << aTrack.GetPosition().y() / m << ", "
195 << aTrack.GetPosition().z() / m << G4endl;
196#endif
197 }
198
199 // dump out information of this particle change
200#ifdef G4VERBOSE
201 if(!itsOK) { DumpInfo(); }
202#endif
203
204 // Exit with error
205 if(exitWithError)
206 {
207 G4Exception("G4ParticleChangeForGamma::CheckIt()", "TRACK004",
208 EventMustBeAborted, "energy was illegal");
209 }
210
211 // correction
212 if(!itsOK)
213 {
215 }
216
217 itsOK = (itsOK) && G4VParticleChange::CheckIt(aTrack);
218 return itsOK;
219}
@ EventMustBeAborted
static constexpr double m
Definition: G4SIunits.hh:109
static constexpr double MeV
Definition: G4SIunits.hh:200
double G4double
Definition: G4Types.hh:83
bool G4bool
Definition: G4Types.hh:86
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
double z() const
double x() const
double y() const
const G4String & GetParticleName() const
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
virtual G4bool CheckIt(const G4Track &)
static const G4double accuracyForException
static const G4double accuracyForWarning

References G4VParticleChange::accuracyForException, G4VParticleChange::accuracyForWarning, G4VParticleChange::CheckIt(), DumpInfo(), EventMustBeAborted, G4cout, G4endl, G4Exception(), G4Track::GetDefinition(), G4Track::GetKineticEnergy(), G4ParticleDefinition::GetParticleName(), G4Track::GetPosition(), m, MeV, proposedKinEnergy, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

◆ CheckSecondary()

G4bool G4VParticleChange::CheckSecondary ( G4Track aTrack)
protectedinherited

Definition at line 385 of file G4VParticleChange.cc.

386{
387 G4bool exitWithError = false;
388 G4double accuracy;
389 static G4ThreadLocal G4int nError = 0;
390#ifdef G4VERBOSE
391 const G4int maxError = 30;
392#endif
393
394 // MomentumDirection should be unit vector
395 G4bool itsOKforMomentum = true;
396 if(aTrack.GetKineticEnergy() > 0.)
397 {
398 accuracy = std::fabs((aTrack.GetMomentumDirection()).mag2() - 1.0);
399 if(accuracy > accuracyForWarning)
400 {
401 itsOKforMomentum = false;
402 nError += 1;
403 exitWithError = exitWithError || (accuracy > accuracyForException);
404#ifdef G4VERBOSE
405 if(nError < maxError)
406 {
407 G4cout << " G4VParticleChange::CheckSecondary : ";
408 G4cout << "the Momentum direction is not unit vector !! "
409 << " Difference: " << accuracy << G4endl;
411 << " E=" << aTrack.GetKineticEnergy() / MeV
412 << " pos=" << aTrack.GetPosition().x() / m << ", "
413 << aTrack.GetPosition().y() / m << ", "
414 << aTrack.GetPosition().z() / m << G4endl;
415 }
416#endif
417 }
418 }
419
420 // Kinetic Energy should not be negative
421 G4bool itsOKforEnergy = true;
422 accuracy = -1.0 * (aTrack.GetKineticEnergy()) / MeV;
423 if(accuracy > accuracyForWarning)
424 {
425 itsOKforEnergy = false;
426 nError += 1;
427 exitWithError = exitWithError || (accuracy > accuracyForException);
428#ifdef G4VERBOSE
429 if(nError < maxError)
430 {
431 G4cout << " G4VParticleChange::CheckSecondary : ";
432 G4cout << "the kinetic energy is negative !!"
433 << " Difference: " << accuracy << "[MeV] " << G4endl;
434 G4cout << " G4VParticleChange::CheckSecondary : ";
435 G4cout << "the global time of secondary is earlier than the parent !!"
436 << " Difference: " << accuracy << "[ns] " << G4endl;
438 << " E=" << aTrack.GetKineticEnergy() / MeV
439 << " pos=" << aTrack.GetPosition().x() / m << ", "
440 << aTrack.GetPosition().y() / m << ", "
441 << aTrack.GetPosition().z() / m << G4endl;
442 }
443#endif
444 }
445 // Check timing of secondaries
446 G4bool itsOKforTiming = true;
447
448 accuracy = (theParentGlobalTime - aTrack.GetGlobalTime()) / ns;
449 if(accuracy > accuracyForWarning)
450 {
451 itsOKforTiming = false;
452 nError += 1;
453 exitWithError = (accuracy > accuracyForException);
454#ifdef G4VERBOSE
455 if(nError < maxError)
456 {
457 G4cout << " G4VParticleChange::CheckSecondary : ";
458 G4cout
459 << "the global time of secondary goes back comapared to the parent !!"
460 << " Difference: " << accuracy << "[ns] " << G4endl;
462 << " E=" << aTrack.GetKineticEnergy() / MeV
463 << " pos=" << aTrack.GetPosition().x() / m << ", "
464 << aTrack.GetPosition().y() / m << ", "
465 << aTrack.GetPosition().z() / m
466 << " time=" << aTrack.GetGlobalTime() / ns
467 << " parent time=" << theParentGlobalTime / ns << G4endl;
468 }
469#endif
470 }
471
472 // Exit with error
473 if(exitWithError)
474 {
475 G4Exception("G4VParticleChange::CheckSecondary()", "TRACK001",
476 EventMustBeAborted, "Secondary with illegal energy/momentum ");
477 }
478
479 G4bool itsOK = itsOKforMomentum && itsOKforEnergy && itsOKforTiming;
480
481 // correction
482 if(!itsOKforMomentum)
483 {
484 G4double vmag = (aTrack.GetMomentumDirection()).mag();
485 aTrack.SetMomentumDirection((1. / vmag) * aTrack.GetMomentumDirection());
486 }
487 if(!itsOKforEnergy)
488 {
489 aTrack.SetKineticEnergy(0.0);
490 }
491
492 if(!itsOK)
493 {
494 this->DumpInfo();
495 }
496
497 return itsOK;
498}
int G4int
Definition: G4Types.hh:85
const G4ThreeVector & GetMomentumDirection() const
void SetKineticEnergy(const G4double aValue)
void SetMomentumDirection(const G4ThreeVector &aValue)
virtual void DumpInfo() const
#define G4ThreadLocal
Definition: tls.hh:77
#define ns
Definition: xmlparse.cc:614

References G4VParticleChange::accuracyForException, G4VParticleChange::accuracyForWarning, G4VParticleChange::DumpInfo(), EventMustBeAborted, G4cout, G4endl, G4Exception(), G4ThreadLocal, G4Track::GetDefinition(), G4Track::GetGlobalTime(), G4Track::GetKineticEnergy(), G4Track::GetMomentumDirection(), G4ParticleDefinition::GetParticleName(), G4Track::GetPosition(), m, MeV, ns, G4Track::SetKineticEnergy(), G4Track::SetMomentumDirection(), G4VParticleChange::theParentGlobalTime, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by G4VParticleChange::AddSecondary().

◆ Clear()

void G4VParticleChange::Clear ( )
inherited

◆ ClearDebugFlag()

void G4VParticleChange::ClearDebugFlag ( )
inherited

◆ DumpInfo()

void G4ParticleChangeForGamma::DumpInfo ( ) const
virtual

Reimplemented from G4VParticleChange.

Definition at line 158 of file G4ParticleChangeForGamma.cc.

159{
160 // use base-class DumpInfo
162
163 G4int oldprc = G4cout.precision(3);
164 G4cout << " Kinetic Energy (MeV): " << std::setw(20)
166 G4cout << " Momentum Direction: " << std::setw(20)
168 G4cout << " Polarization: " << std::setw(20) << proposedPolarization
169 << G4endl;
170 G4cout.precision(oldprc);
171}

References G4VParticleChange::DumpInfo(), G4cout, G4endl, MeV, proposedKinEnergy, proposedMomentumDirection, and proposedPolarization.

Referenced by CheckIt().

◆ GetAccuracyForException()

G4double G4VParticleChange::GetAccuracyForException ( ) const
protectedinherited

Definition at line 507 of file G4VParticleChange.cc.

508{
510}

References G4VParticleChange::accuracyForException.

Referenced by G4FastStep::CheckIt().

◆ GetAccuracyForWarning()

G4double G4VParticleChange::GetAccuracyForWarning ( ) const
protectedinherited

Definition at line 501 of file G4VParticleChange.cc.

502{
503 return accuracyForWarning;
504}

References G4VParticleChange::accuracyForWarning.

Referenced by G4FastStep::CheckIt().

◆ GetCurrentTrack()

const G4Track * G4ParticleChangeForGamma::GetCurrentTrack ( ) const
inline

◆ GetDebugFlag()

G4bool G4VParticleChange::GetDebugFlag ( ) const
inherited

◆ GetFirstStepInVolume()

G4bool G4VParticleChange::GetFirstStepInVolume ( ) const
inherited

◆ GetLastStepInVolume()

G4bool G4VParticleChange::GetLastStepInVolume ( ) const
inherited

◆ GetLocalEnergyDeposit()

G4double G4VParticleChange::GetLocalEnergyDeposit ( ) const
inherited

◆ GetNonIonizingEnergyDeposit()

G4double G4VParticleChange::GetNonIonizingEnergyDeposit ( ) const
inherited

◆ GetNumberOfSecondaries()

G4int G4VParticleChange::GetNumberOfSecondaries ( ) const
inherited

◆ GetParentWeight()

G4double G4VParticleChange::GetParentWeight ( ) const
inherited

◆ GetProposedKineticEnergy()

G4double G4ParticleChangeForGamma::GetProposedKineticEnergy ( ) const
inline

◆ GetProposedMomentumDirection()

const G4ThreeVector & G4ParticleChangeForGamma::GetProposedMomentumDirection ( ) const
inline

◆ GetProposedPolarization()

const G4ThreeVector & G4ParticleChangeForGamma::GetProposedPolarization ( ) const
inline

Definition at line 155 of file G4ParticleChangeForGamma.hh.

156{
158}

References proposedPolarization.

◆ GetSecondary()

G4Track * G4VParticleChange::GetSecondary ( G4int  anIndex) const
inherited

◆ GetSteppingControl()

G4SteppingControl G4VParticleChange::GetSteppingControl ( ) const
inherited

◆ GetTrackStatus()

G4TrackStatus G4VParticleChange::GetTrackStatus ( ) const
inherited

◆ GetTrueStepLength()

G4double G4VParticleChange::GetTrueStepLength ( ) const
inherited

◆ GetVerboseLevel()

G4int G4VParticleChange::GetVerboseLevel ( ) const
inherited

◆ GetWeight()

G4double G4VParticleChange::GetWeight ( ) const
inherited

◆ Initialize()

virtual void G4VParticleChange::Initialize ( const G4Track )
virtualinherited

◆ InitializeForPostStep()

void G4ParticleChangeForGamma::InitializeForPostStep ( const G4Track track)
inline

Definition at line 177 of file G4ParticleChangeForGamma.hh.

178{
183 theParentWeight = track.GetWeight();
188 currentTrack = &track;
189}
G4TrackStatus GetTrackStatus() const
G4double GetWeight() const
const G4ThreeVector & GetPolarization() const
G4TrackStatus theStatusChange
G4double theNonIonizingEnergyDeposit
void InitializeSecondaries(const G4Track &)

References currentTrack, G4Track::GetKineticEnergy(), G4Track::GetMomentumDirection(), G4Track::GetPolarization(), G4Track::GetTrackStatus(), G4Track::GetWeight(), G4VParticleChange::InitializeSecondaries(), G4VParticleChange::isParentWeightProposed, proposedKinEnergy, proposedMomentumDirection, proposedPolarization, G4VParticleChange::theLocalEnergyDeposit, G4VParticleChange::theNonIonizingEnergyDeposit, G4VParticleChange::theParentWeight, and G4VParticleChange::theStatusChange.

Referenced by G4eplusAnnihilation::AtRestDoIt(), G4GammaGeneralProcess::PostStepDoIt(), and G4VEmProcess::PostStepDoIt().

◆ InitializeLocalEnergyDeposit()

void G4VParticleChange::InitializeLocalEnergyDeposit ( const G4Track )
protectedinherited

◆ InitializeParentGlobalTime()

void G4VParticleChange::InitializeParentGlobalTime ( const G4Track )
protectedinherited

◆ InitializeParentWeight()

void G4VParticleChange::InitializeParentWeight ( const G4Track )
protectedinherited

◆ InitializeSecondaries()

void G4VParticleChange::InitializeSecondaries ( const G4Track )
protectedinherited

◆ InitializeStatusChange()

void G4VParticleChange::InitializeStatusChange ( const G4Track )
protectedinherited

◆ InitializeStepInVolumeFlags()

void G4VParticleChange::InitializeStepInVolumeFlags ( const G4Track )
protectedinherited

◆ InitializeSteppingControl()

void G4VParticleChange::InitializeSteppingControl ( const G4Track )
protectedinherited

◆ InitializeTrueStepLength()

void G4VParticleChange::InitializeTrueStepLength ( const G4Track )
protectedinherited

◆ IsParentWeightSetByProcess()

G4bool G4VParticleChange::IsParentWeightSetByProcess ( ) const
inherited

Definition at line 516 of file G4VParticleChange.cc.

516{ return true; }

◆ IsSecondaryWeightSetByProcess()

G4bool G4VParticleChange::IsSecondaryWeightSetByProcess ( ) const
inherited

◆ operator!=()

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

Definition at line 140 of file G4VParticleChange.cc.

141{
142 return (this != (G4VParticleChange*) &right);
143}

◆ operator=()

G4ParticleChangeForGamma & G4ParticleChangeForGamma::operator= ( const G4ParticleChangeForGamma right)
protected

Definition at line 66 of file G4ParticleChangeForGamma.cc.

67{
68 if(this != &right)
69 {
71 {
72 for(G4int index = 0; index < theNumberOfSecondaries; ++index)
73 {
74 if((*theListOfSecondaries)[index])
75 delete(*theListOfSecondaries)[index];
76 }
77 }
81 for(G4int index = 0; index < theNumberOfSecondaries; ++index)
82 {
83 G4Track* newTrack = new G4Track(*((*right.theListOfSecondaries)[index]));
84 theListOfSecondaries->SetElement(index, newTrack);
85 }
86
91
96 }
97 return *this;
98}
G4FastVector< G4Track, G4TrackFastVectorSize > G4TrackFastVector

References currentTrack, proposedKinEnergy, proposedMomentumDirection, proposedPolarization, G4FastVector< Type, N >::SetElement(), G4VParticleChange::theListOfSecondaries, G4VParticleChange::theLocalEnergyDeposit, G4VParticleChange::theNumberOfSecondaries, G4VParticleChange::theParentWeight, G4VParticleChange::theStatusChange, and G4VParticleChange::theSteppingControlFlag.

◆ operator==()

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

Definition at line 134 of file G4VParticleChange.cc.

135{
136 return (this == (G4VParticleChange*) &right);
137}

◆ ProposeFirstStepInVolume()

void G4VParticleChange::ProposeFirstStepInVolume ( G4bool  flag)
inherited

◆ ProposeLastStepInVolume()

void G4VParticleChange::ProposeLastStepInVolume ( G4bool  flag)
inherited

◆ ProposeLocalEnergyDeposit()

void G4VParticleChange::ProposeLocalEnergyDeposit ( G4double  anEnergyPart)
inherited

Referenced by G4VEnergyLossProcess::AlongStepDoIt(), G4ErrorEnergyLoss::AlongStepDoIt(), G4NuclearStopping::AlongStepDoIt(), G4hImpactIonisation::AlongStepDoIt(), G4HadronStoppingProcess::AtRestDoIt(), G4MuonMinusAtomicCapture::AtRestDoIt(), G4eplusAnnihilation::AtRestDoIt(), G4RadioactiveDecay::DecayAnalog(), G4DNAMolecularDissociation::DecayIt(), G4Decay::DecayIt(), G4UnknownDecay::DecayIt(), G4Radioactivation::DecayIt(), G4RadioactiveDecay::DecayIt(), G4MuonicAtomDecay::DecayIt(), G4OpBoundaryProcess::DoAbsorption(), G4HadronicProcess::FillResult(), G4MuonicAtomDecay::FillResult(), G4SpecialCuts::PostStepDoIt(), G4UserSpecialCuts::PostStepDoIt(), G4LowECapture::PostStepDoIt(), G4VEmProcess::PostStepDoIt(), G4VEnergyLossProcess::PostStepDoIt(), G4NeutrinoElectronProcess::PostStepDoIt(), G4UCNBoundaryProcess::PostStepDoIt(), G4ElNeutrinoNucleusProcess::PostStepDoIt(), G4HadronElasticProcess::PostStepDoIt(), G4MuNeutrinoNucleusProcess::PostStepDoIt(), G4OpAbsorption::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4hImpactIonisation::PostStepDoIt(), G4SynchrotronRadiationInMat::PostStepDoIt(), G4DNABornExcitationModel1::SampleSecondaries(), G4DNABornExcitationModel2::SampleSecondaries(), G4DNABornIonisationModel1::SampleSecondaries(), G4DNABornIonisationModel2::SampleSecondaries(), G4DNACPA100ElasticModel::SampleSecondaries(), G4DNACPA100ExcitationModel::SampleSecondaries(), G4DNACPA100IonisationModel::SampleSecondaries(), G4DNADingfelderChargeDecreaseModel::SampleSecondaries(), G4DNADingfelderChargeIncreaseModel::SampleSecondaries(), G4DNADiracRMatrixExcitationModel::SampleSecondaries(), G4DNAELSEPAElasticModel::SampleSecondaries(), G4DNAEmfietzoglouExcitationModel::SampleSecondaries(), G4DNAEmfietzoglouIonisationModel::SampleSecondaries(), G4DNAIonElasticModel::SampleSecondaries(), G4DNAMeltonAttachmentModel::SampleSecondaries(), G4DNAMillerGreenExcitationModel::SampleSecondaries(), G4DNAQuinnPlasmonExcitationModel::SampleSecondaries(), G4DNARelativisticIonisationModel::SampleSecondaries(), G4DNARuddIonisationExtendedModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4DNASancheExcitationModel::SampleSecondaries(), G4DNATransformElectronModel::SampleSecondaries(), G4BoldyshevTripletModel::SampleSecondaries(), G4eSingleCoulombScatteringModel::SampleSecondaries(), G4IonCoulombScatteringModel::SampleSecondaries(), G4PAIPhotModel::SampleSecondaries(), G4JAEAElasticScatteringModel::SampleSecondaries(), G4JAEAPolarizedElasticScatteringModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4LivermoreIonisationModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LowEPPolarizedComptonModel::SampleSecondaries(), G4MicroElecElasticModel::SampleSecondaries(), G4MicroElecElasticModel_new::SampleSecondaries(), G4MicroElecInelasticModel::SampleSecondaries(), G4MicroElecInelasticModel_new::SampleSecondaries(), G4PenelopeBremsstrahlungModel::SampleSecondaries(), G4PenelopeComptonModel::SampleSecondaries(), G4PenelopeGammaConversionModel::SampleSecondaries(), G4PenelopeIonisationModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4PenelopeRayleighModel::SampleSecondaries(), G4PenelopeRayleighModelMI::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4eCoulombScatteringModel::SampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), G4KleinNishinaCompton::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4LEPTSAttachmentModel::SampleSecondaries(), G4LEPTSDissociationModel::SampleSecondaries(), G4LEPTSElasticModel::SampleSecondaries(), G4LEPTSExcitationModel::SampleSecondaries(), G4LEPTSIonisationModel::SampleSecondaries(), G4LEPTSPositroniumModel::SampleSecondaries(), G4LEPTSRotExcitationModel::SampleSecondaries(), G4LEPTSVibExcitationModel::SampleSecondaries(), G4DNAPTBElasticModel::SampleSecondaries(), G4DNAPTBExcitationModel::SampleSecondaries(), and G4DNAPTBIonisationModel::SampleSecondaries().

◆ ProposeMomentumDirection() [1/2]

void G4ParticleChangeForGamma::ProposeMomentumDirection ( const G4ThreeVector Pfinal)
inline

Definition at line 132 of file G4ParticleChangeForGamma.hh.

134{
136}

References proposedMomentumDirection.

◆ ProposeMomentumDirection() [2/2]

void G4ParticleChangeForGamma::ProposeMomentumDirection ( G4double  Px,
G4double  Py,
G4double  Pz 
)
inline

Definition at line 139 of file G4ParticleChangeForGamma.hh.

References proposedMomentumDirection, CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), and CLHEP::Hep3Vector::setZ().

Referenced by G4EmBiasingManager::ApplyDirectionalSplitting(), G4EmBiasingManager::ApplySecondaryBiasing(), G4DNABornExcitationModel1::SampleSecondaries(), G4DNABornExcitationModel2::SampleSecondaries(), G4DNABornIonisationModel1::SampleSecondaries(), G4DNABornIonisationModel2::SampleSecondaries(), G4DNAChampionElasticModel::SampleSecondaries(), G4DNACPA100ElasticModel::SampleSecondaries(), G4DNACPA100ExcitationModel::SampleSecondaries(), G4DNACPA100IonisationModel::SampleSecondaries(), G4DNADiracRMatrixExcitationModel::SampleSecondaries(), G4DNAELSEPAElasticModel::SampleSecondaries(), G4DNAEmfietzoglouExcitationModel::SampleSecondaries(), G4DNAEmfietzoglouIonisationModel::SampleSecondaries(), G4DNAIonElasticModel::SampleSecondaries(), G4DNAMillerGreenExcitationModel::SampleSecondaries(), G4DNARelativisticIonisationModel::SampleSecondaries(), G4DNARuddIonisationExtendedModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4DNASancheExcitationModel::SampleSecondaries(), G4DNAScreenedRutherfordElasticModel::SampleSecondaries(), G4DNAUeharaScreenedRutherfordElasticModel::SampleSecondaries(), G4eSingleCoulombScatteringModel::SampleSecondaries(), G4IonCoulombScatteringModel::SampleSecondaries(), G4JAEAElasticScatteringModel::SampleSecondaries(), G4JAEAPolarizedElasticScatteringModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LivermoreRayleighModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LowEPPolarizedComptonModel::SampleSecondaries(), G4MicroElecElasticModel::SampleSecondaries(), G4MicroElecElasticModel_new::SampleSecondaries(), G4MicroElecInelasticModel::SampleSecondaries(), G4MicroElecInelasticModel_new::SampleSecondaries(), G4MicroElecLOPhononModel::SampleSecondaries(), G4PenelopeComptonModel::SampleSecondaries(), G4PenelopeRayleighModel::SampleSecondaries(), G4PenelopeRayleighModelMI::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4eCoulombScatteringModel::SampleSecondaries(), G4eDPWACoulombScatteringModel::SampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), G4KleinNishinaCompton::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4XrayRayleighModel::SampleSecondaries(), G4LEPTSDissociationModel::SampleSecondaries(), G4LEPTSElasticModel::SampleSecondaries(), G4LEPTSExcitationModel::SampleSecondaries(), G4LEPTSIonisationModel::SampleSecondaries(), G4LEPTSRotExcitationModel::SampleSecondaries(), G4LEPTSVibExcitationModel::SampleSecondaries(), G4DNAPTBElasticModel::SampleSecondaries(), G4DNAPTBExcitationModel::SampleSecondaries(), and G4DNAPTBIonisationModel::SampleSecondaries().

◆ ProposeNonIonizingEnergyDeposit()

void G4VParticleChange::ProposeNonIonizingEnergyDeposit ( G4double  anEnergyPart)
inherited

◆ ProposeParentWeight()

void G4VParticleChange::ProposeParentWeight ( G4double  finalWeight)
inherited

◆ ProposePolarization() [1/2]

void G4ParticleChangeForGamma::ProposePolarization ( const G4ThreeVector dir)
inline

◆ ProposePolarization() [2/2]

void G4ParticleChangeForGamma::ProposePolarization ( G4double  Px,
G4double  Py,
G4double  Pz 
)
inline

◆ ProposeSteppingControl()

void G4VParticleChange::ProposeSteppingControl ( G4SteppingControl  StepControlFlag)
inherited

◆ ProposeTrackStatus()

void G4VParticleChange::ProposeTrackStatus ( G4TrackStatus  status)
inherited

Referenced by G4BiasingProcessInterface::AlongStepDoIt(), G4ITTransportation::AlongStepDoIt(), G4CoupledTransportation::AlongStepDoIt(), G4Transportation::AlongStepDoIt(), G4hImpactIonisation::AlongStepDoIt(), G4BOptnLeadingParticle::ApplyFinalStateBiasing(), G4HadronStoppingProcess::AtRestDoIt(), G4MuonMinusAtomicCapture::AtRestDoIt(), G4RadioactiveDecay::DecayAnalog(), G4DNAMolecularDissociation::DecayIt(), G4Decay::DecayIt(), G4UnknownDecay::DecayIt(), G4Radioactivation::DecayIt(), G4RadioactiveDecay::DecayIt(), G4MuonicAtomDecay::DecayIt(), G4DNABrownianTransportation::Diffusion(), G4OpBoundaryProcess::DoAbsorption(), G4HadronicProcess::FillResult(), G4MuonicAtomDecay::FillResult(), G4FastStep::KillPrimaryTrack(), G4ImportanceProcess::KillTrack(), G4WeightWindowProcess::KillTrack(), G4DNAElectronHoleRecombination::MakeReaction(), G4SpecialCuts::PostStepDoIt(), G4WeightCutOffProcess::PostStepDoIt(), G4DNASecondOrderReaction::PostStepDoIt(), G4FastSimulationManagerProcess::PostStepDoIt(), G4PhononDownconversion::PostStepDoIt(), G4PhononReflection::PostStepDoIt(), G4PhononScattering::PostStepDoIt(), G4NeutronKiller::PostStepDoIt(), G4UserSpecialCuts::PostStepDoIt(), G4DNAScavengerProcess::PostStepDoIt(), G4LowECapture::PostStepDoIt(), G4VEmProcess::PostStepDoIt(), G4VEnergyLossProcess::PostStepDoIt(), G4NeutrinoElectronProcess::PostStepDoIt(), G4UCNAbsorption::PostStepDoIt(), G4UCNBoundaryProcess::PostStepDoIt(), G4UCNLoss::PostStepDoIt(), G4AnnihiToMuPair::PostStepDoIt(), G4GammaConversionToMuons::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4ElNeutrinoNucleusProcess::PostStepDoIt(), G4HadronElasticProcess::PostStepDoIt(), G4MuNeutrinoNucleusProcess::PostStepDoIt(), G4OpAbsorption::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4OpWLS::PostStepDoIt(), G4OpWLS2::PostStepDoIt(), G4ITTransportation::PostStepDoIt(), G4BiasingProcessInterface::PostStepDoIt(), G4hImpactIonisation::PostStepDoIt(), G4SynchrotronRadiationInMat::PostStepDoIt(), G4CoupledTransportation::PostStepDoIt(), G4Transportation::PostStepDoIt(), G4AdjointBremsstrahlungModel::RapidSampleSecondaries(), G4AdjointComptonModel::RapidSampleSecondaries(), G4AdjointhIonisationModel::RapidSampleSecondaries(), G4AdjointBremsstrahlungModel::SampleSecondaries(), G4AdjointComptonModel::SampleSecondaries(), G4AdjointeIonisationModel::SampleSecondaries(), G4AdjointhIonisationModel::SampleSecondaries(), G4AdjointIonIonisationModel::SampleSecondaries(), G4AdjointPhotoElectricModel::SampleSecondaries(), G4LivermoreBremsstrahlungModel::SampleSecondaries(), G4eBremParametrizedModel::SampleSecondaries(), G4eBremsstrahlungRelModel::SampleSecondaries(), G4SeltzerBergerModel::SampleSecondaries(), G4DNADingfelderChargeDecreaseModel::SampleSecondaries(), G4DNADingfelderChargeIncreaseModel::SampleSecondaries(), G4DNAELSEPAElasticModel::SampleSecondaries(), G4DNAIonElasticModel::SampleSecondaries(), G4DNAMeltonAttachmentModel::SampleSecondaries(), G4DNARuddIonisationExtendedModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4DNATransformElectronModel::SampleSecondaries(), G4BoldyshevTripletModel::SampleSecondaries(), G4PolarizedAnnihilationModel::SampleSecondaries(), G4JAEAElasticScatteringModel::SampleSecondaries(), G4JAEAPolarizedElasticScatteringModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4LivermoreNuclearGammaConversionModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermorePolarizedGammaConversionModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LowEPPolarizedComptonModel::SampleSecondaries(), G4MicroElecElasticModel::SampleSecondaries(), G4MicroElecElasticModel_new::SampleSecondaries(), G4PenelopeAnnihilationModel::SampleSecondaries(), G4PenelopeComptonModel::SampleSecondaries(), G4PenelopeGammaConversionModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4PenelopeRayleighModel::SampleSecondaries(), G4PenelopeRayleighModelMI::SampleSecondaries(), G4MuBremsstrahlungModel::SampleSecondaries(), G4MuPairProductionModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4BetheHeitlerModel::SampleSecondaries(), G4eeToTwoGammaModel::SampleSecondaries(), G4KleinNishinaCompton::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4PairProductionRelModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4eplusTo2GammaOKVIModel::SampleSecondaries(), G4eplusTo3GammaOKVIModel::SampleSecondaries(), G4eeToHadronsMultiModel::SampleSecondaries(), G4LEPTSAttachmentModel::SampleSecondaries(), G4LEPTSElasticModel::SampleSecondaries(), G4LEPTSPositroniumModel::SampleSecondaries(), G4DNAPTBElasticModel::SampleSecondaries(), and G4BetheHeitler5DModel::SampleSecondaries().

◆ ProposeTrueStepLength()

void G4VParticleChange::ProposeTrueStepLength ( G4double  truePathLength)
inherited

◆ ProposeWeight()

void G4VParticleChange::ProposeWeight ( G4double  finalWeight)
inherited

◆ SetDebugFlag()

void G4VParticleChange::SetDebugFlag ( )
inherited

◆ SetNumberOfSecondaries()

void G4VParticleChange::SetNumberOfSecondaries ( G4int  totSecondaries)
inherited

◆ SetParentWeightByProcess()

void G4VParticleChange::SetParentWeightByProcess ( G4bool  )
inherited

◆ SetProposedKineticEnergy()

void G4ParticleChangeForGamma::SetProposedKineticEnergy ( G4double  proposedKinEnergy)
inline

Definition at line 119 of file G4ParticleChangeForGamma.hh.

120{
122}
G4double energy(const ThreeVector &p, const G4double m)

References G4INCL::KinematicsUtils::energy(), and proposedKinEnergy.

Referenced by G4EmBiasingManager::ApplyDirectionalSplitting(), G4EmBiasingManager::ApplySecondaryBiasing(), G4DNABornExcitationModel1::SampleSecondaries(), G4DNABornExcitationModel2::SampleSecondaries(), G4DNABornIonisationModel1::SampleSecondaries(), G4DNABornIonisationModel2::SampleSecondaries(), G4DNAChampionElasticModel::SampleSecondaries(), G4DNACPA100ElasticModel::SampleSecondaries(), G4DNACPA100ExcitationModel::SampleSecondaries(), G4DNACPA100IonisationModel::SampleSecondaries(), G4DNADiracRMatrixExcitationModel::SampleSecondaries(), G4DNAELSEPAElasticModel::SampleSecondaries(), G4DNAEmfietzoglouExcitationModel::SampleSecondaries(), G4DNAEmfietzoglouIonisationModel::SampleSecondaries(), G4DNAIonElasticModel::SampleSecondaries(), G4DNAMeltonAttachmentModel::SampleSecondaries(), G4DNAMillerGreenExcitationModel::SampleSecondaries(), G4DNAQuinnPlasmonExcitationModel::SampleSecondaries(), G4DNARelativisticIonisationModel::SampleSecondaries(), G4DNARuddIonisationExtendedModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4DNASancheExcitationModel::SampleSecondaries(), G4DNAScreenedRutherfordElasticModel::SampleSecondaries(), G4DNAUeharaScreenedRutherfordElasticModel::SampleSecondaries(), G4BoldyshevTripletModel::SampleSecondaries(), G4PolarizedAnnihilationModel::SampleSecondaries(), G4eSingleCoulombScatteringModel::SampleSecondaries(), G4IonCoulombScatteringModel::SampleSecondaries(), G4JAEAElasticScatteringModel::SampleSecondaries(), G4JAEAPolarizedElasticScatteringModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4LivermoreNuclearGammaConversionModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermorePolarizedGammaConversionModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LowEPPolarizedComptonModel::SampleSecondaries(), G4MicroElecElasticModel::SampleSecondaries(), G4MicroElecElasticModel_new::SampleSecondaries(), G4MicroElecInelasticModel::SampleSecondaries(), G4MicroElecInelasticModel_new::SampleSecondaries(), G4MicroElecLOPhononModel::SampleSecondaries(), G4PenelopeAnnihilationModel::SampleSecondaries(), G4PenelopeComptonModel::SampleSecondaries(), G4PenelopeGammaConversionModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4PenelopeRayleighModel::SampleSecondaries(), G4PenelopeRayleighModelMI::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4BetheHeitlerModel::SampleSecondaries(), G4eCoulombScatteringModel::SampleSecondaries(), G4eeToTwoGammaModel::SampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), G4KleinNishinaCompton::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4PairProductionRelModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4XrayRayleighModel::SampleSecondaries(), G4eplusTo2GammaOKVIModel::SampleSecondaries(), G4eplusTo3GammaOKVIModel::SampleSecondaries(), G4LEPTSAttachmentModel::SampleSecondaries(), G4LEPTSDissociationModel::SampleSecondaries(), G4LEPTSElasticModel::SampleSecondaries(), G4LEPTSExcitationModel::SampleSecondaries(), G4LEPTSIonisationModel::SampleSecondaries(), G4LEPTSPositroniumModel::SampleSecondaries(), G4LEPTSRotExcitationModel::SampleSecondaries(), G4LEPTSVibExcitationModel::SampleSecondaries(), G4DNAPTBElasticModel::SampleSecondaries(), G4DNAPTBExcitationModel::SampleSecondaries(), G4DNAPTBIonisationModel::SampleSecondaries(), and G4BetheHeitler5DModel::SampleSecondaries().

◆ SetSecondaryWeightByProcess()

void G4VParticleChange::SetSecondaryWeightByProcess ( G4bool  )
inherited

◆ SetVerboseLevel()

void G4VParticleChange::SetVerboseLevel ( G4int  vLevel)
inherited

◆ UpdateStepForAlongStep()

G4Step * G4VParticleChange::UpdateStepForAlongStep ( G4Step Step)
virtualinherited

◆ UpdateStepForAtRest()

G4Step * G4ParticleChangeForGamma::UpdateStepForAtRest ( G4Step pStep)
virtual

◆ UpdateStepForPostStep()

G4Step * G4ParticleChangeForGamma::UpdateStepForPostStep ( G4Step Step)
virtual

Reimplemented from G4VParticleChange.

Definition at line 129 of file G4ParticleChangeForGamma.cc.

130{
131 G4StepPoint* pPostStepPoint = pStep->GetPostStepPoint();
132 G4Track* pTrack = pStep->GetTrack();
133
134 pPostStepPoint->SetKineticEnergy(proposedKinEnergy);
136 pPostStepPoint->SetPolarization(proposedPolarization);
137
138 // update velocity for scattering process and particles with mass
139 if(proposedKinEnergy > 0.0)
140 {
141 if(pTrack->GetParticleDefinition()->GetPDGMass() > 0.0)
142 {
143 pPostStepPoint->SetVelocity(pTrack->CalculateVelocity());
144 }
145 }
146
148 {
149 pPostStepPoint->SetWeight(theParentWeight);
150 }
151
152 pStep->AddTotalEnergyDeposit(theLocalEnergyDeposit);
153 pStep->AddNonIonizingEnergyDeposit(theNonIonizingEnergyDeposit);
154 return pStep;
155}
void SetKineticEnergy(const G4double aValue)
void SetVelocity(G4double v)
void SetMomentumDirection(const G4ThreeVector &aValue)
void SetPolarization(const G4ThreeVector &aValue)
const G4ParticleDefinition * GetParticleDefinition() const
G4double CalculateVelocity() const

References G4Step::AddNonIonizingEnergyDeposit(), G4Step::AddTotalEnergyDeposit(), G4Track::CalculateVelocity(), G4Track::GetParticleDefinition(), G4ParticleDefinition::GetPDGMass(), G4Step::GetPostStepPoint(), G4Step::GetTrack(), G4VParticleChange::isParentWeightProposed, proposedKinEnergy, proposedMomentumDirection, proposedPolarization, G4StepPoint::SetKineticEnergy(), G4StepPoint::SetMomentumDirection(), G4StepPoint::SetPolarization(), G4StepPoint::SetVelocity(), G4StepPoint::SetWeight(), G4VParticleChange::theLocalEnergyDeposit, G4VParticleChange::theNonIonizingEnergyDeposit, and G4VParticleChange::theParentWeight.

◆ UpdateStepInfo()

G4Step * G4VParticleChange::UpdateStepInfo ( G4Step Step)
protectedinherited

Definition at line 170 of file G4VParticleChange.cc.

171{
172 // Update the G4Step specific attributes
173 pStep->SetStepLength(theTrueStepLength);
174 pStep->AddTotalEnergyDeposit(theLocalEnergyDeposit);
175 pStep->AddNonIonizingEnergyDeposit(theNonIonizingEnergyDeposit);
176 pStep->SetControlFlag(theSteppingControlFlag);
177
179 {
180 pStep->SetFirstStepFlag();
181 }
182 else
183 {
184 pStep->ClearFirstStepFlag();
185 }
187 {
188 pStep->SetLastStepFlag();
189 }
190 else
191 {
192 pStep->ClearLastStepFlag();
193 }
194
195 return pStep;
196}

References G4Step::AddNonIonizingEnergyDeposit(), G4Step::AddTotalEnergyDeposit(), G4Step::ClearFirstStepFlag(), G4Step::ClearLastStepFlag(), G4Step::SetControlFlag(), G4Step::SetFirstStepFlag(), G4Step::SetLastStepFlag(), G4Step::SetStepLength(), G4VParticleChange::theFirstStepInVolume, G4VParticleChange::theLastStepInVolume, G4VParticleChange::theLocalEnergyDeposit, G4VParticleChange::theNonIonizingEnergyDeposit, G4VParticleChange::theSteppingControlFlag, and G4VParticleChange::theTrueStepLength.

Referenced by G4VParticleChange::UpdateStepForAlongStep(), G4FastStep::UpdateStepForAtRest(), G4ParticleChangeForDecay::UpdateStepForAtRest(), G4VParticleChange::UpdateStepForAtRest(), G4FastStep::UpdateStepForPostStep(), G4ParticleChangeForDecay::UpdateStepForPostStep(), and G4VParticleChange::UpdateStepForPostStep().

Field Documentation

◆ accuracyForException

const G4double G4VParticleChange::accuracyForException = 0.001
staticprotectedinherited

◆ accuracyForWarning

const G4double G4VParticleChange::accuracyForWarning = 1.0e-9
staticprotectedinherited

◆ currentTrack

const G4Track* G4ParticleChangeForGamma::currentTrack = nullptr
private

◆ debugFlag

G4bool G4VParticleChange::debugFlag = false
protectedinherited

◆ fSetSecondaryWeightByProcess

G4bool G4VParticleChange::fSetSecondaryWeightByProcess = false
protectedinherited

◆ isParentWeightProposed

G4bool G4VParticleChange::isParentWeightProposed = false
protectedinherited

◆ proposedKinEnergy

G4double G4ParticleChangeForGamma::proposedKinEnergy = 0.0
private

◆ proposedMomentumDirection

G4ThreeVector G4ParticleChangeForGamma::proposedMomentumDirection
private

◆ proposedPolarization

G4ThreeVector G4ParticleChangeForGamma::proposedPolarization
private

◆ theFirstStepInVolume

G4bool G4VParticleChange::theFirstStepInVolume = false
protectedinherited

◆ theLastStepInVolume

G4bool G4VParticleChange::theLastStepInVolume = false
protectedinherited

◆ theListOfSecondaries

G4TrackFastVector* G4VParticleChange::theListOfSecondaries = nullptr
protectedinherited

◆ theLocalEnergyDeposit

G4double G4VParticleChange::theLocalEnergyDeposit = 0.0
protectedinherited

◆ theNonIonizingEnergyDeposit

G4double G4VParticleChange::theNonIonizingEnergyDeposit = 0.0
protectedinherited

◆ theNumberOfSecondaries

G4int G4VParticleChange::theNumberOfSecondaries = 0
protectedinherited

◆ theParentGlobalTime

G4double G4VParticleChange::theParentGlobalTime = 0.0
protectedinherited

◆ theParentWeight

G4double G4VParticleChange::theParentWeight = 1.0
protectedinherited

◆ theSizeOftheListOfSecondaries

G4int G4VParticleChange::theSizeOftheListOfSecondaries = 0
protectedinherited

◆ theStatusChange

G4TrackStatus G4VParticleChange::theStatusChange = fAlive
protectedinherited

◆ theSteppingControlFlag

G4SteppingControl G4VParticleChange::theSteppingControlFlag = NormalCondition
protectedinherited

◆ theTrueStepLength

G4double G4VParticleChange::theTrueStepLength = 0.0
protectedinherited

◆ verboseLevel

G4int G4VParticleChange::verboseLevel = 1
protectedinherited

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