Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Static Protected Member Functions
G4InuclElementaryParticle Class Reference

#include <G4InuclElementaryParticle.hh>

Inheritance diagram for G4InuclElementaryParticle:
G4InuclParticle

Public Member Functions

 G4InuclElementaryParticle ()
 
 G4InuclElementaryParticle (G4int ityp, Model model=DefaultModel)
 
 G4InuclElementaryParticle (const G4DynamicParticle &dynPart, Model model=DefaultModel)
 
 G4InuclElementaryParticle (const G4LorentzVector &mom, G4int ityp, Model model=DefaultModel)
 
 G4InuclElementaryParticle (G4double ekin, G4int ityp, Model model=DefaultModel)
 
 G4InuclElementaryParticle (const G4LorentzVector &mom, G4ParticleDefinition *pd, Model model=DefaultModel)
 
 G4InuclElementaryParticle (const G4InuclElementaryParticle &right)
 
G4InuclElementaryParticleoperator= (const G4InuclElementaryParticle &right)
 
void fill (G4int ityp, Model model=DefaultModel)
 
void fill (const G4LorentzVector &mom, G4int ityp, Model model=DefaultModel)
 
void fill (G4double ekin, G4int ityp, Model model=DefaultModel)
 
void fill (const G4LorentzVector &mom, G4ParticleDefinition *pd, Model model=DefaultModel)
 
void setType (G4int ityp)
 
G4int type () const
 
G4bool valid () const
 
G4bool isPhoton () const
 
G4bool isMuon () const
 
G4bool isElectron () const
 
G4bool isNeutrino () const
 
G4bool pion () const
 
G4bool nucleon () const
 
G4bool antinucleon () const
 
G4int baryon () const
 
G4bool antibaryon () const
 
G4bool hyperon () const
 
G4bool quasi_deutron () const
 
G4int getStrangeness () const
 
virtual void print (std::ostream &os) const
 
- Public Member Functions inherited from G4InuclParticle
 G4InuclParticle ()
 
 G4InuclParticle (const G4DynamicParticle &dynPart, Model model=DefaultModel)
 
 G4InuclParticle (const G4LorentzVector &mom, Model model=DefaultModel)
 
virtual ~G4InuclParticle ()
 
 G4InuclParticle (const G4InuclParticle &right)
 
G4InuclParticleoperator= (const G4InuclParticle &right)
 
bool operator== (const G4InuclParticle &right)
 
bool operator!= (const G4InuclParticle &right)
 
void setEnergy ()
 
void setMomentum (const G4LorentzVector &mom)
 
void setKineticEnergy (G4double ekin)
 
void setMass (G4double mass)
 
G4double getMass () const
 
G4double getCharge () const
 
G4double getKineticEnergy () const
 
G4double getEnergy () const
 
G4double getMomModule () const
 
G4LorentzVector getMomentum () const
 
G4ParticleDefinitiongetDefinition () const
 
const G4DynamicParticlegetDynamicParticle () const
 
void setModel (Model model)
 
Model getModel () const
 

Static Public Member Functions

static G4int type (const G4ParticleDefinition *pd)
 
static G4bool valid (G4int ityp)
 
static G4int getStrangeness (G4int type)
 
static G4double getParticleMass (G4int type)
 

Static Protected Member Functions

static G4ParticleDefinitionmakeDefinition (G4int ityp)
 

Additional Inherited Members

- Public Types inherited from G4InuclParticle
enum  Model {
  DefaultModel, bullet, target, EPCollider,
  INCascader, NonEquilib, Equilib, Fissioner,
  BigBanger, PreCompound, Coalescence
}
 
- Protected Member Functions inherited from G4InuclParticle
 G4InuclParticle (G4ParticleDefinition *pd, Model model=DefaultModel)
 
 G4InuclParticle (G4ParticleDefinition *pd, const G4LorentzVector &mom, Model model=DefaultModel)
 
 G4InuclParticle (G4ParticleDefinition *pd, G4double ekin, Model model=DefaultModel)
 
