#include <G4VDecayChannel.hh>
|
| 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 |
|
Definition at line 53 of file G4VDecayChannel.hh.
G4VDecayChannel::G4VDecayChannel |
( |
const G4String & |
aName, |
|
|
G4int |
Verbose = 1 |
|
) |
| |
Definition at line 69 of file G4VDecayChannel.cc.
G4double * G4MT_daughters_mass
G4ParticleDefinition * G4MT_parent
G4ParticleDefinition ** G4MT_daughters
G4double G4MT_parent_mass
G4ParticleTable * particletable
#define G4MUTEX_INITIALIZER
G4ThreeVector parent_polarization
static G4ParticleTable * GetParticleTable()
G4double * G4MT_daughters_width
G4String ** daughters_name
Definition at line 91 of file G4VDecayChannel.cc.
G4double * G4MT_daughters_mass
G4ParticleDefinition * G4MT_parent
G4ParticleDefinition ** G4MT_daughters
G4double G4MT_parent_mass
G4ParticleTable * particletable
#define G4MUTEX_INITIALIZER
G4ThreeVector parent_polarization
static G4ParticleTable * GetParticleTable()
G4double * G4MT_daughters_width
G4String ** daughters_name
G4VDecayChannel::~G4VDecayChannel |
( |
| ) |
|
|
virtual |
Definition at line 214 of file G4VDecayChannel.cc.
void ClearDaughtersName()
G4double * G4MT_daughters_mass
G4double * G4MT_daughters_width
#define G4MUTEXDESTROY(mutex)
G4VDecayChannel::G4VDecayChannel |
( |
| ) |
|
|
protected |
Definition at line 49 of file G4VDecayChannel.cc.
G4double * G4MT_daughters_mass
G4ParticleDefinition * G4MT_parent
G4ParticleDefinition ** G4MT_daughters
G4double G4MT_parent_mass
G4ParticleTable * particletable
G4ThreeVector parent_polarization
static G4ParticleTable * GetParticleTable()
G4double * G4MT_daughters_width
G4String ** daughters_name
Definition at line 133 of file G4VDecayChannel.cc.
G4double * G4MT_daughters_mass
G4ParticleDefinition * G4MT_parent
G4ParticleDefinition ** G4MT_daughters
#define G4MUTEXINIT(mutex)
G4double G4MT_parent_mass
G4ParticleTable * particletable
G4ThreeVector parent_polarization
static G4ParticleTable * GetParticleTable()
G4double * G4MT_daughters_width
G4String ** daughters_name
void G4VDecayChannel::CheckAndFillDaughters |
( |
| ) |
|
|
inlineprotected |
void G4VDecayChannel::CheckAndFillParent |
( |
| ) |
|
|
inlineprotected |
void G4VDecayChannel::ClearDaughtersName |
( |
| ) |
|
|
protected |
Definition at line 227 of file G4VDecayChannel.cc.
234 G4cout <<
"G4VDecayChannel::ClearDaughtersName "
G4double * G4MT_daughters_mass
G4ParticleDefinition ** G4MT_daughters
G4GLOB_DLL std::ostream G4cout
G4double * G4MT_daughters_width
G4String ** daughters_name
Implemented in G4GeneralPhaseSpaceDecay, G4MuonRadiativeDecayChannelWithSpin, G4PionRadiativeDecayChannel, G4MuonDecayChannelWithSpin, G4PhaseSpaceDecayChannel, G4TauLeptonicDecayChannel, G4DalitzDecayChannel, G4MuonDecayChannel, G4NeutronBetaDecayChannel, G4KL3DecayChannel, G4ITDecay, G4BetaMinusDecay, G4BetaPlusDecay, G4NeutronDecay, G4ProtonDecay, G4ECDecay, and G4AlphaDecay.
void G4VDecayChannel::DumpInfo |
( |
| ) |
|
Definition at line 548 of file G4VDecayChannel.cc.
556 G4cout <<
" not defined ";
G4GLOB_DLL std::ostream G4cout
G4String ** daughters_name
Definition at line 568 of file G4VDecayChannel.cc.
570 if (width<=0.0)
return massPDG;
572 if (maxDev <=-1.*
rangeMass)
return massPDG;
576 const size_t MAX_LOOP=10000;
577 for (
size_t loop_counter=0; loop_counter <MAX_LOOP; ++loop_counter){
578 if ( y * (width*width*x*x + massPDG*massPDG*width*width) <= massPDG*massPDG*width*width )
break;
G4int G4VDecayChannel::GetAngularMomentum |
( |
| ) |
|
Definition at line 490 of file G4VDecayChannel.cc.
504 const G4int MiniSpin = std::abs (D1iSpin - D2iSpin);
505 const G4int MaxiSpin = D1iSpin + D2iSpin;
506 const G4int lMax = (PiSpin+D1iSpin+D2iSpin)/2;
510 G4cout <<
"iSpin: " << PiSpin <<
" -> " << D1iSpin <<
" + " << D2iSpin <<
G4endl;
511 G4cout <<
"2*jmin, 2*jmax, lmax " << MiniSpin <<
" " << MaxiSpin <<
" " << lMax <<
G4endl;
514 for (
G4int j=MiniSpin; j<=MaxiSpin; j+=2){
515 lMin = std::abs(PiSpin-j)/2;
520 for (
G4int l=lMin; l<=lMax; l++) {
526 if (PParity == D1Parity*D2Parity) {
530 if (PParity == -1*D1Parity*D2Parity) {
539 "Sorry, can't handle 3 particle decays (up to now)");
542 G4Exception (
"G4VDecayChannel::GetAngularMomentum",
544 "Can't find angular momentum for this decay");
void CheckAndFillDaughters()
G4int GetPDGiSpin() const
G4int GetPDGiParity() const
G4ParticleDefinition * G4MT_parent
G4ParticleDefinition ** G4MT_daughters
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double G4VDecayChannel::GetBR |
( |
| ) |
const |
|
inline |
Definition at line 212 of file G4VDecayChannel.hh.
222 G4cout <<
"G4VDecayChannel::GetDaughter index out of range "<<anIndex<<
G4endl;
void CheckAndFillDaughters()
G4ParticleDefinition ** G4MT_daughters
G4GLOB_DLL std::ostream G4cout
Definition at line 242 of file G4VDecayChannel.hh.
248 G4cout <<
"G4VDecayChannel::GetDaughterMass ";
G4double * G4MT_daughters_mass
G4GLOB_DLL std::ostream G4cout
const G4String & G4VDecayChannel::GetDaughterName |
( |
G4int |
anIndex | ) |
const |
|
inline |
Definition at line 228 of file G4VDecayChannel.hh.
234 G4cout <<
"G4VDecayChannel::GetDaughterName ";
G4GLOB_DLL std::ostream G4cout
G4String ** daughters_name
const G4String & G4VDecayChannel::GetKinematicsName |
( |
| ) |
const |
|
inline |
G4int G4VDecayChannel::GetNumberOfDaughters |
( |
| ) |
const |
|
inline |
Definition at line 256 of file G4VDecayChannel.hh.
G4ParticleDefinition * G4MT_parent
void CheckAndFillParent()
G4double G4VDecayChannel::GetParentMass |
( |
| ) |
const |
|
inline |
const G4String & G4VDecayChannel::GetParentName |
( |
| ) |
const |
|
inline |
G4double G4VDecayChannel::GetRangeMass |
( |
| ) |
const |
|
inline |
G4int G4VDecayChannel::GetVerboseLevel |
( |
| ) |
const |
|
inline |
Reimplemented in G4PhaseSpaceDecayChannel.
Definition at line 586 of file G4VDecayChannel.cc.
595 sumOfDaughterMassMin +=
598 return (parentMass >= sumOfDaughterMassMin);
void CheckAndFillDaughters()
G4double * G4MT_daughters_mass
G4double * G4MT_daughters_width
void CheckAndFillParent()
Definition at line 172 of file G4VDecayChannel.cc.
174 if (
this != &right) {
void ClearDaughtersName()
G4double * G4MT_daughters_mass
G4ParticleDefinition * G4MT_parent
G4ParticleDefinition ** G4MT_daughters
#define G4MUTEXINIT(mutex)
G4double G4MT_parent_mass
G4ParticleTable * particletable
G4ThreeVector parent_polarization
static G4ParticleTable * GetParticleTable()
G4double * G4MT_daughters_width
G4String ** daughters_name
Definition at line 325 of file G4VDecayChannel.cc.
327 if (parent_type != 0)
SetDaughter(anIndex, parent_type->GetParticleName());
void SetDaughter(G4int anIndex, const G4ParticleDefinition *particle_type)
Definition at line 269 of file G4VDecayChannel.cc.
276 G4cout <<
"G4VDecayChannel::SetDaughter: "
277 <<
"Number of daughters is not defined" <<
G4endl;
295 "Trying to add a daughter without specifying number of secondaries, useSetNumberOfDaughters first");
300 "Trying to modify a daughter of a decay channel, but decay channel already has daughters.");
309 G4cout <<
"G4VDecayChannel::SetDaughter"
310 <<
"index out of range " << anIndex <<
G4endl;
318 G4cout <<
"G4VDecayChannel::SetDaughter[" << anIndex <<
"] :";
G4ParticleDefinition ** G4MT_daughters
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4String ** daughters_name
void G4VDecayChannel::SetNumberOfDaughters |
( |
G4int |
value | ) |
|
Definition at line 485 of file G4VDecayChannel.cc.
487 if (parent_type != 0)
SetParent(parent_type->GetParticleName());
void SetParent(const G4ParticleDefinition *particle_type)
void G4VDecayChannel::SetParent |
( |
const G4String & |
particle_name | ) |
|
|
inline |
void G4VDecayChannel::SetVerboseLevel |
( |
G4int |
value | ) |
|
|
inline |
G4String** G4VDecayChannel::daughters_name |
|
protected |
G4Mutex G4VDecayChannel::daughtersMutex |
|
protected |
G4double* G4VDecayChannel::G4MT_daughters_mass |
|
protected |
G4double* G4VDecayChannel::G4MT_daughters_width |
|
protected |
G4double G4VDecayChannel::G4MT_parent_mass |
|
protected |
G4String G4VDecayChannel::kinematics_name |
|
protected |
const G4String G4VDecayChannel::noName = " " |
|
staticprotected |
G4int G4VDecayChannel::numberOfDaughters |
|
protected |
G4Mutex G4VDecayChannel::parentMutex |
|
protected |
G4int G4VDecayChannel::verboseLevel |
|
protected |
The documentation for this class was generated from the following files: