Geant4  10.02
G4VDecayChannel Class Referenceabstract

#include <G4VDecayChannel.hh>

+ Inheritance diagram for G4VDecayChannel:
+ Collaboration diagram for G4VDecayChannel:

Public Member Functions

 G4VDecayChannel (const G4String &aName, G4int Verbose=1)
 
 G4VDecayChannel (const G4String &aName, const G4String &theParentName, G4double theBR, G4int theNumberOfDaughters, const G4String &theDaughterName1, const G4String &theDaughterName2="", const G4String &theDaughterName3="", const G4String &theDaughterName4="")
 
virtual ~G4VDecayChannel ()
 
G4int operator== (const G4VDecayChannel &right) const
 
G4int operator!= (const G4VDecayChannel &right) const
 
G4int operator< (const G4VDecayChannel &right) const
 
virtual G4DecayProducts * DecayIt (G4double parentMass=-1.0)=0
 
const G4String & GetKinematicsName () const
 
G4double GetBR () const
 
G4int GetNumberOfDaughters () const
 
G4ParticleDefinition * GetParent ()
 
G4ParticleDefinition * GetDaughter (G4int anIndex)
 
G4int GetAngularMomentum ()
 
const G4String & GetParentName () const
 
const G4String & GetDaughterName (G4int anIndex) const
 
G4double GetParentMass () const
 
G4double GetDaughterMass (G4int anIndex) const
 
void SetParent (const G4ParticleDefinition *particle_type)
 
void SetParent (const G4String &particle_name)
 
void SetBR (G4double value)
 
void SetNumberOfDaughters (G4int value)
 
void SetDaughter (G4int anIndex, const G4ParticleDefinition *particle_type)
 
void SetDaughter (G4int anIndex, const G4String &particle_name)
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
void DumpInfo ()
 
G4double GetRangeMass () const
 
void SetRangeMass (G4double val)
 
virtual G4bool IsOKWithParentMass (G4double parentMass)
 
void SetPolarization (const G4ThreeVector &)
 
const G4ThreeVector & GetPolarization () const
 

Protected Member Functions

void ClearDaughtersName ()
 
void FillDaughters ()
 
void FillParent ()
 
 G4VDecayChannel ()
 
 G4VDecayChannel (const G4VDecayChannel &)
 
G4VDecayChannel & operator= (const G4VDecayChannel &)
 
G4double DynamicalMass (G4double massPDG, G4double width, G4double maxDev=+1.) const
 

Protected Attributes

G4String kinematics_name
 
G4double rbranch
 
G4int numberOfDaughters
 
G4String * parent_name
 
G4String ** daughters_name
 
G4double rangeMass
 
G4ThreeVector parent_polarization
 
G4ParticleTable * particletable
 
G4int verboseLevel
 
G4ParticleDefinition * G4MT_parent
 
G4ParticleDefinition ** G4MT_daughters
 
G4double G4MT_parent_mass
 
G4double * G4MT_daughters_mass
 
G4double * G4MT_daughters_width
 

Static Protected Attributes

static const G4String noName = " "
 

Private Member Functions

const G4String & GetNoName () const
 

Detailed Description

Definition at line 105 of file G4VDecayChannel.hh.

Constructor & Destructor Documentation

G4VDecayChannel::G4VDecayChannel ( const G4String &  aName,
G4int  Verbose = 1 
)

Definition at line 85 of file G4VDecayChannel.cc.

References G4MT_daughters, G4MT_daughters_mass, G4MT_daughters_width, G4MT_parent, G4MT_parent_mass, G4ParticleTable::GetParticleTable(), and particletable.

+ Here is the call graph for this function:

G4VDecayChannel::G4VDecayChannel ( const G4String &  aName,
const G4String &  theParentName,
G4double  theBR,
G4int  theNumberOfDaughters,
const G4String &  theDaughterName1,
const G4String &  theDaughterName2 = "",
const G4String &  theDaughterName3 = "",
const G4String &  theDaughterName4 = "" 
)

Definition at line 106 of file G4VDecayChannel.cc.

References daughters_name, G4MT_daughters, G4MT_daughters_mass, G4MT_daughters_width, G4MT_parent, G4MT_parent_mass, G4ParticleTable::GetParticleTable(), numberOfDaughters, parent_name, and particletable.

+ Here is the call graph for this function:

G4VDecayChannel::~G4VDecayChannel ( )
virtual

Definition at line 225 of file G4VDecayChannel.cc.

References ClearDaughtersName(), G4MT_daughters_mass, G4MT_daughters_width, and parent_name.

+ Here is the call graph for this function:

G4VDecayChannel::G4VDecayChannel ( )
protected