void setDefinition (G4ParticleDefinition *pd)
 

Detailed Description

Definition at line 58 of file G4InuclElementaryParticle.hh.

Constructor & Destructor Documentation

G4InuclElementaryParticle::G4InuclElementaryParticle ( )
inline

Definition at line 60 of file G4InuclElementaryParticle.hh.

G4InuclElementaryParticle::G4InuclElementaryParticle ( G4int  ityp,
Model  model = DefaultModel 
)
inline

Definition at line 63 of file G4InuclElementaryParticle.hh.

static G4ParticleDefinition * makeDefinition(G4int ityp)
const XML_Char XML_Content * model
G4InuclElementaryParticle::G4InuclElementaryParticle ( const G4DynamicParticle dynPart,
Model  model = DefaultModel 
)
inline

Definition at line 66 of file G4InuclElementaryParticle.hh.

68  : G4InuclParticle(dynPart, model) {}
const XML_Char XML_Content * model
G4InuclElementaryParticle::G4InuclElementaryParticle ( const G4LorentzVector mom,
G4int  ityp,
Model  model = DefaultModel 
)
inline

Definition at line 70 of file G4InuclElementaryParticle.hh.

72  : G4InuclParticle(makeDefinition(ityp), mom, model) {}
static G4ParticleDefinition * makeDefinition(G4int ityp)
const XML_Char XML_Content * model
G4InuclElementaryParticle::G4InuclElementaryParticle ( G4double  ekin,
G4int  ityp,
Model  model = DefaultModel 
)
inline

Definition at line 74 of file G4InuclElementaryParticle.hh.

76  : G4InuclParticle(makeDefinition(ityp), ekin, model) {}
static G4ParticleDefinition * makeDefinition(G4int ityp)
const XML_Char XML_Content * model
G4InuclElementaryParticle::G4InuclElementaryParticle ( const G4LorentzVector mom,
G4ParticleDefinition pd,
Model  model = DefaultModel 
)
inline

Definition at line 79 of file G4InuclElementaryParticle.hh.

81  : G4InuclParticle(pd, mom, model) {}
const XML_Char XML_Content * model
G4InuclElementaryParticle::G4InuclElementaryParticle ( const G4InuclElementaryParticle right)
inline

Definition at line 84 of file G4InuclElementaryParticle.hh.

85  : G4InuclParticle(right) {}

Member Function Documentation

G4bool G4InuclElementaryParticle::antibaryon ( ) const
inline

Definition at line 122 of file G4InuclElementaryParticle.hh.

References baryon().

122 { return baryon() < 0; }
G4bool G4InuclElementaryParticle::antinucleon ( ) const
inline
G4int G4InuclElementaryParticle::baryon ( ) const
inline

Definition at line 118 of file G4InuclElementaryParticle.hh.

References G4ParticleDefinition::GetBaryonNumber(), and G4InuclParticle::getDefinition().

Referenced by antibaryon(), G4CascadeCheckBalance::collide(), G4CascadeHistory::GuessTarget(), hyperon(), and G4IntraNucleiCascader::setupCascade().

118  { // Can use as a bool (!=0 ==> true)
119  return getDefinition()->GetBaryonNumber();
120  }
G4ParticleDefinition * getDefinition() const
void G4InuclElementaryParticle::fill ( G4int  ityp,
Model  model = DefaultModel 
)
inline
void G4InuclElementaryParticle::fill ( const G4LorentzVector mom,
G4int  ityp,
G4InuclParticle::Model  model = DefaultModel 
)

Definition at line 180 of file G4InuclElementaryParticle.cc.

181  {
182  setType(ityp);
183  setMomentum(mom);
184  setModel(model);
185 }
const XML_Char XML_Content * model
void setModel(Model model)
void setMomentum(const G4LorentzVector &mom)
void G4InuclElementaryParticle::fill ( G4double  ekin,
G4int  ityp,
G4InuclParticle::Model  model = DefaultModel 
)

Definition at line 187 of file G4InuclElementaryParticle.cc.

188  {
189  setType(ityp);
190  setKineticEnergy(ekin);
191  setModel(model);
192 }
const XML_Char XML_Content * model
void setModel(Model model)
void setKineticEnergy(G4double ekin)
void G4InuclElementaryParticle::fill ( const G4LorentzVector mom,
G4ParticleDefinition pd,
G4InuclParticle::Model  model = DefaultModel 
)

Definition at line 194 of file G4InuclElementaryParticle.cc.

196  {
197  setDefinition(pd);
198  setMomentum(mom);
199  setModel(model);
200 }
const XML_Char XML_Content * model
void setDefinition(G4ParticleDefinition *pd)
void setModel(Model model)
void setMomentum(const G4LorentzVector &mom)
G4double G4InuclElementaryParticle::getParticleMass ( G4int  type)
static
G4int G4InuclElementaryParticle::getStrangeness ( ) const
inline
G4int G4InuclElementaryParticle::getStrangeness ( G4int  type)
static

Definition at line 211 of file G4InuclElementaryParticle.cc.

References G4ParticleDefinition::GetAntiQuarkContent(), and G4ParticleDefinition::GetQuarkContent().

211  {
213  return pd ? (pd->GetQuarkContent(3) - pd->GetAntiQuarkContent(3)) : 0;
214 }
G4int GetAntiQuarkContent(G4int flavor) const
static G4ParticleDefinition * makeDefinition(G4int ityp)
G4int GetQuarkContent(G4int flavor) const
G4bool G4InuclElementaryParticle::hyperon ( ) const
inline
G4bool G4InuclElementaryParticle::isElectron ( ) const
inline
G4bool G4InuclElementaryParticle::isMuon ( ) const
inline
G4bool G4InuclElementaryParticle::isNeutrino ( ) const
inline
G4bool G4InuclElementaryParticle::isPhoton ( ) const
inline
G4ParticleDefinition * G4InuclElementaryParticle::makeDefinition ( G4int  ityp)
staticprotected

Definition at line 58 of file G4InuclElementaryParticle.cc.

References G4InuclParticleNames::alpha, G4InuclParticleNames::antiAlpha, G4InuclParticleNames::antiDeuteron, G4InuclParticleNames::antiElectronNu, G4InuclParticleNames::antiHe3, G4InuclParticleNames::antiMuonNu, G4InuclParticleNames::antiNeutron, G4InuclParticleNames::antiProton, G4InuclParticleNames::antiTauNu, G4InuclParticleNames::antiTriton, G4Diproton::Definition(), G4UnboundPN::Definition(), G4Dineutron::Definition(), G4KaonMinus::Definition(), G4XiMinus::Definition(), G4NeutrinoE::Definition(), G4OmegaMinus::Definition(), G4AntiNeutrinoE::Definition(), G4MuonMinus::Definition(), G4KaonZero::Definition(), G4MuonPlus::Definition(), G4NeutrinoMu::Definition(), G4AntiNeutrinoMu::Definition(), G4TauMinus::Definition(), G4PionMinus::Definition(), G4TauPlus::Definition(), G4AntiKaonZero::Definition(), G4PionZero::Definition(), G4AntiNeutrinoTau::Definition(), G4Lambda::Definition(), G4AntiProton::Definition(), G4PionPlus::Definition(), G4AntiNeutron::Definition(), G4NeutrinoTau::Definition(), G4KaonPlus::Definition(), G4SigmaPlus::Definition(), G4SigmaZero::Definition(), G4SigmaMinus::Definition(), G4XiZero::Definition(), G4Electron::Definition(), G4Positron::Definition(), G4Neutron::Definition(), G4Deuteron::Definition(), G4Triton::Definition(), G4Alpha::Definition(), G4He3::Definition(), G4AntiDeuteron::Definition(), G4AntiTriton::Definition(), G4AntiHe3::Definition(), G4AntiAlpha::Definition(), G4Proton::Definition(), G4Gamma::Definition(), G4InuclParticleNames::deuteron, G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, G4InuclParticleNames::electron, G4InuclParticleNames::electronNu, G4cerr, G4endl, G4InuclParticleNames::He3, G4InuclParticleNames::kaonMinus, G4InuclParticleNames::kaonPlus, G4InuclParticleNames::kaonZero, G4InuclParticleNames::kaonZeroBar, G4InuclParticleNames::lambda, G4InuclParticleNames::muonMinus, G4InuclParticleNames::muonNu, G4InuclParticleNames::muonPlus, G4InuclParticleNames::neutron, G4InuclParticleNames::omegaMinus, G4InuclParticleNames::photon, G4InuclParticleNames::pionMinus, G4InuclParticleNames::pionPlus, G4InuclParticleNames::pionZero, G4InuclParticleNames::positron, G4InuclParticleNames::proton, G4InuclParticleNames::sigmaMinus, G4InuclParticleNames::sigmaPlus, G4InuclParticleNames::sigmaZero, G4InuclParticleNames::tauMinus, G4InuclParticleNames::tauNu, G4InuclParticleNames::tauPlus, G4InuclParticleNames::triton, G4InuclParticleNames::unboundPN, G4InuclParticleNames::xiMinus, and G4InuclParticleNames::xiZero.

