G4QPDGToG4Particle Class Reference

#include <G4QPDGToG4Particle.hh>


Public Member Functions

 ~G4QPDGToG4Particle ()
G4ParticleDefinitionGetParticleDefinition (G4int PDGCode)
void DefineAllParticles ()

Static Public Member Functions

static G4QPDGToG4ParticleGet ()

Protected Member Functions

 G4QPDGToG4Particle ()


Detailed Description

Definition at line 48 of file G4QPDGToG4Particle.hh.


Constructor & Destructor Documentation

G4QPDGToG4Particle::G4QPDGToG4Particle (  )  [protected]

Definition at line 47 of file G4QPDGToG4Particle.cc.

References G4HadronicDeprecate.

00048 {
00049   G4HadronicDeprecate("G4QPDGToG4Particle");
00050 }

G4QPDGToG4Particle::~G4QPDGToG4Particle (  ) 

Definition at line 52 of file G4QPDGToG4Particle.cc.

00053 {
00054 }


Member Function Documentation

void G4QPDGToG4Particle::DefineAllParticles (  ) 

Definition at line 360 of file G4QPDGToG4Particle.cc.

References G4AntiBMesonZero::AntiBMesonZeroDefinition(), G4AntiBsMesonZero::AntiBsMesonZeroDefinition(), G4AntiDMesonZero::AntiDMesonZeroDefinition(), G4AntiKaonZero::AntiKaonZeroDefinition(), G4AntiLambdacPlus::AntiLambdacPlusDefinition(), G4AntiLambda::AntiLambdaDefinition(), G4AntiNeutrinoE::AntiNeutrinoEDefinition(), G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(), G4AntiNeutrinoTau::AntiNeutrinoTauDefinition(), G4AntiNeutron::AntiNeutronDefinition(), G4AntiOmegacZero::AntiOmegacZeroDefinition(), G4AntiOmegaMinus::AntiOmegaMinusDefinition(), G4AntiProton::AntiProtonDefinition(), G4AntiSigmacPlus::AntiSigmacPlusDefinition(), G4AntiSigmacPlusPlus::AntiSigmacPlusPlusDefinition(), G4AntiSigmacZero::AntiSigmacZeroDefinition(), G4AntiSigmaMinus::AntiSigmaMinusDefinition(), G4AntiSigmaPlus::AntiSigmaPlusDefinition(), G4AntiSigmaZero::AntiSigmaZeroDefinition(), G4AntiXicPlus::AntiXicPlusDefinition(), G4AntiXicZero::AntiXicZeroDefinition(), G4AntiXiMinus::AntiXiMinusDefinition(), G4AntiXiZero::AntiXiZeroDefinition(), G4BMesonMinus::BMesonMinusDefinition(), G4BMesonPlus::BMesonPlusDefinition(), G4BMesonZero::BMesonZeroDefinition(), G4BsMesonZero::BsMesonZeroDefinition(), G4DMesonMinus::DMesonMinusDefinition(), G4DMesonPlus::DMesonPlusDefinition(), G4DMesonZero::DMesonZeroDefinition(), G4DsMesonMinus::DsMesonMinusDefinition(), G4DsMesonPlus::DsMesonPlusDefinition(), G4Electron::ElectronDefinition(), G4Eta::EtaDefinition(), G4EtaPrime::EtaPrimeDefinition(), G4Gamma::GammaDefinition(), G4JPsi::JPsiDefinition(), G4KaonMinus::KaonMinusDefinition(), G4KaonPlus::KaonPlusDefinition(), G4KaonZero::KaonZeroDefinition(), G4KaonZeroLong::KaonZeroLongDefinition(), G4KaonZeroShort::KaonZeroShortDefinition(), G4LambdacPlus::LambdacPlusDefinition(), G4Lambda::LambdaDefinition(), G4MuonMinus::MuonMinusDefinition(), G4MuonPlus::MuonPlusDefinition(), G4NeutrinoE::NeutrinoEDefinition(), G4NeutrinoMu::NeutrinoMuDefinition(), G4NeutrinoTau::NeutrinoTauDefinition(), G4Neutron::NeutronDefinition(), G4OmegacZero::OmegacZeroDefinition(), G4OmegaMinus::OmegaMinusDefinition(), G4PionMinus::PionMinusDefinition(), G4PionPlus::PionPlusDefinition(), G4PionZero::PionZeroDefinition(), G4Positron::PositronDefinition(), G4Proton::ProtonDefinition(), G4SigmacPlus::SigmacPlusDefinition(), G4SigmacPlusPlus::SigmacPlusPlusDefinition(), G4SigmacZero::SigmacZeroDefinition(), G4SigmaMinus::SigmaMinusDefinition(), G4SigmaPlus::SigmaPlusDefinition(), G4SigmaZero::SigmaZeroDefinition(), G4TauMinus::TauMinusDefinition(), G4TauPlus::TauPlusDefinition(), G4XicPlus::XicPlusDefinition(), G4XicZero::XicZeroDefinition(), G4XiMinus::XiMinusDefinition(), and G4XiZero::XiZeroDefinition().

