43 #include "G4ParticleChangeForDecay.hh" 57 G4cout <<
"G4UnknownDecay constructor " <<
" Name:" << processName <<
G4endl;
98 G4bool isPreAssigned = (o_products != 0);
101 if (!isPreAssigned ){
117 if (ParentEnergy < ParentMass) {
118 ParentEnergy = ParentMass;
121 G4cout <<
"G4UnknownDecay::DoIt : Total Energy is less than its mass" <<
G4endl;
123 G4cout <<
" Energy:" << ParentEnergy/
MeV <<
"[MeV]";
124 G4cout <<
" Mass:" << ParentMass/
MeV <<
"[MeV]";
132 G4double finalGlobalTime = aTrack.GetGlobalTime();
136 products->
Boost( ParentEnergy, ParentDirection);
144 G4cout <<
"G4UnknownDecay::DoIt : Decay vertex :";
145 G4cout <<
" Time: " << finalGlobalTime/
ns <<
"[ns]";
146 G4cout <<
" X:" << (aTrack.GetPosition()).
x() /
cm <<
"[cm]";
147 G4cout <<
" Y:" << (aTrack.GetPosition()).
y() /
cm <<
"[cm]";
148 G4cout <<
" Z:" << (aTrack.GetPosition()).
z() /
cm <<
"[cm]";
150 G4cout <<
"G4UnknownDecay::DoIt : decay products in Lab. Frame" <<
G4endl;
157 for (index=0; index < numberOfSecondaries; index++)
160 currentPosition = aTrack.GetPosition();
162 G4Track* secondary =
new G4Track( products->
PopProducts(),
166 secondary->SetGoodForTrackingFlag();
167 secondary->SetTouchableHandle(thand);
virtual G4VParticleChange * DecayIt(const G4Track &aTrack, const G4Step &aStep)
virtual G4bool IsApplicable(const G4ParticleDefinition &)
G4ParticleChangeForDecay fParticleChangeForDecay
void Boost(G4double totalEnergy, const G4ThreeVector &momentumDirection)
void ClearNumberOfInteractionLengthLeft()
G4double GetPreAssignedDecayProperTime() const
G4double GetTotalEnergy() const
const G4DecayProducts * GetPreAssignedDecayProducts() const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
void SetProcessSubType(G4int)
virtual G4double GetMeanFreePath(const G4Track &aTrack, G4double previousStepSize, G4ForceCondition *condition)
virtual ~G4UnknownDecay()
const G4ThreeVector & GetMomentumDirection() const
G4DynamicParticle * PopProducts()
G4VParticleChange * pParticleChange
G4UnknownDecay(const G4String &processName="UnknownDecay")
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
G4ParticleDefinition * GetDefinition() const
G4int GetVerboseLevel() const