58  {
59  switch(ityp) {
60  case proton: return G4Proton::Definition(); break;
61  case neutron: return G4Neutron::Definition(); break;
62  case pionPlus: return G4PionPlus::Definition(); break;
63  case pionMinus: return G4PionMinus::Definition(); break;
64  case pionZero: return G4PionZero::Definition(); break;
65  case photon: return G4Gamma::Definition(); break;
66  case kaonPlus: return G4KaonPlus::Definition(); break;
67  case kaonMinus: return G4KaonMinus::Definition(); break;
68  case kaonZero: return G4KaonZero::Definition(); break;
69  case kaonZeroBar: return G4AntiKaonZero::Definition(); break;
70  case lambda: return G4Lambda::Definition(); break;
71  case sigmaPlus: return G4SigmaPlus::Definition(); break;
72  case sigmaZero: return G4SigmaZero::Definition(); break;
73  case sigmaMinus: return G4SigmaMinus::Definition(); break;
74  case xiZero: return G4XiZero::Definition(); break;
75  case xiMinus: return G4XiMinus::Definition(); break;
76  case omegaMinus: return G4OmegaMinus::Definition(); break;
77  // NOTE: The four light nuclei "particles" are actually G4Ions
78  case deuteron: return G4Deuteron::Definition(); break;
79  case triton: return G4Triton::Definition(); break;
80  case He3: return G4He3::Definition(); break;
81  case alpha: return G4Alpha::Definition(); break;
82  case antiProton: return G4AntiProton::Definition(); break;
83  case antiNeutron: return G4AntiNeutron::Definition(); break;
84  // NOTE: The the four light antinuclei "particles" are actually G4Ions
85  case antiDeuteron: return G4AntiDeuteron::Definition(); break;
86  case antiTriton: return G4AntiTriton::Definition(); break;
87  case antiHe3: return G4AntiHe3::Definition(); break;
88  case antiAlpha: return G4AntiAlpha::Definition(); break;
89  // NOTE: The three unbound dibaryons are local Bertini classes
90  case diproton: return G4Diproton::Definition(); break;
91  case unboundPN: return G4UnboundPN::Definition(); break;
92  case dineutron: return G4Dineutron::Definition(); break;
93  // Leptons are included for muon capture and future tau/neutrino physics
94  case electron: return G4Electron::Definition(); break;
95  case positron: return G4Positron::Definition(); break;
96  case electronNu: return G4NeutrinoE::Definition(); break;
97  case antiElectronNu: return G4AntiNeutrinoE::Definition(); break;
98  case muonMinus: return G4MuonMinus::Definition(); break;
99  case muonPlus: return G4MuonPlus::Definition(); break;
100  case muonNu: return G4NeutrinoMu::Definition(); break;
101  case antiMuonNu: return G4AntiNeutrinoMu::Definition(); break;
102  case tauMinus: return G4TauMinus::Definition(); break;
103  case tauPlus: return G4TauPlus::Definition(); break;
104  case tauNu: return G4NeutrinoTau::Definition(); break;
105  case antiTauNu: return G4AntiNeutrinoTau::Definition(); break;
106  default:
107  G4cerr << "G4InuclElementaryParticle::makeDefinition: unknown particle type "
108  << ityp << G4endl;
109  }
110 
111  return 0;
112 }
static G4SigmaZero * Definition()
Definition: G4SigmaZero.cc:52
static G4KaonMinus * Definition()
Definition: G4KaonMinus.cc:54
static G4PionPlus * Definition()
Definition: G4PionPlus.cc:52
static G4Triton * Definition()
Definition: G4Triton.cc:50
static G4XiMinus * Definition()
Definition: G4XiMinus.cc:53
static G4KaonZero * Definition()
Definition: G4KaonZero.cc:53
static G4AntiHe3 * Definition()
Definition: G4AntiHe3.cc:50
static G4AntiKaonZero * Definition()
static G4Alpha * Definition()
Definition: G4Alpha.cc:49
static G4MuonMinus * Definition()
Definition: G4MuonMinus.cc:52
static G4SigmaPlus * Definition()
Definition: G4SigmaPlus.cc:53
static G4Electron * Definition()
Definition: G4Electron.cc:49
static G4Diproton * Definition()
Definition: G4Diproton.cc:68
static G4Positron * Definition()
Definition: G4Positron.cc:49
static G4KaonPlus * Definition()
Definition: G4KaonPlus.cc:54
static G4Proton * Definition()
Definition: G4Proton.cc:49
static G4TauMinus * Definition()
Definition: G4TauMinus.cc:54
static G4AntiTriton * Definition()
Definition: G4AntiTriton.cc:50
static G4Deuteron * Definition()
Definition: G4Deuteron.cc:50
static G4AntiNeutrinoE * Definition()
static G4SigmaMinus * Definition()
Definition: G4SigmaMinus.cc:53
static G4TauPlus * Definition()
Definition: G4TauPlus.cc:54
static G4MuonPlus * Definition()
Definition: G4MuonPlus.cc:52
static G4AntiProton * Definition()
Definition: G4AntiProton.cc:51
static G4Lambda * Definition()
Definition: G4Lambda.cc:53
static G4NeutrinoTau * Definition()
static G4PionZero * Definition()
Definition: G4PionZero.cc:54
static G4AntiNeutrinoTau * Definition()
static G4NeutrinoMu * Definition()
Definition: G4NeutrinoMu.cc:49
static G4AntiAlpha * Definition()
Definition: G4AntiAlpha.cc:49
static G4AntiNeutrinoMu * Definition()
static G4Dineutron * Definition()
Definition: G4Dineutron.cc:68
static G4OmegaMinus * Definition()
Definition: G4OmegaMinus.cc:53
static G4PionMinus * Definition()
Definition: G4PionMinus.cc:52
static G4Neutron * Definition()
Definition: G4Neutron.cc:54
static G4XiZero * Definition()
Definition: G4XiZero.cc:53
#define G4endl
Definition: G4ios.hh:61
static G4He3 * Definition()
Definition: G4He3.cc:50
static G4NeutrinoE * Definition()
Definition: G4NeutrinoE.cc:49
static G4AntiNeutron * Definition()
static G4AntiDeuteron * Definition()
static G4Gamma * Definition()
Definition: G4Gamma.cc:49
static G4UnboundPN * Definition()
Definition: G4UnboundPN.cc:67
G4GLOB_DLL std::ostream G4cerr
G4bool G4InuclElementaryParticle::nucleon ( ) const
inline
G4InuclElementaryParticle & G4InuclElementaryParticle::operator= ( const G4InuclElementaryParticle right)

