6#include "G4ThreeVector.hh"
7#include "G4VParticleChange.hh"
9class G4DynamicParticle;
27 G4Step* UpdateStepForAtRest(G4Step* Step)
final;
28 G4Step* UpdateStepForPostStep(G4Step* Step)
final;
30 void Initialize(
const G4Track&)
final;
33 void ProposeGlobalTime(G4double t);
34 void ProposeLocalTime(G4double t);
39 G4double GetGlobalTime(G4double timeDelay = 0.0)
const;
40 G4double GetLocalTime(G4double timeDelay = 0.0)
const;
44 const G4ThreeVector* GetPolarization()
const;
45 void ProposePolarization(G4double Px, G4double Py, G4double Pz);
46 void ProposePolarization(
const G4ThreeVector& finalPoralization);
47 void AddSecondary(G4Track* aTrack);
52 void DumpInfo()
const final;
54 G4bool CheckIt(
const G4Track&)
final;
59 G4double theGlobalTime0 = 0.0;
61 G4double theLocalTime0 = 0.0;
64 G4double theTimeChange = 0.0;
67 G4ThreeVector thePolarizationChange;
70 G4bool CheckSecondary(G4Track&);
79void G4ParticleChangeForRadDecay::ProposeGlobalTime(G4double t)
81 theTimeChange = (t - theGlobalTime0) + theLocalTime0;
85G4double G4ParticleChangeForRadDecay::GetGlobalTime(G4double timeDelay)
const
88 return theGlobalTime0 + (theTimeChange - theLocalTime0) + timeDelay;
92void G4ParticleChangeForRadDecay::ProposeLocalTime(G4double t)
98G4double G4ParticleChangeForRadDecay::GetLocalTime(G4double timeDelay)
const
101 return theTimeChange + timeDelay;
105const G4ThreeVector* G4ParticleChangeForRadDecay::GetPolarization()
const
107 return &thePolarizationChange;
111void G4ParticleChangeForRadDecay::ProposePolarization(
112 const G4ThreeVector& finalPoralization)
114 thePolarizationChange = finalPoralization;
118void G4ParticleChangeForRadDecay::ProposePolarization(G4double Px,
122 thePolarizationChange.setX(Px);
123 thePolarizationChange.setY(Py);
124 thePolarizationChange.setZ(Pz);
Definition OMSimG4ParticleChangeForRadDecay.hh:12