57 G4cout <<
"G4UnknownDecay constructor " <<
" Name:" << processName <<
G4endl;
98 G4bool isPreAssigned = (o_products !=
nullptr);
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]";
136 products->
Boost( ParentEnergy, ParentDirection);
144 G4cout <<
"G4UnknownDecay::DoIt : Decay vertex :";
145 G4cout <<
" Time: " << finalGlobalTime/
ns <<
"[ns]";
150 G4cout <<
"G4UnknownDecay::DoIt : decay products in Lab. Frame" <<
G4endl;
157 for (index=0; index < numberOfSecondaries; index++){
185 <<
": Decay of 'unknown' particles. \n"
186 <<
"kinematics of daughters are dertermined "
187 <<
"by PreAssignedDecayProducts. \n";
virtual void BuildPhysicsTable(const G4ParticleDefinition &) override
virtual G4double GetMeanFreePath(const G4Track &aTrack, G4double previousStepSize, G4ForceCondition *condition) override
void AddSecondary(G4Track *aSecondary)
virtual G4VParticleChange * DecayIt(const G4Track &aTrack, const G4Step &aStep)
G4UnknownDecay(const G4String &processName="UnknownDecay")
static constexpr double MeV
const G4ThreeVector & GetMomentumDirection() const
const G4String & GetParticleName() const
const G4TouchableHandle & GetTouchableHandle() const
G4DynamicParticle * PopProducts()
void Boost(G4double totalEnergy, const G4ThreeVector &momentumDirection)
virtual G4bool IsApplicable(const G4ParticleDefinition &) override
G4ParticleDefinition * GetDefinition() const
G4VParticleChange * pParticleChange
G4double GetGlobalTime() const
G4double GetPreAssignedDecayProperTime() const
G4int GetVerboseLevel() const
void SetTouchableHandle(const G4TouchableHandle &apValue)
const G4String & GetProcessName() const
const G4ThreeVector & GetPosition() const
void ProposeGlobalTime(G4double t)
void SetGoodForTrackingFlag(G4bool value=true)
const G4DecayProducts * GetPreAssignedDecayProducts() const
G4ParticleChangeForDecay fParticleChangeForDecay
void SetProcessSubType(G4int)
static constexpr double cm
G4GLOB_DLL std::ostream G4cout
void ClearNumberOfInteractionLengthLeft()
virtual ~G4UnknownDecay()
G4double GetTotalEnergy() const
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
virtual void ProcessDescription(std::ostream &outFile) const override
virtual void Initialize(const G4Track &)
void ProposeTrackStatus(G4TrackStatus status)
const G4DynamicParticle * GetDynamicParticle() const
void SetNumberOfSecondaries(G4int totSecondaries)