Definition at line 205 of file G4InuclElementaryParticle.cc.

References G4InuclParticle::operator=().

205  {
207  return *this;
208 }
G4InuclParticle & operator=(const G4InuclParticle &right)
G4bool G4InuclElementaryParticle::pion ( ) const
inline

Definition at line 114 of file G4InuclElementaryParticle.hh.

References G4InuclParticleNames::pion(), and type().

void G4InuclElementaryParticle::print ( std::ostream &  os) const
virtual

Reimplemented from G4InuclParticle.

Definition at line 224 of file G4InuclElementaryParticle.cc.

References G4endl, and G4InuclParticle::print().

224  {
226  os << G4endl << " Particle: " << getDefinition()->GetParticleName()
227  << " type " << type() << " mass " << getMass()
228  << " ekin " << getKineticEnergy();
229 }
const G4String & GetParticleName() const
G4double getKineticEnergy() const
virtual void print(std::ostream &os) const
#define G4endl
Definition: G4ios.hh:61
G4ParticleDefinition * getDefinition() const
G4double getMass() const
G4bool G4InuclElementaryParticle::quasi_deutron ( ) const
inline
void G4InuclElementaryParticle::setType ( G4int  ityp)

Definition at line 173 of file G4InuclElementaryParticle.cc.

173  {
175 }
static G4ParticleDefinition * makeDefinition(G4int ityp)
void setDefinition(G4ParticleDefinition *pd)
G4int G4InuclElementaryParticle::type ( ) const
inline
G4int G4InuclElementaryParticle::type ( const G4ParticleDefinition pd)
static

