G4ParticleTypeConverter.cc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 
00027 #include "G4ParticleTypeConverter.hh"
00028 #include "G4HadronicException.hh"
00029 
00030 #include "G4Proton.hh"
00031 #include "G4Neutron.hh"
00032 #include "G4Gamma.hh"
00033 #include "G4PionPlus.hh"
00034 #include "G4PionZero.hh"
00035 #include "G4PionMinus.hh"
00036 #include "G4ParticleTable.hh"
00037 #include "G4ShortLivedConstructor.hh"
00038 #include "G4KaonMinus.hh"
00039 #include "G4KaonPlus.hh"
00040 #include "G4KaonZero.hh"
00041 #include "G4AntiKaonZero.hh"
00042 #include "G4KaonZeroShort.hh"
00043 #include "G4KaonZeroLong.hh"
00044 #include "G4Lambda.hh"
00045 
00046 G4ParticleTypeConverter::G4ParticleTypeConverter()
00047 {
00048   G4ShortLivedConstructor ShortLived;
00049   ShortLived.ConstructParticle();
00050 
00051   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4Proton::ProtonDefinition(), NUCLEON) );
00052   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4Neutron::NeutronDefinition(),  NUCLEON) );
00053   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4Gamma::GammaDefinition(),  GAMMA) );
00054   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4PionPlus::PionPlusDefinition(),  PION) );
00055   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4PionZero::PionZeroDefinition(),  PION) );
00056   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4PionMinus::PionMinusDefinition(),  PION) );
00057   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4KaonMinus::KaonMinusDefinition(),  KAON) );
00058   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4KaonPlus::KaonPlusDefinition(),  KAON) );
00059   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4KaonZero::KaonZeroDefinition(),  KAON) );
00060   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4AntiKaonZero::AntiKaonZeroDefinition(),  KAON) );
00061   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4KaonZeroShort::KaonZeroShortDefinition(),  KAON) );
00062   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4KaonZeroLong::KaonZeroLongDefinition(),  KAON) );
00063   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4Lambda::LambdaDefinition(),  Lambda) );
00064 
00065   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(221),  ETA) ); // eta
00066   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(113),  RHO) ); // rho0
00067   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(213),  RHO) ); // rho+
00068   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(-213),  RHO) ); // rho- ?????
00069   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(223),  omega) ); // omega
00070 
00071   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2224),  D1232) ); // D++
00072   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2214),  D1232) ); // D+
00073   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2114),  D1232) ); // D0
00074   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(1114),  D1232) ); // D-
00075   
00076   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(31114),  D1600) ); // D-
00077   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(32114),  D1600) ); // D0
00078   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(32214),  D1600) ); // D+
00079   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(32224),  D1600) ); // D++
00080   
00081   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(1112),  D1620) ); // D++
00082   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(1212),  D1620) ); // D++
00083   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2122),  D1620) ); // D++
00084   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2222),  D1620) ); // D++
00085   
00086   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(11114),  D1700) ); // D++
00087   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12114),  D1700) ); // D++
00088   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12214),  D1700) ); // D++
00089   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12224),  D1700) ); // D++
00090   
00091   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(11112),  D1900) ); 
00092   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(11212),  D1900) ); 
00093   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12122),  D1900) ); 
00094   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12222),  D1900) ); 
00095 
00096   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(1116),  D1905) ); 
00097   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(1216),  D1905) ); 
00098   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2126),  D1905) ); 
00099   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2226),  D1905) ); 
00100 
00101   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(21112),  D1910) ); 
00102   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(21212),  D1910) ); 
00103   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(22122),  D1910) ); 
00104   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(22222),  D1910) ); 
00105 
00106   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(21114),  D1920) ); 
00107   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(22114),  D1920) ); 
00108   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(22214),  D1920) ); 
00109   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(22224),  D1920) ); 
00110 
00111   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(11116),  D1930) ); 
00112   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(11216),  D1930) ); 
00113   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12126),  D1930) ); 
00114   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12226),  D1930) ); 
00115 
00116   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(1118),  D1950) ); 
00117   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2118),  D1950) ); 
00118   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2218),  D1950) ); 
00119   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2228),  D1950) ); 
00120 
00121   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12112),  N1440) ); // N0
00122   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12212),  N1440) ); // N+
00123   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(1214),  N1520) ); // N+
00124   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2124),  N1520) ); // N+
00125   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(22112),  N1535) ); // N+
00126   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(22212),  N1535) ); // N+
00127   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(32112),  N1650) ); // N+
00128   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(32212),  N1650) ); // N+
00129   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2116),  N1675) ); // N+
00130   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2216),  N1675) ); // N+
00131   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12116),  N1680) ); // N+
00132   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12216),  N1680) ); // N+
00133   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(22124),  N1700) ); // N+
00134   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(21214),  N1700) ); // N+
00135   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(42212),  N1710) ); // N+
00136   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(42112),  N1710) ); // N+
00137   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(32124),  N1720) ); // N+
00138   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(31214),  N1720) ); // N+
00139   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(42124),  N1900) ); // N+
00140   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(41214),  N1900) ); // N+
00141   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12218),  N1990) ); // N+
00142   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(12118),  N1990) ); // N+
00143   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(52214),  N2090) ); // N+
00144   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(52114),  N2090) ); // N+
00145   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(2128),  N2190) ); // N+
00146   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(1218),  N2190) ); // N+
00147   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(100002210),  N2220) ); // N+
00148   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(100002110),  N2220) ); // N+
00149   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(100012210),  N2250) ); // N+
00150   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(100012110),  N2250) ); // N+
00151 
00152   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13122),  L1405) ); 
00153   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3124),  L1520) ); 
00154   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23122),  L1600) ); 
00155   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(33122),  L1670) ); 
00156   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13124),  L1690) ); 
00157   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(43122),  L1800) ); 
00158   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(53122),  L1810) ); 
00159   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3126),  L1820) ); 
00160   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13126),  L1830) ); 
00161   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23124),  L1890) ); 
00162   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3128),  L2100) ); 
00163   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23126),  L2110) ); 
00164 
00165   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3222),  Sigma) ); 
00166   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3212),  Sigma) ); 
00167   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3112),  Sigma) ); 
00168   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3224),  S1385) ); 
00169   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3114),  S1385) ); 
00170   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3214),  S1385) ); 
00171   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13222),  S1660) ); 
00172   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13112),  S1660) ); 
00173   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13212),  S1660) ); 
00174   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13224),  S1670) ); 
00175   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13114),  S1670) ); 
00176   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13214),  S1670) ); 
00177   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23222),  S1750) ); 
00178   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23112),  S1750) ); 
00179   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23212),  S1750) ); 
00180   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3226),  S1775) ); 
00181   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3116),  S1775) ); 
00182   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3216),  S1775) ); 
00183   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13226),  S1915) ); 
00184   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13116),  S1915) ); 
00185   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13216),  S1915) ); 
00186   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23224),  S1940) ); 
00187   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23114),  S1940) ); 
00188   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23214),  S1940) ); 
00189   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3228),  S2030) ); 
00190   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3118),  S2030) ); 
00191   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3218),  S2030) ); 
00192 
00193   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3324),  X1530) ); 
00194   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(3314),  X1530) ); 
00195   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23324),  X1690) ); 
00196   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(23314),  X1690) ); 
00197   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13324),  X1820) ); 
00198   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13314),  X1820) ); 
00199   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(33324),  X1950) ); 
00200   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(33314),  X1950) ); 
00201   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13326),  X2030) ); 
00202   defMap.push_back(std::pair<const G4ParticleDefinition*, GenericType>(G4ParticleTable::GetParticleTable()->FindParticle(13316),  X2030) ); 
00203 
00204 
00205 //   uMap[NUCLEON] =   1;
00206 //   uMap[N1440]   =   2;
00207 //   uMap[D1232]   =  12;
00208 //   uMap[D1600]   =  13;
00209 //   uMap[GAMMA]   = 100;
00210 //   uMap[PION]    = 101;
00211 }
00212 
00213 
00214 G4ParticleTypeConverter::GenericType G4ParticleTypeConverter::GetGenericType(const G4ParticleDefinition* const aParticleDef) 
00215 {
00216   size_t i=0;
00217   for(i=0;i<defMap.size(); i++)
00218   {
00219     if(defMap[i].first == aParticleDef) return defMap[i].second;
00220   }
00221   
00222 //GF  G4cerr << "Unknown Particle : " << aParticleDef->GetParticleName() << G4endl;
00223   return UNKNOWN;
00224 //  throw G4HadronicException(__FILE__, __LINE__, "G4ParticleTypeConverter: unknown particle type!");
00225 }
00226  
00227 
00228 G4ParticleTypeConverter::GenericType G4ParticleTypeConverter::GetGenericType(const G4KineticTrack& aTrack) 
00229 { 
00230   return GetGenericType(aTrack.GetDefinition()); 
00231 }
00232 
00233 
00234 G4int G4ParticleTypeConverter::GetUrqmdItyp(G4ParticleTypeConverter::GenericType ) 
00235 {
00236   //if (uMap.find(gType)!=uMap.end())
00237   // hpw return uMap.operator[](gType); 
00238   //else
00239   throw G4HadronicException(__FILE__, __LINE__, "G4ParticleTypeConverter: unknown particle type!");
00240   return 0;
00241 }
00242 
00243 
00244 const G4ParticleDefinition* G4ParticleTypeConverter::FindIso3State(const G4ParticleTypeConverter::GenericType gType,
00245                                                                    const G4int isospin3) 
00246 {
00247   MapIterator iter;
00248   for (iter = defMap.begin(); iter!=defMap.end(); ++iter) {
00249     G4ParticleTypeConverter::GenericType foo = (*iter).second;
00250     if (gType==foo) {
00251 //      G4cout << "convtype " << ((*iter).first)->GetParticleName() << G4endl;
00252 //      G4cout << "conviso3 " << ((*iter).first)->GetPDGiIsospin3() << G4endl;
00253       if (((*iter).first)->GetPDGiIsospin3()==isospin3)
00254         return (*iter).first;
00255     }
00256   }
00257 //  G4cout << "FindIso3State: can't find " << static_cast<G4int>(gType) << " with iso3 " << isospin3 << G4endl;
00258   return NULL;
00259 }

Generated on Mon May 27 17:49:16 2013 for Geant4 by  doxygen 1.4.7