00361 {
00362   //=---------= LEPTONS =---------------=
00363   G4Gamma::GammaDefinition();
00364   G4MuonPlus::MuonPlusDefinition();
00365   G4MuonMinus::MuonMinusDefinition();
00366   G4TauMinus::TauMinusDefinition();
00367   G4TauPlus::TauPlusDefinition();
00368   G4Electron::ElectronDefinition();
00369   G4Positron::PositronDefinition();
00370   G4NeutrinoTau::NeutrinoTauDefinition();
00371   G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
00372   G4NeutrinoMu::NeutrinoMuDefinition();
00373   G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
00374   G4NeutrinoE::NeutrinoEDefinition();
00375   G4AntiNeutrinoE::AntiNeutrinoEDefinition();
00376   //=--------------= MESONS =---------------=
00377   G4PionPlus::PionPlusDefinition();
00378   G4PionMinus::PionMinusDefinition();
00379   G4PionZero::PionZeroDefinition();
00380   G4Eta::EtaDefinition();
00381   G4EtaPrime::EtaPrimeDefinition();
00382   G4KaonPlus::KaonPlusDefinition();
00383   G4KaonMinus::KaonMinusDefinition();
00384   G4KaonZero::KaonZeroDefinition();
00385   G4AntiKaonZero::AntiKaonZeroDefinition();
00386   G4KaonZeroLong::KaonZeroLongDefinition();
00387   G4KaonZeroShort::KaonZeroShortDefinition();
00388   G4DMesonPlus::DMesonPlusDefinition();
00389   G4DMesonMinus::DMesonMinusDefinition();
00390   G4DMesonZero::DMesonZeroDefinition();
00391   G4AntiDMesonZero::AntiDMesonZeroDefinition();
00392   G4DsMesonPlus::DsMesonPlusDefinition();
00393   G4DsMesonMinus::DsMesonMinusDefinition();
00394   G4JPsi::JPsiDefinition();
00395   G4BMesonPlus::BMesonPlusDefinition();
00396   G4BMesonMinus::BMesonMinusDefinition();
00397   G4BMesonZero::BMesonZeroDefinition();
00398   G4AntiBMesonZero::AntiBMesonZeroDefinition();
00399   G4BsMesonZero::BsMesonZeroDefinition();
00400   G4AntiBsMesonZero::AntiBsMesonZeroDefinition();
00401   // =---------= BARYONS =-----------=
00402   G4Proton::ProtonDefinition();
00403   G4AntiProton::AntiProtonDefinition();
00404   G4Neutron::NeutronDefinition();
00405   G4AntiNeutron::AntiNeutronDefinition();
00406   G4Lambda::LambdaDefinition();
00407   G4SigmaPlus::SigmaPlusDefinition();
00408   G4SigmaZero::SigmaZeroDefinition();
00409   G4SigmaMinus::SigmaMinusDefinition();
00410   G4XiMinus::XiMinusDefinition();
00411   G4XiZero::XiZeroDefinition();
00412   G4OmegaMinus::OmegaMinusDefinition();
00413   G4AntiLambda::AntiLambdaDefinition();
00414   G4AntiSigmaPlus::AntiSigmaPlusDefinition();
00415   G4AntiSigmaZero::AntiSigmaZeroDefinition();
00416   G4AntiSigmaMinus::AntiSigmaMinusDefinition();
00417   G4AntiXiMinus::AntiXiMinusDefinition();
00418   G4AntiXiZero::AntiXiZeroDefinition();
00419   G4AntiOmegaMinus::AntiOmegaMinusDefinition();
00420   G4LambdacPlus::LambdacPlusDefinition();
00421   G4SigmacPlusPlus::SigmacPlusPlusDefinition();
00422   G4SigmacPlus::SigmacPlusDefinition();
00423   G4SigmacZero::SigmacZeroDefinition();
00424   G4XicPlus::XicPlusDefinition();
00425   G4XicZero::XicZeroDefinition();
00426   G4OmegacZero::OmegacZeroDefinition();
00427   G4AntiLambdacPlus::AntiLambdacPlusDefinition();
00428   G4AntiSigmacPlusPlus::AntiSigmacPlusPlusDefinition();
00429   G4AntiSigmacPlus::AntiSigmacPlusDefinition();
00430   G4AntiSigmacZero::AntiSigmacZeroDefinition();
00431   G4AntiXicPlus::AntiXicPlusDefinition();
00432   G4AntiXicZero::AntiXicZeroDefinition();
00433   G4AntiOmegacZero::AntiOmegacZeroDefinition();
00434 }