Definition at line 116 of file G4InuclElementaryParticle.cc.

References G4InuclParticleNames::alpha, G4InuclParticleNames::antiAlpha, G4InuclParticleNames::antiDeuteron, G4InuclParticleNames::antiElectronNu, G4InuclParticleNames::antiHe3, G4InuclParticleNames::antiMuonNu, G4InuclParticleNames::antiNeutron, G4InuclParticleNames::antiProton, G4InuclParticleNames::antiTauNu, G4InuclParticleNames::antiTriton, G4Diproton::Definition(), G4UnboundPN::Definition(), G4Dineutron::Definition(), G4KaonZero::Definition(), G4NeutrinoE::Definition(), G4AntiNeutrinoE::Definition(), G4OmegaMinus::Definition(), G4MuonMinus::Definition(), G4MuonPlus::Definition(), G4KaonZeroShort::Definition(), G4NeutrinoMu::Definition(), G4AntiNeutrinoMu::Definition(), G4AntiKaonZero::Definition(), G4TauMinus::Definition(), G4TauPlus::Definition(), G4NeutrinoTau::Definition(), G4AntiNeutrinoTau::Definition(), G4Lambda::Definition(), G4AntiProton::Definition(), G4KaonZeroLong::Definition(), G4PionPlus::Definition(), G4SigmaPlus::Definition(), G4AntiNeutron::Definition(), G4PionZero::Definition(), G4PionMinus::Definition(), G4SigmaZero::Definition(), G4KaonPlus::Definition(), G4SigmaMinus::Definition(), G4XiZero::Definition(), G4KaonMinus::Definition(), G4XiMinus::Definition(), G4Electron::Definition(), G4Proton::Definition(), G4Deuteron::Definition(), G4Triton::Definition(), G4Positron::Definition(), G4AntiDeuteron::Definition(), G4AntiTriton::Definition(), G4AntiHe3::Definition(), G4AntiAlpha::Definition(), G4Alpha::Definition(), G4He3::Definition(), G4Neutron::Definition(), G4Gamma::Definition(), G4InuclParticleNames::deuteron, G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, G4InuclParticleNames::electron, G4InuclParticleNames::electronNu, G4UniformRand, G4InuclParticleNames::He3, G4InuclParticleNames::kaonMinus, G4InuclParticleNames::kaonPlus, G4InuclParticleNames::kaonZero, G4InuclParticleNames::kaonZeroBar, G4InuclParticleNames::lambda, G4InuclParticleNames::muonMinus, G4InuclParticleNames::muonNu, G4InuclParticleNames::muonPlus, G4InuclParticleNames::neutron, G4InuclParticleNames::omegaMinus, G4InuclParticleNames::photon, G4InuclParticleNames::pionMinus, G4InuclParticleNames::pionPlus, G4InuclParticleNames::pionZero, G4InuclParticleNames::positron, G4InuclParticleNames::proton, G4InuclParticleNames::sigmaMinus, G4InuclParticleNames::sigmaPlus, G4InuclParticleNames::sigmaZero, G4InuclParticleNames::tauMinus, G4InuclParticleNames::tauNu, G4InuclParticleNames::tauPlus, G4InuclParticleNames::triton, G4InuclParticleNames::unboundPN, G4InuclParticleNames::xiMinus, and G4InuclParticleNames::xiZero.