Definition at line 64 of file G4VDecayChannel.cc.

References G4MT_daughters, G4MT_daughters_mass, G4MT_daughters_width, G4MT_parent, G4MT_parent_mass, G4ParticleTable::GetParticleTable(), and particletable.

+ Here is the call graph for this function:

G4VDecayChannel::G4VDecayChannel ( const G4VDecayChannel &  right)
protected

Definition at line 147 of file G4VDecayChannel.cc.

References daughters_name, G4MT_daughters, G4MT_daughters_mass, G4MT_daughters_width, G4MT_parent, G4MT_parent_mass, G4ParticleTable::GetParticleTable(), kinematics_name, numberOfDaughters, parent_name, parent_polarization, particletable, rangeMass, rbranch, and verboseLevel.

+ Here is the call graph for this function:

Member Function Documentation

void G4VDecayChannel::DumpInfo ( )

Definition at line 541 of file G4VDecayChannel.cc.

References daughters_name, G4cout, G4endl, kinematics_name, numberOfDaughters, and rbranch.

Referenced by G4PhaseSpaceDecayChannel::DecayIt(), G4NuclearDecayChannel::DecayIt(), G4GeneralPhaseSpaceDecay::DecayIt(), and G4KL3DecayChannel::G4KL3DecayChannel().

+ Here is the caller graph for this function:

G4double G4VDecayChannel::DynamicalMass ( G4double  massPDG,
G4double  width,
G4double  maxDev = +1. 
) const
protected

Definition at line 561 of file G4VDecayChannel.cc.

References G4UniformRand, rangeMass, width, and x.

Referenced by G4PhaseSpaceDecayChannel::ThreeBodyDecayIt(), and G4PhaseSpaceDecayChannel::TwoBodyDecayIt().

+ Here is the caller graph for this function:

void G4VDecayChannel::FillDaughters ( )
protected

Definition at line 334 of file G4VDecayChannel.cc.

References daughters_name, FatalException, FillParent(), G4ParticleTable::FindParticle(), G4cout, G4endl, G4Exception(), G4MT_daughters, G4MT_daughters_mass, G4MT_daughters_width, G4MT_parent, G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetParticleType(), G4ParticleDefinition::GetPDGMass(), G4ParticleDefinition::GetPDGWidth(), GetVerboseLevel(), GeV, numberOfDaughters, parent_name, particletable, rangeMass, SetBR(), and verboseLevel.

Referenced by G4AlphaDecay::DecayIt(), G4ECDecay::DecayIt(), G4BetaMinusDecay::DecayIt(), G4BetaPlusDecay::DecayIt(), G4NeutronDecay::DecayIt(), G4ProtonDecay::DecayIt(), G4KL3DecayChannel::DecayIt(), G4NeutronBetaDecayChannel::DecayIt(), G4MuonDecayChannel::DecayIt(), G4DalitzDecayChannel::DecayIt(), G4TauLeptonicDecayChannel::DecayIt(), G4PhaseSpaceDecayChannel::DecayIt(), G4MuonDecayChannelWithSpin::DecayIt(), G4PionRadiativeDecayChannel::DecayIt(), G4MuonRadiativeDecayChannelWithSpin::DecayIt(), G4GeneralPhaseSpaceDecay::DecayIt(), G4NuclearDecayChannel::G4NuclearDecayChannel(), GetAngularMomentum(), GetDaughter(), G4PhaseSpaceDecayChannel::IsOKWithParentMass(), IsOKWithParentMass(), and SetDaughter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4VDecayChannel::GetAngularMomentum ( )

Definition at line 483 of file G4VDecayChannel.cc.

References FillDaughters(), G4cout, G4endl, G4Exception(), G4MT_daughters, G4MT_parent, G4ParticleDefinition::GetPDGiParity(), G4ParticleDefinition::GetPDGiSpin(), JustWarning, numberOfDaughters, and verboseLevel.

+ Here is the call graph for this function:

G4ParticleDefinition * G4VDecayChannel::GetDaughter ( G4int  anIndex)
inline

Definition at line 267 of file G4VDecayChannel.hh.

References FillDaughters(), G4cout, G4endl, G4MT_daughters, numberOfDaughters, and verboseLevel.

Referenced by G4IonTable::CreateIon(), G4KineticTrack::Decay(), G4KineticTrack::G4KineticTrack(), G4TextPPReporter::GeneratePropertyTable(), G4HtmlPPReporter::GeneratePropertyTable(), G4NuclearDecay::GetDaughterNucleus(), and G4MTRunManagerKernel::SetUpDecayChannels().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VDecayChannel::GetDaughterMass ( G4int  anIndex) const
inline

Definition at line 297 of file G4VDecayChannel.hh.

References G4cout, G4endl, G4MT_daughters_mass, numberOfDaughters, and verboseLevel.

const G4String & G4VDecayChannel::GetDaughterName ( G4int  anIndex) const
inline

Definition at line 283 of file G4VDecayChannel.hh.

References daughters_name, G4cout, G4endl, GetNoName(), numberOfDaughters, and verboseLevel.

Referenced by G4KineticTrack::Decay(), G4AlphaDecay::DumpNuclearInfo(), G4ECDecay::DumpNuclearInfo(), G4NeutronDecay::DumpNuclearInfo(), G4ProtonDecay::DumpNuclearInfo(), G4BetaMinusDecay::DumpNuclearInfo(), G4BetaPlusDecay::DumpNuclearInfo(), and G4ITDecay::DumpNuclearInfo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4String & G4VDecayChannel::GetKinematicsName ( ) const
inline

Definition at line 346 of file G4VDecayChannel.hh.

References kinematics_name.

Referenced by G4TextPPReporter::GeneratePropertyTable(), and G4HtmlPPReporter::GeneratePropertyTable().

+ Here is the caller graph for this function:

const G4String & G4VDecayChannel::GetNoName ( ) const
private

Definition at line 555 of file G4VDecayChannel.cc.

References noName.

Referenced by GetDaughterName().

+ Here is the caller graph for this function:

G4int G4VDecayChannel::GetNumberOfDaughters ( ) const
inline

Definition at line 340 of file G4VDecayChannel.hh.

References numberOfDaughters.

Referenced by G4KineticTrack::Decay(), G4KineticTrack::G4KineticTrack(), G4TextPPReporter::GeneratePropertyTable(), G4HtmlPPReporter::GeneratePropertyTable(), G4SampleResonance::GetMinimumMass(), and G4TextPPRetriever::ModifyPropertyTable().

+ Here is the caller graph for this function:

G4ParticleDefinition * G4VDecayChannel::GetParent ( )
inline

Definition at line 311 of file G4VDecayChannel.hh.

References FillParent(), and G4MT_parent.

Referenced by G4DecayTable::Insert().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VDecayChannel::GetParentMass ( ) const
inline

Definition at line 326 of file G4VDecayChannel.hh.

References G4MT_parent_mass.

const G4String & G4VDecayChannel::GetParentName ( ) const
inline

Definition at line 320 of file G4VDecayChannel.hh.

References parent_name.

Referenced by G4KineticTrack::Decay(), G4MuonRadiativeDecayChannelWithSpin::DecayIt(), G4AlphaDecay::DumpNuclearInfo(), G4ECDecay::DumpNuclearInfo(), G4NeutronDecay::DumpNuclearInfo(), G4ProtonDecay::DumpNuclearInfo(), G4BetaPlusDecay::DumpNuclearInfo(), G4BetaMinusDecay::DumpNuclearInfo(), and G4ITDecay::DumpNuclearInfo().

+ Here is the caller graph for this function:

const G4ThreeVector & G4VDecayChannel::GetPolarization ( ) const
inline

Definition at line 373 of file G4VDecayChannel.hh.

References parent_polarization.

G4double G4VDecayChannel::GetRangeMass ( ) const
inline

Definition at line 361 of file G4VDecayChannel.hh.

References rangeMass.

G4int G4VDecayChannel::GetVerboseLevel ( ) const
inline

Definition at line 358 of file G4VDecayChannel.hh.

References verboseLevel.