G4QPDGToG4Particle * G4QPDGToG4Particle::Get (  )  [static]

Definition at line 57 of file G4QPDGToG4Particle.cc.

Referenced by G4QCaptureAtRest::AtRestDoIt(), G4QInelastic::PostStepDoIt(), and G4QAtomicElectronScattering::PostStepDoIt().

00058 {
00059   static G4QPDGToG4Particle theMap;        // *** Static body of the G4QPDGToG4Particle ***
00060   return &theMap;
00061 }

G4ParticleDefinition * G4QPDGToG4Particle::GetParticleDefinition ( G4int  PDGCode  ) 

Definition at line 63 of file G4QPDGToG4Particle.cc.

References G4AntiBMesonZero::AntiBMesonZero(), G4AntiBsMesonZero::AntiBsMesonZero(), G4AntiDMesonZero::AntiDMesonZero(), G4AntiKaonZero::AntiKaonZero(), G4AntiLambda::AntiLambda(), G4AntiLambdacPlus::AntiLambdacPlus(), G4AntiNeutrinoE::AntiNeutrinoE(), G4AntiNeutrinoMu::AntiNeutrinoMu(), G4AntiNeutrinoTau::AntiNeutrinoTau(), G4AntiNeutron::AntiNeutron(), G4AntiOmegacZero::AntiOmegacZero(), G4AntiOmegaMinus::AntiOmegaMinus(), G4AntiProton::AntiProton(), G4AntiSigmacPlus::AntiSigmacPlus(), G4AntiSigmacPlusPlus::AntiSigmacPlusPlus(), G4AntiSigmacZero::AntiSigmacZero(), G4AntiSigmaMinus::AntiSigmaMinus(), G4AntiSigmaPlus::AntiSigmaPlus(), G4AntiSigmaZero::AntiSigmaZero(), G4AntiXicPlus::AntiXicPlus(), G4AntiXicZero::AntiXicZero(), G4AntiXiMinus::AntiXiMinus(), G4AntiXiZero::AntiXiZero(), G4BMesonMinus::BMesonMinus(), G4BMesonPlus::BMesonPlus(), G4BMesonZero::BMesonZero(), G4BsMesonZero::BsMesonZero(), G4DMesonMinus::DMesonMinus(), G4DMesonPlus::DMesonPlus(), G4DMesonZero::DMesonZero(), G4DsMesonMinus::DsMesonMinus(), G4DsMesonPlus::DsMesonPlus(), G4Electron::Electron(), G4Eta::Eta(), G4EtaPrime::EtaPrime(), G4cout, G4endl, G4Gamma::Gamma(), G4JPsi::JPsi(), G4KaonMinus::KaonMinus(), G4KaonPlus::KaonPlus(), G4KaonZero::KaonZero(), G4KaonZeroLong::KaonZeroLong(), G4KaonZeroShort::KaonZeroShort(), G4Lambda::Lambda(), G4LambdacPlus::LambdacPlus(), G4MuonMinus::MuonMinus(), G4MuonPlus::MuonPlus(), G4NeutrinoE::NeutrinoE(), G4NeutrinoMu::NeutrinoMu(), G4NeutrinoTau::NeutrinoTau(), G4Neutron::Neutron(), G4OmegacZero::OmegacZero(), G4OmegaMinus::OmegaMinus(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4Positron::Positron(), G4Proton::Proton(), G4SigmacPlus::SigmacPlus(), G4SigmacPlusPlus::SigmacPlusPlus(), G4SigmacZero::SigmacZero(), G4SigmaMinus::SigmaMinus(), G4SigmaPlus::SigmaPlus(), G4SigmaZero::SigmaZero(), G4TauMinus::TauMinus(), G4TauPlus::TauPlus(), G4XicPlus::XicPlus(), G4XicZero::XicZero(), G4XiMinus::XiMinus(), and G4XiZero::XiZero().

Referenced by G4QCaptureAtRest::AtRestDoIt(), G4QInelastic::PostStepDoIt(), and G4QAtomicElectronScattering::PostStepDoIt().

00064 {
00065   if(!PDG) return 0;
00066   else if(PDG>0)     // Positive PDG Code
00067   {
00068     if(PDG<100)
00069     {
00070       if(PDG==22) return G4Gamma::Gamma();
00071       else if(PDG>10 && PDG<17)
00072       {
00073         if(PDG<13)
00074         {
00075           if(PDG==11) return G4Electron::Electron();
00076           else return G4NeutrinoE::NeutrinoE();
00077         }
00078         else
00079         {
00080           if(PDG<15)
00081           {
00082             if(PDG==13) return G4MuonMinus::MuonMinus();
00083             else return G4NeutrinoMu::NeutrinoMu();
00084           }
00085           else
00086           {
00087             if(PDG==15) return G4TauMinus::TauMinus();
00088             else return G4NeutrinoTau::NeutrinoTau();
00089           }
00090         }
00091       }
00092       else return 0; // @@ Warning can be added
00093     } // End of the Lepton definition
00094     else if(PDG<1000)
00095     {
00096       if(PDG<420)
00097       {
00098         if(PDG<320)
00099         {
00100           if(PDG==211) return G4PionPlus::PionPlus();
00101           else if(PDG==111) return G4PionZero::PionZero();
00102           else if(PDG==130) return G4KaonZeroLong::KaonZeroLong();
00103           else if(PDG==221) return G4Eta::Eta();
00104           else if(PDG==311) return G4KaonZero::KaonZero();
00105           else return 0; // @@ Warning can be added
00106         }
00107         else
00108         {
00109           if(PDG==321) return G4KaonPlus::KaonPlus();
00110           else if(PDG==331) return G4EtaPrime::EtaPrime();
00111           else if(PDG==310) return G4KaonZeroShort::KaonZeroShort();
00112           else if(PDG==411) return G4DMesonPlus::DMesonPlus();
00113           else return 0; // @@ Warning can be added
00114         }
00115       }
00116       else
00117       {
00118         if(PDG<500)
00119         {
00120           if(PDG==421) return G4DMesonZero::DMesonZero();
00121           else if(PDG==431) return G4DsMesonPlus::DsMesonPlus();
00122           else if(PDG==443) return G4JPsi::JPsi();
00123           else return 0; // @@ Warning can be added
00124         }
00125         else
00126         {
00127           if(PDG==521) return G4BMesonPlus::BMesonPlus();
00128           else if(PDG==511) return G4BMesonZero::BMesonZero();
00129           else if(PDG==531) return G4BsMesonZero::BsMesonZero();
00130           else return 0; // @@ Warning can be added
00131         }
00132       }
00133     } // Emd of the Meson definition
00134     else
00135     {
00136       if(PDG<3333)
00137       {
00138         if(PDG<3211)
00139         {
00140           if(PDG<3111)
00141           {
00142             if(PDG==2112) return G4Neutron::Neutron();
00143             else if(PDG==2212) return G4Proton::Proton();
00144             else return 0; // @@ Warning can be added
00145           }
00146           else
00147           {
00148             if(PDG==3112) return G4SigmaMinus::SigmaMinus();
00149             else if(PDG==3122) return G4Lambda::Lambda();
00150             else return 0; // @@ Warning can be added
00151           }
00152         }
00153         else
00154         {
00155           if(PDG<3311)
00156           {
00157             if(PDG==3222) return G4SigmaPlus::SigmaPlus();
00158             else if(PDG==3212) return G4SigmaZero::SigmaZero();
00159             else return 0; // @@ Warning can be added
00160           }
00161           else
00162           {
00163             if(PDG==3312) return G4XiMinus::XiMinus();
00164             else if(PDG==3322) return G4XiZero::XiZero();
00165             else return 0; // @@ Warning can be added
00166           }
00167         }
00168       }
00169       else
00170       {
00171         if(PDG<4221)
00172         {
00173           if(PDG<4121)
00174           {
00175             if(PDG==3334) return G4OmegaMinus::OmegaMinus();
00176             else if(PDG==4112) return G4SigmacZero::SigmacZero();
00177             else return 0; // @@ Warning can be added
00178           }
00179           else
00180           {
00181             if(PDG==4122) return G4LambdacPlus::LambdacPlus();
00182             else if(PDG==4212) return G4SigmacPlus::SigmacPlus();
00183             else return 0; // @@ Warning can be added
00184           }
00185         }
00186         else
00187         {
00188           if(PDG<4231)
00189           {
00190             if(PDG==4222) return G4SigmacPlusPlus::SigmacPlusPlus();
00191             else if(PDG==4232) return G4XicPlus::XicPlus();
00192             else return 0; // @@ Warning can be added
00193           }
00194           else
00195           {
00196             if(PDG==4132) return G4XicZero::XicZero();
00197             else if(PDG==4332) return G4OmegacZero::OmegacZero();
00198             else return 0; // @@ Warning can be added
00199           }
00200         }
00201       }
00202     } // End of Baryon definition
00203   } 
00204   else               // Negative PDG Code
00205   {
00206     G4int aPDG=-PDG;
00207 #ifdef pdebug
00208     G4cout<<"G4QPDGToG4Particle:Antiparticle PDG="<<PDG<<G4endl;
00209 #endif
00210     if(aPDG<100)
00211     {
00212       if(aPDG>10 && aPDG<17)
00213       {
00214         if(aPDG<13)
00215         {
00216           if(aPDG==11) return G4Positron::Positron();
00217           else return G4AntiNeutrinoE::AntiNeutrinoE();
00218         }
00219         else
00220         {
00221           if(aPDG<15)
00222           {
00223             if(aPDG==13) return G4MuonPlus::MuonPlus();
00224             else return G4AntiNeutrinoMu::AntiNeutrinoMu();
00225           }
00226           else
00227           {
00228             if(aPDG==15) return G4TauPlus::TauPlus();
00229             else return G4AntiNeutrinoTau::AntiNeutrinoTau();
00230           }
00231         }
00232       }
00233       else return 0; // @@ Warning can be added
00234     } // End of the Anti-Lepton definition
00235     else if(aPDG<1000)
00236     {
00237 #ifdef pdebug
00238       G4cout<<"G4QPDGToG4Particle:AntiMesons aPDG="<<aPDG<<G4endl;
00239 #endif
00240       if(aPDG<420)
00241       {
00242 #ifdef pdebug
00243        G4cout<<"G4QPDGToG4Particle:AntiSU(3)Mesons aPDG="<<aPDG<<G4endl;
00244 #endif
00245         if(aPDG<320)
00246         {
00247 #ifdef pdebug
00248           G4cout<<"G4QPDGToG4Particle:AntiPi&KMesons aPDG="<<aPDG<<G4endl;
00249 #endif
00250           if(aPDG==211) return G4PionMinus::PionMinus();
00251           else if(aPDG==311) return G4AntiKaonZero::AntiKaonZero();
00252           else return 0; // @@ Warning can be added
00253         }
00254         else
00255         {
00256 #ifdef pdebug
00257           G4cout<<"G4QPDGToG4Particle:AntiK&DMesons aPDG="<<aPDG<<G4endl;
00258 #endif
00259           if(aPDG==321) 
00260           {
00261 #ifdef pdebug
00262             G4cout<<"G4QPDGToG4Particle:KaonMinus aPDG="<<aPDG<<G4endl;
00263 #endif
00264             return G4KaonMinus::KaonMinus();
00265           }
00266           else if(aPDG==411) return G4DMesonMinus::DMesonMinus();
00267           else return 0; // @@ Warning can be added
00268         }
00269       }
00270       else
00271       {
00272         if(aPDG<500)
00273         {
00274           if(aPDG==421) return G4AntiDMesonZero::AntiDMesonZero();
00275           else if(aPDG==431) return G4DsMesonMinus::DsMesonMinus();
00276           else return 0; // @@ Warning can be added
00277         }
00278         else
00279         {
00280           if(aPDG==521) return G4BMesonMinus::BMesonMinus();
00281           else if(aPDG==511) return G4AntiBMesonZero::AntiBMesonZero();
00282           else if(aPDG==531) return G4AntiBsMesonZero::AntiBsMesonZero();
00283           else return 0; // @@ Warning can be added
00284         }
00285       }
00286     } // Emd of the Anti-Meson definition
00287     else
00288     {
00289       if(aPDG<3333)
00290       {
00291         if(aPDG<3211)
00292         {
00293           if(aPDG<3111)
00294           {
00295             if(aPDG==2112) return G4AntiNeutron::AntiNeutron();
00296             else if(aPDG==2212) return G4AntiProton::AntiProton();
00297             else return 0; // @@ Warning can be added
00298           }
00299           else
00300           {
00301             if(aPDG==3112) return G4AntiSigmaMinus::AntiSigmaMinus();
00302             else if(aPDG==3122) return G4AntiLambda::AntiLambda();
00303             else return 0; // @@ Warning can be added
00304           }
00305         }
00306         else
00307         {
00308           if(aPDG<3311)
00309           {
00310             if(aPDG==3222) return G4AntiSigmaPlus::AntiSigmaPlus();
00311             else if(aPDG==3212) return G4AntiSigmaZero::AntiSigmaZero();
00312             else return 0; // @@ Warning can be added
00313           }
00314           else
00315           {
00316             if(aPDG==3312) return G4AntiXiMinus::AntiXiMinus();
00317             else if(aPDG==3322) return G4AntiXiZero::AntiXiZero();
00318             else return 0; // @@ Warning can be added
00319           }
00320         }
00321       }
00322       else
00323       {
00324         if(aPDG<4221)
00325         {
00326           if(aPDG<4121)
00327           {
00328             if(aPDG==3334) return G4AntiOmegaMinus::AntiOmegaMinus();
00329             else if(aPDG==4112) return G4AntiSigmacZero::AntiSigmacZero();
00330             else return 0; // @@ Warning can be added
00331           }
00332           else
00333           {
00334             if(aPDG==4122) return G4AntiLambdacPlus::AntiLambdacPlus();
00335             else if(aPDG==4212) return G4AntiSigmacPlus::AntiSigmacPlus();
00336             else return 0; // @@ Warning can be added
00337           }
00338         }
00339         else
00340         {
00341           if(aPDG<4231)
00342           {
00343             if(aPDG==4222) return G4AntiSigmacPlusPlus::AntiSigmacPlusPlus();
00344             else if(aPDG==4232) return G4AntiXicPlus::AntiXicPlus();
00345             else return 0; // @@ Warning can be added
00346           }
00347           else
00348           {
00349             if(aPDG==4132) return G4AntiXicZero::AntiXicZero();
00350             else if(aPDG==4332) return G4AntiOmegacZero::AntiOmegacZero();
00351             else return 0; // @@ Warning can be added
00352           }
00353         }
00354       }
00355     } // End of Anti-Baryon definition
00356   } // End of Anti-particle definition
00357   return 0;
00358 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:14 2013 for Geant4 by  doxygen 1.4.7