116  {
117  if (pd == 0) return 0;
118  if (pd == G4Proton::Definition()) return proton;
119  if (pd == G4Neutron::Definition()) return neutron;
120  if (pd == G4PionPlus::Definition()) return pionPlus;
121  if (pd == G4PionMinus::Definition()) return pionMinus;
122  if (pd == G4PionZero::Definition()) return pionZero;
123  if (pd == G4Gamma::Definition()) return photon;
124  if (pd == G4KaonPlus::Definition()) return kaonPlus;
125  if (pd == G4KaonMinus::Definition()) return kaonMinus;
126  if (pd == G4KaonZero::Definition()) return kaonZero;
127  if (pd == G4AntiKaonZero::Definition()) return kaonZeroBar;
128  if (pd == G4Lambda::Definition()) return lambda;
129  if (pd == G4SigmaPlus::Definition()) return sigmaPlus;
130  if (pd == G4SigmaZero::Definition()) return sigmaZero;
131  if (pd == G4SigmaMinus::Definition()) return sigmaMinus;
132  if (pd == G4XiZero::Definition()) return xiZero;
133  if (pd == G4XiMinus::Definition()) return xiMinus;
134  if (pd == G4OmegaMinus::Definition()) return omegaMinus;
135  // NOTE: The four light nuclei "particles" are actually G4Ions
136  if (pd == G4Deuteron::Definition()) return deuteron;
137  if (pd == G4Triton::Definition()) return triton;
138  if (pd == G4He3::Definition()) return He3;
139  if (pd == G4Alpha::Definition()) return alpha;
140  if (pd == G4AntiProton::Definition()) return antiProton;
141  if (pd == G4AntiNeutron::Definition()) return antiNeutron;
142  // NOTE: The the four light antinuclei "particles" are actually G4Ions
143  if (pd == G4AntiDeuteron::Definition()) return antiDeuteron;
144  if (pd == G4AntiTriton::Definition()) return antiTriton;
145  if (pd == G4AntiHe3::Definition()) return antiHe3;
146  if (pd == G4AntiAlpha::Definition()) return antiAlpha;
147  // NOTE: The three unbound dibaryons are local Bertini classes
148  if (pd == G4Diproton::Definition()) return diproton;
149  if (pd == G4UnboundPN::Definition()) return unboundPN;
150  if (pd == G4Dineutron::Definition()) return dineutron;
151 
152  if (pd == G4Electron::Definition()) return electron;
153  if (pd == G4Positron::Definition()) return positron;
154  if (pd == G4NeutrinoE::Definition()) return electronNu;
155  if (pd == G4AntiNeutrinoE::Definition()) return antiElectronNu;
156  if (pd == G4MuonMinus::Definition()) return muonMinus;
157  if (pd == G4MuonPlus::Definition()) return muonPlus;
158  if (pd == G4NeutrinoMu::Definition()) return muonNu;
159  if (pd == G4AntiNeutrinoMu::Definition()) return antiMuonNu;
160  if (pd == G4TauMinus::Definition()) return tauMinus;
161  if (pd == G4TauPlus::Definition()) return tauPlus;
162  if (pd == G4NeutrinoTau::Definition()) return tauNu;
163  if (pd == G4AntiNeutrinoTau::Definition()) return antiTauNu;
164 
165  // Weak neutral kaons must be mixed back to strong (strangeness states)
167  return ((G4UniformRand() > 0.5) ? kaonZero : kaonZeroBar);
168  }
169 
170  return 0; // Unknown objects return zero (e.g., nuclei)
171 }
static G4SigmaZero * Definition()
Definition: G4SigmaZero.cc:52
static G4KaonMinus * Definition()
Definition: G4KaonMinus.cc:54
static G4PionPlus * Definition()
Definition: G4PionPlus.cc:52
static G4Triton * Definition()
Definition: G4Triton.cc:50
static G4XiMinus * Definition()
Definition: G4XiMinus.cc:53
static G4KaonZero * Definition()
Definition: G4KaonZero.cc:53
static G4AntiHe3 * Definition()
Definition: G4AntiHe3.cc:50
static G4AntiKaonZero * Definition()
static G4Alpha * Definition()
Definition: G4Alpha.cc:49
static G4MuonMinus * Definition()
Definition: G4MuonMinus.cc:52
static G4SigmaPlus * Definition()
Definition: G4SigmaPlus.cc:53
static G4Electron * Definition()
Definition: G4Electron.cc:49
static G4Diproton * Definition()
Definition: G4Diproton.cc:68
static G4Positron * Definition()
Definition: G4Positron.cc:49
static G4KaonPlus * Definition()
Definition: G4KaonPlus.cc:54
static G4Proton * Definition()
Definition: G4Proton.cc:49
static G4TauMinus * Definition()
Definition: G4TauMinus.cc:54
static G4AntiTriton * Definition()
Definition: G4AntiTriton.cc:50
static G4Deuteron * Definition()
Definition: G4Deuteron.cc:50
static G4AntiNeutrinoE * Definition()
static G4SigmaMinus * Definition()
Definition: G4SigmaMinus.cc:53
#define G4UniformRand()
Definition: Randomize.hh:87
static G4TauPlus * Definition()
Definition: G4TauPlus.cc:54
static G4MuonPlus * Definition()
Definition: G4MuonPlus.cc:52
static G4AntiProton * Definition()
Definition: G4AntiProton.cc:51
static G4Lambda * Definition()
Definition: G4Lambda.cc:53
static G4NeutrinoTau * Definition()
static G4PionZero * Definition()
Definition: G4PionZero.cc:54
static G4KaonZeroLong * Definition()
static G4AntiNeutrinoTau * Definition()
static G4NeutrinoMu * Definition()
Definition: G4NeutrinoMu.cc:49
static G4AntiAlpha * Definition()
Definition: G4AntiAlpha.cc:49
static G4AntiNeutrinoMu * Definition()
static G4Dineutron * Definition()
Definition: G4Dineutron.cc:68
static G4OmegaMinus * Definition()
Definition: G4OmegaMinus.cc:53
static G4PionMinus * Definition()
Definition: G4PionMinus.cc:52
static G4KaonZeroShort * Definition()
static G4Neutron * Definition()
Definition: G4Neutron.cc:54
static G4XiZero * Definition()
Definition: G4XiZero.cc:53
static G4He3 * Definition()
Definition: G4He3.cc:50
static G4NeutrinoE * Definition()
Definition: G4NeutrinoE.cc:49
static G4AntiNeutron * Definition()
static G4AntiDeuteron * Definition()
static G4Gamma * Definition()
Definition: G4Gamma.cc:49
static G4UnboundPN * Definition()
Definition: G4UnboundPN.cc:67
static G4bool G4InuclElementaryParticle::valid ( G4int  ityp)
inlinestatic

Definition at line 107 of file G4InuclElementaryParticle.hh.

107 { return ityp!=0; }
G4bool G4InuclElementaryParticle::valid ( ) const
inline

Definition at line 108 of file G4InuclElementaryParticle.hh.

References type(), and valid().

Referenced by G4CascadeInterface::createBullet(), and valid().


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