Referenced by G4NuclearDecayChannel::BetaDecayIt(), G4KL3DecayChannel::DalitzDensity(), G4KL3DecayChannel::DecayIt(), G4NeutronBetaDecayChannel::DecayIt(), G4DalitzDecayChannel::DecayIt(), G4MuonDecayChannel::DecayIt(), G4TauLeptonicDecayChannel::DecayIt(), G4PhaseSpaceDecayChannel::DecayIt(), G4MuonDecayChannelWithSpin::DecayIt(), G4PionRadiativeDecayChannel::DecayIt(), G4MuonRadiativeDecayChannelWithSpin::DecayIt(), G4NuclearDecayChannel::DecayIt(), G4GeneralPhaseSpaceDecay::DecayIt(), G4Decay::DecayIt(), FillDaughters(), G4AlphaDecayChannel::G4AlphaDecayChannel(), G4BetaMinusDecayChannel::G4BetaMinusDecayChannel(), G4BetaPlusDecayChannel::G4BetaPlusDecayChannel(), G4GeneralPhaseSpaceDecay::G4GeneralPhaseSpaceDecay(), G4ITDecayChannel::G4ITDecayChannel(), G4KL3DecayChannel::G4KL3DecayChannel(), G4KshellECDecayChannel::G4KshellECDecayChannel(), G4LshellECDecayChannel::G4LshellECDecayChannel(), G4MshellECDecayChannel::G4MshellECDecayChannel(), G4MuonDecayChannel::G4MuonDecayChannel(), G4MuonRadiativeDecayChannelWithSpin::G4MuonRadiativeDecayChannelWithSpin(), G4NeutronBetaDecayChannel::G4NeutronBetaDecayChannel(), G4NuclearDecayChannel::G4NuclearDecayChannel(), G4PionRadiativeDecayChannel::G4PionRadiativeDecayChannel(), G4ProtonDecayChannel::G4ProtonDecayChannel(), G4TauLeptonicDecayChannel::G4TauLeptonicDecayChannel(), G4PhaseSpaceDecayChannel::ManyBodyDecayIt(), G4GeneralPhaseSpaceDecay::ManyBodyDecayIt(), G4PhaseSpaceDecayChannel::OneBodyDecayIt(), G4GeneralPhaseSpaceDecay::OneBodyDecayIt(), G4KL3DecayChannel::PhaseSpace(), G4PhaseSpaceDecayChannel::ThreeBodyDecayIt(), G4GeneralPhaseSpaceDecay::ThreeBodyDecayIt(), G4PhaseSpaceDecayChannel::TwoBodyDecayIt(), and G4GeneralPhaseSpaceDecay::TwoBodyDecayIt().

+ Here is the caller graph for this function:

G4bool G4VDecayChannel::IsOKWithParentMass ( G4double  parentMass)
virtual

Reimplemented in G4PhaseSpaceDecayChannel.

Definition at line 578 of file G4VDecayChannel.cc.

References FillDaughters(), FillParent(), G4MT_daughters, G4MT_daughters_mass, G4MT_daughters_width, G4MT_parent, numberOfDaughters, and rangeMass.

Referenced by G4PhaseSpaceDecayChannel::IsOKWithParentMass().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4VDecayChannel::operator!= ( const G4VDecayChannel &  right) const
inline

Definition at line 129 of file G4VDecayChannel.hh.

G4int G4VDecayChannel::operator< ( const G4VDecayChannel &  right) const
inline

Definition at line 261 of file G4VDecayChannel.hh.

References rbranch.

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

Definition at line 186 of file G4VDecayChannel.cc.

References ClearDaughtersName(), daughters_name, G4MT_daughters, G4MT_daughters_mass, G4MT_daughters_width, G4MT_parent, G4MT_parent_mass, G4ParticleTable::GetParticleTable(), kinematics_name, numberOfDaughters, parent_name, parent_polarization, particletable, rangeMass, rbranch, and verboseLevel.

+ Here is the call graph for this function:

G4int G4VDecayChannel::operator== ( const G4VDecayChannel &  right) const
inline

Definition at line 128 of file G4VDecayChannel.hh.

void G4VDecayChannel::SetDaughter ( G4int  anIndex,
const G4String &  particle_name 
)

Definition at line 282 of file G4VDecayChannel.cc.

References daughters_name, FillDaughters(), G4cout, G4endl, G4MT_daughters, numberOfDaughters, and verboseLevel.

+ Here is the call graph for this function:

void G4VDecayChannel::SetParent ( const G4String &  particle_name)
inline

Definition at line 332 of file G4VDecayChannel.hh.

References G4MT_parent, and parent_name.

void G4VDecayChannel::SetPolarization ( const G4ThreeVector &  polar)
inline

Definition at line 367 of file G4VDecayChannel.hh.

References parent_polarization.

Referenced by G4DecayWithSpin::AtRestDoIt(), and G4DecayWithSpin::PostStepDoIt().

+ Here is the caller graph for this function:

void G4VDecayChannel::SetRangeMass ( G4double  val)
inline

Definition at line 364 of file G4VDecayChannel.hh.

References rangeMass.

void G4VDecayChannel::SetVerboseLevel ( G4int  value)
inline

Definition at line 355 of file G4VDecayChannel.hh.

References verboseLevel.

Referenced by G4Decay::DecayIt().

+ Here is the caller graph for this function:

Member Data Documentation

const G4String G4VDecayChannel::noName = " "
staticprotected

Definition at line 243 of file G4VDecayChannel.hh.

Referenced by GetNoName().

G4ParticleTable* G4VDecayChannel::particletable
protected

Definition at line 235 of file G4VDecayChannel.hh.

Referenced by FillDaughters(), FillParent(), G4VDecayChannel(), and operator=().


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